Release Notes

What's New in Crescendo SDK 2.0.3

This version provides the following improvements with respect to the previous version:

New Features

  • Redacted sensitive information from logs by default, ensuring that it is not included even when the DEBUG log level is enabled. There is a way to log the sensitive information, if required, by using the --log-sensitive parameter in the CLI Tool or by calling the SetLogSensitiveData() method in the SDK with the Boolean input parameter set to true. Use with caution.

    Full list of redacted details:

    • PIN

    • PUK

    • XAUTH key when importing without SKI

    • XAUTH & FIDO challenge responses

    • PKI private keys when importing without SKI

    • OTP keys when importing without SKI

    • Static Password when importing without SKI

  • Added support for classifying both public and private keys as either imported or generated. The ListPIVProperties() function (CLI command piv-props-get) now reflects this by reporting NotInitialized, GeneratedOnToken, or InjectedToToken in the PrivateKeyInitialized and PublicKeyInitialized fields for each key. Previously, these fields contained only a Boolean value indicating whether the key was initialized.

  • Added an optional Boolean parameter importCACerts to the PIVPutPKIData() function, allowing CA certificate import to be disabled when importing a certificate chain. By default, the parameter is set to true, so all certificates in the chain are imported as before.

  • Modified the CardManager selection so that the APDU no longer includes the applet AID in the data field, as advised by NXP. This change selects the Issuer Security Domain and ensures that the token always returns response data (FCI information).

  • Updated the list of supported devices and their properties:

    • Updated the device with ATR 3B8580018073C821100E to be identified as Crescendo 3000 CL FIDO instead of Crescendo CL FIDO, and updated its FIDOMDSMetadata value to HID Crescendo 3000 FIDO.

    • Removed the device with ATR 3BDA96FF8191FE1FC343343030302D4649444FEF from the list of supported devices, as it was a preproduction engineering sample not intended for production use.

Bug Fixes

  • Fixed an issue in PIVChangePKISlotACR() where, under certain conditions, empty slots were incorrectly identified as already personalized, preventing the ACR from being set. Empty slots are now correctly recognized as not personalized, allowing the ACR to be set as expected.