Skip to content

1.12.0 - December 2024 Release

Compare
Choose a tag to compare
@DennisDyallo DennisDyallo released this 17 Dec 22:25
· 500 commits to develop since this release
ad2f18b

1.12.0

Release date: December 18th, 2024

Features:

  • Security Domain application and Secure Channel Protocol (SCP) (#164):

    • SCP11a/b/c is now supported for the PIV, OATH, OTP, and YubiHSM applications.
    • SCP03 support has been extended to the OATH, OTP, and YubiHSM applications (previously PIV only).
    • The Yubico.YubiKey.Scp namespace now provides all SCP and Security Domain functionality. This namepace replaces functionality in the Yubico.YubiKey.Scp03 namespace, which has been deprecated.
    • The new SecurityDomainSession class provides an interface for managing the Security Domain application of a YubiKey. This includes SCP configuration (managing SCP03 key sets and SCP11 asymmetric keys and certificates) and creation of an encrypted communication channel with other YubiKey applications.
    • New key parameter classes have been added: ScpKeyParameters, Scp03KeyParameters, Scp11KeyParameters, ECKeyParameters, ECPrivateKeyParameters, ECPublicKeyParameters.
  • YubiKeyDeviceListener has been reconfigured to run the listeners in the background instead of the main thread. In addition, the listeners can now be stopped when needed to reclaim resources. Once stopped, the listeners can be restarted. (#89)

  • Microsoft.Extensions.Logging.Console is now the default logger. To enable logging from a dependent project (e.g. unit tests, integration tests, an app), you can either add an appsettings.json to your project or use the ConfigureLoggerFactory. (#139)

  • The SDK now uses inferred variable types (var) instead of explicit types in all projects except Yubico.Core. This change aims to improve code readability, reduce verbosity, and enhance developer productivity while maintaining type safety. (#141)

Bug Fixes:

  • The PivSession.ChangeManagementKey method was incorrectly assuming Triple-DES was the default management key algorithm for FIPS keys. The SDK now verifies the management key alorithm based on key type and firmware version. (#162, #167)
  • The SDK now correctly sets the IYubiKeyDeviceInfo property IsSkySeries to True for YubiKey Security Key Series Enterprise Edition keys. (#158)
  • Exceptions are now caught when running PivSession.Dispose. This fixes an issue where the Dispose method could not close the Connection in the event of a disconnected YubiKey. (#104)
  • A dynamic DLL resolution based on process architecture (x86/x64) has been implemented for NativeShims.dll. This fixes a reported issue with the NativeShims.dll location for 32-bit processes. (#154)

Miscellaneous:

  • Users are now able to verify that the NuGet package has been generated from our repository using Github Attestations (#169) like this:

    > gh attestation verify .\Yubico.Core.1.12.0.nupkg --repo Yubico/Yubico.NET.SDK

Deprecations:

  • Yubico.YubiKey/Scp03 namespace.
  • All Yubico.Yubikey.StaticKeys endpoints.

Migration Notes:

  • Use the SecurityDomainSession for Security Domain operations.
  • Review your logging configuration if using custom logging.
  • Align with Android/Python SDK naming conventions.

Full Changelog: 1.11.0...1.12.0