Changelog
Only important changes are noted here. Most versions incorporate a lot of other bugfixes. The artifacts use strict Semantic Versioning.
4.4.0
- hwsecurity-sshj: new artifact for using the SSHJ library with OpenPGP and PIV security keys
- hwsecurity-openpgp: Curve25519 support in key generation and SSH
- updated dependencies:
- androidx.lifecycle:lifecycle-runtime:2.3.0
- androidx.appcompat:appcompat:1.2.0
- androidx.constraintlayout:constraintlayout:2.0.4
- com.google.android.material:material:1.3.0
4.3.0
- hwsecurity-openpgp:
OpenPgpSecurityKey.setupPairedKey()
now allows to setup ECC keys - hwsecurity-openpgp: add password KDF as described in OpenPGP application specifications v3.3 chapter 4.3.2.
- hwsecurity-openpgp: fix ECDH decryption error using NIST curves: Invalid KEK
- hwsecurity-openpgp: add workaround for YubiKey firmware bug with ECC curves
4.2.1
- org.bouncycastle:bcprov-jdk15on:1.65 (1.67 does not work with Jetifier)
4.2.0
- hwsecurity-fido2: ‘fido-u2f’ backward compatibility fixes for Titan Key
- hwsecurity-ui: success state before dialog is dismissed
- org.bouncycastle:bcprov-jdk15on:1.67
4.1.5
- hwsecurity-fido2: fix crash happening after ProGuard optimization
4.1.4
- hwsecurity-fido2: improved handling of 0 remaining PIN retries
4.1.3
- hwsecurity-fido2: fix backward compatibility with ‘fido-u2f’
- hwsecurity-fido2: better error handling if FIDO2 is disabled or unsupported
- hwsecurity-fido: better error handling if U2F is disabled or unsupported
- hwsecurity: improved USB reconnecting behaviour
- hwsecurity: add support for Sentry logging
4.1.2
- hwsecurity-fido2: compatibility fixes for FIDO2 PIN protocol. This provides support for Excelsecu FIDO2 security keys.
4.1.1
- hwsecurity-fido2: fix public suffix check in rpId verification
4.1.0
- hwsecurity: add configuration option to exclude activities from the
SecurityKeyManager
viaaddExcludedActivityClass()
4.0.8
- hwsecurity-fido2: fix crash on WebAuthn timeout
- hwsecurity-ui: update AndroidX dependencies
4.0.7
- hwsecurity-fido2: do not allow empty PIN
4.0.6
- hwsecurity-fido2: Xamarin build fixes
4.0.5
- hwsecurity-fido2: follow Chrome’s WebAuthn behaviour more closely
4.0.4
- hwsecurity-fido2: improve compatibility with usernameless WebAuthn logins
4.0.3
- hwsecurity-fido2: Xamarin build fixes
4.0.2
- hwsecurity-fido2: dependency issues resolved
- hwsecurity-fido2: improved error handling when PIN is not set
4.0.1
- hwsecurity-ui: show pinpad by default, not keyboard
4.0.0
- hwsecurity-fido2: support for passwordless authentication
- hwsecurity-fido2: support for PINs
- hwsecurity-fido2: support for resident keys (username-less authentication)
- hwsecurity: compatibility fixes for short/extended length APDU handling. This provides support for HID Crescendo C2300.
- hwsecurity:
ByteSecretGenerator
has been moved from hwsecurity-openpgp to the core hwsecurity artifact - hwsecurity:
AndroidPreferenceSimplePinProvider
has been moved from hwsecurity-openpgp to the core hwsecurity artifact - hwsecurity-ui:
SecurityKeyDialogFactory
has been removed. Instead each hwsecurity artifact contains a specific dialog fragment:- replace
SecurityKeyDialogFactory.newOpenPgpInstance()
withOpenPgpSecurityKeyDialogFragment.newInstance()
- replace
SecurityKeyDialogFactory.newPivInstance()
withPivSecurityKeyDialogFragment.newInstance()
- replace
- replace
SecurityKeyManagerConfig.setEnableNfcTagMonitoring()
withSecurityKeyManagerConfig.setEnablePersistentNfcConnection()
3.2.2
- hwsecurity-fido2: fix crash in WebViewWebauthnBridge
3.2.1
- inter-dependency issue has been resolved
3.2.0
- hwsecurity-ui: automatically proceed in NFC screen if PIN is provided
- hwsecurity-ui: increase maximum PIN size that can be entered in our PIN pad to 16 digits
- hwsecurity-ui: support hardware keyboards for PIN input
- hwsecurity-ui: update database of NFC sweetspots
- Initial FIDO2 support has been added:
hwsecurity-fido2
. Currently, support is limited to two-factor authentication scenarios.
3.1.0
- hwsecurity-piv: support for resetting the PIN
- hwsecurity-piv: better handling of PIN retries and PIN errors
3.0.0
- SSH functionality has been refactored and moved into its own artifact:
hwsecurity-ssh
- removed deprecated classes and methods
- hwsecurity-piv: Support for SSH authentication
2.5.1
- hwsecurity-ui: fix
setTitle()
2.5.0
- hwsecurity: deprecated
CharSecret
, please useByteSecret
for all use cases - hwsecurity: NFC stability and responsiveness improved
- hwsecurity-openpgp: properly detect PIN exceptions for YubiKey NEO
- hwsecurity-ui: fix crashes on Android < 5
- hwsecurity-ui: new flow with
PinMode.SETUP
guiding the user through key generation - hwsecurity-ui: display remaining PIN retries
2.4.6
- hwsecurity-fido: add parameter to pass-through
FidoDialogOptions
to theWebViewFidoBridge
2.4.5
- hwsecurity-fido: option to set your own dialog theme
2.4.4
- hwsecurity-ui: option to set your own dialog theme
2.4.3
- hwsecurity: ignoring NFC tags is now an option and not enabled by default
- hwsecurity-ui: automatically remember PIN input
2.4.2
- hwsecurity-ui: add security key icons for usage in apps
- hwsecurity-ui: always use vector drawables instead of pngs
2.4.1
- hwsecurity-ui:
SecurityKeyDialogFragment
: rename optional callback setter tosetSecurityKeyDialogCallback
2.4.0
- hwsecurity: Removed timber dependency
2.3.3
- hwsecurity-ui: Fix animation loops
2.3.2
- hwsecurity-ui: Added animations for Security Keys (now default). You can choose your form factor shown in the dialog with
SecurityKeyDialogOptions.builder().setFormFactor()
- hwsecurity-ui: Now properly works with USB Security Keys that are already inserted when the dialog is shown
2.3.1
- hwsecurity-ui: PIN input fallback mode using keyboard. Can be enabled using
SecurityKeyDialogOptions.setAllowKeyboard(true)
2.3.0
- The new artifact
de.cotech:hwsecurity-ui
replaces the now deprecatedde.cotech:hwsecurity-smartcard-ui
- hwsecurity-openpgp: New methods
OpenPgpSecurityKey.getSecurityKeyName()
andOpenPgpSecurityKey.getSerialNumber()
2.2.4
- hwsecurity-fido: Call callbacks after timeout to properly show error
- hwsecurity-fido: Better support for smartphones that do not support APDU extended length properly
2.2.3
- hwsecurity-fido: Fix integration when app theme does not inherit from Theme.MaterialComponents
2.2.2
- hwsecurity-fido: Checks if NFC hardware is available and enabled and shows help if not
- hwsecurity: Support for SoloKey and SoloKey Tap over USB and NFC
- hwsecurity: Improved USB HID stability
2.2.1
- hwsecurity-openpgp: Fixes applet selection when multiple AIDs are defined in
OpenPgpSecurityKeyConnectionModeConfig
2.2.0
- smartcard-smartcard-ui: API changes, now with OpenPGP and PIV protocol
2.1.0
- smartcard-smartcard-ui: New artifact implementing a UI for PIN input and PIN reset with a keypad
- smartcard-openpgp: Now throws Exceptions for errors according to the OpenPGP specification
2.0.0
- Hardware Security SDK Version 2 release
- New API reference, documentation and guides on https://hwsecurity.dev/
- All packages live in a consistent namespace starting with the string
de.cotech.hw
- The artifacts use strict Semantic Versioning.