Piv Go Versions Save

Keys and certificates for YubiKeys, written in Go

v1.11.0

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/go-piv/piv-go/compare/v1.10.0...v1.11.0

v1.10.0

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/go-piv/piv-go/compare/v1.9.0...v1.10.0

v1.9.0

2 years ago

Updates:

v1.8.0

2 years ago
  • Attestation now includes the key's Slot #89 (@jalseth)
  • Document support for non-YubiKey smartcards #90
  • Document PINPolicy for imported keys #84 (@jstasiak)

v1.7.0

3 years ago
  • Implement import key functionality #83
  • Support added for x32 ARCH and other 32 bit architectures #81
  • Add method for accessing retired key management slots #72

v1.6.0

3 years ago
  • Fixes for older YubiKeys that don't support attestation certificates #59
  • Add yubikey 5ci form factor #63 @xoebus
  • Fix retry errors detection on some older YubiKeys #64
  • PIN policy can now be specified explicitly instead of being inferred by the attestation certificate #65
  • Ed25519 support as implemented by SoloKeys added #69 @nickray
  • FreeBSD support added #70 @gonzoua
  • TouchPolicyAlways and TouchPolicyCached variables now correspond to their spec values #74 @joemiller
  • cgo now uses pkg-config on Linux to discover pcsclite #75 @rawkode @philandstuff
  • ECDH support added #80 @tv42

v1.5.0

4 years ago
  • Fixes for PIN prompt for PIN policy once #44
  • Attestation certificate is used for determining PIN prompt strategy #50
  • Connections are now marked as exclusive #51
  • PC/SC errors on MacOS are now reported correctly #54
  • Add support for Windows #57 (@tobiaskohlbau)

v1.4.0

4 years ago
  • YubiKey structs are now exclusive, you can't have multiple YubiKey structs for the same card open #39
  • PINPrompt now works as expected for PINPolicyOnce #37
  • Attest returns ErrNotFound if the slot hasn't been initialized #40

v1.3.0

4 years ago

v1.2.0

4 years ago

NOTE: previous uses of SetCertificate for the SlotAuthentication and SlotCardAuthentication used the wrong object IDs. This updates them to use the correct values, which may cause breaking changes for previously written certificate. To migrate to the correct slots, use:

mk := piv.DefaultManagementKey
// Migrate SlotAuthenication certificate to the correct slot.
authCert, err := yk.Certificate(piv.SlotCardAuthentication)
if err != nil {
    // ...
}
if err := yk.SetCertificate(mk, piv.SlotAuthentication, authCert); err != nil {
    // ...
}

// Migrate SlotCardAuthentication certificate to the correct slot.
cardAuthCert, err := yk.Certificate(piv.SlotKeyManagement)
if err != nil {
    // ...
}
if err := yk.SetCertificate(mk, piv.SlotCardAuthentication, cardAuthCert); err != nil {
    // ...
}