Package com.yubico.yubikit.fido.ctap
Class Ctap2Session.InfoData
java.lang.Object
com.yubico.yubikit.fido.ctap.Ctap2Session.InfoData
- Enclosing class:
- Ctap2Session
Data object containing the information readable form a YubiKey using the getInfo command.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionbyte[]Get the claimed AAGUID of the YubiKey.Get a list of supported algorithms for credential generation, as specified in WebAuthn.Get the list of attestation formats supported by the authenticator.List of supported authenticator config commands.Provides a hint to the platform with additional information about certifications that the authenticator has received.byte @Nullable []getCredStoreState(byte[] persistentPinUvAuthToken) Get decrypted encCredStoreState.byte @Nullable []Get the encrypted identifier for the authenticator.List of supported extensions.booleanGet the requirement whether the authenticator requires PIN Change before use.byte @Nullable []getIdentifier(byte[] persistentPinUvAuthToken) Get decrypted encIdentifier.booleanIf present the authenticator requires a 10 second touch for reset.intGet maximum credBlob length in bytes supported by the authenticator.@Nullable IntegerGet the maximum number of credentials supported in credentialID list at a time by the authenticator.@Nullable IntegerGet the maximum Credential ID Length supported by the authenticator.intGet maximum message size supported by the authenticator.intSpecifies the maximum PIN length, in Unicode code points, the authenticator enforces for ClientPIN.intGet the maximum number of RP IDs that authenticator can set via setMinPINLength subcommand.intGet the maximum size, in bytes, of the serialized large-blob array that this authenticator can store.intThe current minimum PIN length, in Unicode code points, the authenticator enforces for ClientPIN.Get the options map, which defines which options are supported, and their configuration.@Nullable BooleanIf present, returns whether the authenticator is enforcing an additional current PIN complexity policy beyondminPinLength.byte @Nullable []Get the URL that the platform can use to provide the user more information about the enforced PIN policy.Get a list of the supported PIN/UV Auth protocol versions in order of decreasing authenticator preference.@Nullable IntegerThe preferred number of invocations of the getPinUvAuthTokenUsingUvWithPermissions subCommand the platform may attempt before falling back to the getPinUvAuthTokenUsingPinWithPermissions subCommand or displaying an error.@Nullable IntegerThe estimated number of additional discoverable credentials that can be stored.Get a list of supported transports.Get the list of transports that support the reset command.@Nullable IntegerGet the count of User Verification operations since the last PIN entry including all failed attempts..intThe user verification modality supported by the authenticator via authenticatorClientPIN's getPinUvAuthTokenUsingUvWithPermissions subcommand.List of authenticatorConfig vendorCommandId values supported.List of supported versions.toString()
-
Method Details
-
getVersions
List of supported versions.Supported versions are:
FIDO_2_0,FIDO_2_1_PRE,FIDO_2_1andFIDO_2_3for CTAP2 / FIDO2 / Web Authentication authenticators andU2F_V2for CTAP1/U2F authenticators.- Returns:
- list of supported versions
-
getExtensions
List of supported extensions.- Returns:
- list of supported extensions
-
getAaguid
public byte[] getAaguid()Get the claimed AAGUID of the YubiKey.- Returns:
- the AAGUID of the YubiKey
-
getOptions
Get the options map, which defines which options are supported, and their configuration.- Returns:
- a Map of supported options
-
getMaxMsgSize
public int getMaxMsgSize()Get maximum message size supported by the authenticator.- Returns:
- maximum message size
-
getPinUvAuthProtocols
Get a list of the supported PIN/UV Auth protocol versions in order of decreasing authenticator preference.- Returns:
- a list of supported protocol versions
- See Also:
-
getMaxCredentialCountInList
Get the maximum number of credentials supported in credentialID list at a time by the authenticator.- Returns:
- maximum number of credentials
-
getMaxCredentialIdLength
Get the maximum Credential ID Length supported by the authenticator.- Returns:
- maximum Credential ID length
-
getTransports
Get a list of supported transports. Values are taken from the AuthenticatorTransport enum in WebAuthn.- Returns:
- list of supported transports
- See Also:
-
getAlgorithms
Get a list of supported algorithms for credential generation, as specified in WebAuthn.Empty return value indicates that the authenticator does not provide this information.
- Returns:
- list of supported algorithms
- See Also:
-
getMaxSerializedLargeBlobArray
public int getMaxSerializedLargeBlobArray()Get the maximum size, in bytes, of the serialized large-blob array that this authenticator can store.- Returns:
- maximum size of serialized large-blob array the authenticator can store if
authenticatorLargeBlobscommand is supported by the authenticator, 0 otherwise - See Also:
-
getForcePinChange
public boolean getForcePinChange()Get the requirement whether the authenticator requires PIN Change before use.- Returns:
- force PIN Change requirement
- See Also:
-
getMinPinLength
public int getMinPinLength()The current minimum PIN length, in Unicode code points, the authenticator enforces for ClientPIN.Only valid if options contain
clientPinmeaning that the authenticator supportsauthenticatorClientPincommand.- Returns:
- current minimum PIN length
- See Also:
-
getMaxCredBlobLength
public int getMaxCredBlobLength()Get maximum credBlob length in bytes supported by the authenticator.- Returns:
- maximum credBlob length if the authenticator supports
credBlobextension, 0 otherwise - See Also:
-
getMaxRpidsForSetMinPinLength
public int getMaxRpidsForSetMinPinLength()Get the maximum number of RP IDs that authenticator can set via setMinPINLength subcommand.Only valid if
setMinPINLengthoption ID is present.- Returns:
- the maximum number of RP IDs
- See Also:
-
getPreferredPlatformUvAttempts
The preferred number of invocations of the getPinUvAuthTokenUsingUvWithPermissions subCommand the platform may attempt before falling back to the getPinUvAuthTokenUsingPinWithPermissions subCommand or displaying an error.- Returns:
- the preferred number of
getPinUvAuthTokenUsingUvWithPermissionsinvocations - See Also:
-
getUvModality
public int getUvModality()The user verification modality supported by the authenticator via authenticatorClientPIN's getPinUvAuthTokenUsingUvWithPermissions subcommand.- Returns:
- the user verification modality
- See Also:
-
getCertifications
Provides a hint to the platform with additional information about certifications that the authenticator has received.- Returns:
- certifications in the form key-value pairs with string IDs and integer values
- See Also:
-
getRemainingDiscoverableCredentials
The estimated number of additional discoverable credentials that can be stored.- Returns:
- the estimated number of credentials that can be stored
-
getVendorPrototypeConfigCommands
List of authenticatorConfig vendorCommandId values supported.- Returns:
- list of vendor command id's
- See Also:
-
getAttestationFormats
Get the list of attestation formats supported by the authenticator.- Returns:
- list of supported attestation formats
- See Also:
-
getUvCountSinceLastPinEntry
Get the count of User Verification operations since the last PIN entry including all failed attempts..- Returns:
- the count of UV attempts since the last PIN entry
- See Also:
-
getLongTouchForReset
public boolean getLongTouchForReset()If present the authenticator requires a 10 second touch for reset.- Returns:
- true if the authenticator requires a 10 second touch for reset
-
getEncIdentifier
public byte @Nullable [] getEncIdentifier()Get the encrypted identifier for the authenticator.- Returns:
- the encrypted identifier
- See Also:
-
getTransportsForReset
Get the list of transports that support the reset command.- Returns:
- list of transports that support the reset command
- See Also:
-
getPinComplexityPolicy
If present, returns whether the authenticator is enforcing an additional current PIN complexity policy beyondminPinLength. PIN complexity policies for authenticators are listed in the FIDO MDS. The authenticator may have a pre-configured PIN complexity policy value that is applied after a reset.- Returns:
- true if whether the authenticator is enforcing an additional current PIN complexity policy
- See Also:
-
getPinComplexityPolicyUrl
public byte @Nullable [] getPinComplexityPolicyUrl()Get the URL that the platform can use to provide the user more information about the enforced PIN policy.- Returns:
- the URL providing more information about the enforced PIN policy
- See Also:
-
getMaxPinLength
public int getMaxPinLength()Specifies the maximum PIN length, in Unicode code points, the authenticator enforces for ClientPIN.- Returns:
- the maximum PIN length
- See Also:
-
getIdentifier
public byte @Nullable [] getIdentifier(byte[] persistentPinUvAuthToken) throws GeneralSecurityException Get decrypted encIdentifier.- Returns:
- the decrypted encIdentifier
- Throws:
GeneralSecurityException- See Also:
-
getCredStoreState
public byte @Nullable [] getCredStoreState(byte[] persistentPinUvAuthToken) throws GeneralSecurityException Get decrypted encCredStoreState.- Returns:
- the decrypted credStoreState
- Throws:
GeneralSecurityException- See Also:
-
getAuthenticatorConfigCommands
List of supported authenticator config commands.- Returns:
- list of supported authenticator config commands.
- See Also:
-
toString
-