Skip to content

1.3.0 - March 2022 release

Compare
Choose a tag to compare
@GregDomzalski GregDomzalski released this 31 Mar 22:18
· 1284 commits to main since this release
e3cfd7d

This release brings enhancements across the SDK.

Features:

  • PIV Objects. There is now a new namespace, Yubico.YubiKey.Piv.Objects that contains high level representations of common PIV objects such as CHUID, CCC, and KeyHistory. These objects, paired with two new methods ReadObject and WriteObject provide a much easier mechanism for interacting with common PIV objects.
  • Direct credential gathering. Some applications, such as PIV and OATH, require a user to authenticate using a PIN or password. The SDK has a robust mechanism called the KeyCollector for gathering credentials. Supplying a key collector will mean that your application will always be notified for the right credential at the right time. Sometimes, though, you may not want to use a key collector, and supplying the credential directly to the session is preferable. For this, we've added overloads to the most common credential gathering routines (e.g. TryVerifyPin) that allow you to provide the credential directly, without the need for a key collector.
  • Feature queries. Rather than keeping track of YubiKey firmware versions and other properties, your application can now directly query a YubiKey to see whether it supports a particular feature.
  • Protected PIV management keys. Some applications, such as YubiKey Manager or the YubiKey Smart Card Mini-Driver, may opt to only use the PIV PIN. It does this by storing the PIV management key in a PIN protected object and using the PIN to unlock the smart card. The SDK has been enlightened to these modes of operations and the PivSession will automatically detect and act appropriately. That is, the KeyCollector will automatically ask for a PIN instead of the Management key for keys that are configured in this way. No extra handling is required by your application.
  • Yubico.NativeShims. A new internal-use library has been introduced to help facilitate better interoperability with the underlying native platform libraries. No functional changes should have occurred as a result of this change. This will instead open the door to broader support of platforms, specifically with regards to Linux distributions.

Bug fixes:

  • Fixed a high CPU usage issue on Windows that was introduced in 1.2.0. This bug was encountered when multiple YubiKeys were plugged into a single computer, and the user reduced the number of keys to one.
  • Fixed an issue where the interfaces and applications were not being reported correctly for YubiKey NEOs.