Package com.yubico.webauthn.data
Class PublicKeyCredential<A extends AuthenticatorResponse,B extends ClientExtensionOutputs>
- java.lang.Object
-
- com.yubico.webauthn.data.PublicKeyCredential<A,B>
-
public final class PublicKeyCredential<A extends AuthenticatorResponse,B extends ClientExtensionOutputs> extends java.lang.Object
The PublicKeyCredential interface inherits from Credential [CREDENTIAL-MANAGEMENT-1], and contains the attributes that are returned to the caller when a new credential is created, or a new assertion is requested.- See Also:
- §5.1. PublicKeyCredential Interface
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PublicKeyCredential.PublicKeyCredentialBuilder<A extends AuthenticatorResponse,B extends ClientExtensionOutputs>
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <A extends AuthenticatorResponse,B extends ClientExtensionOutputs>
PublicKeyCredential.PublicKeyCredentialBuilder.MandatoryStagesbuilder()
boolean
equals(java.lang.Object o)
B
getClientExtensionResults()
A map containing extension identifier → client extension output entries produced by the extension’s client extension processing.@NonNull ByteArray
getId()
The raw Credential ID of this credential, corresponding to therawId
attribute in the WebAuthn API.A
getResponse()
The authenticator's response to the client’s request to either create a public key credential, or generate an authentication assertion.@NonNull PublicKeyCredentialType
getType()
ThePublicKeyCredential
's type value is the string "public-key".int
hashCode()
static PublicKeyCredential<AuthenticatorAssertionResponse,ClientAssertionExtensionOutputs>
parseAssertionResponseJson(java.lang.String json)
Parse aPublicKeyCredential
object from JSON.static PublicKeyCredential<AuthenticatorAttestationResponse,ClientRegistrationExtensionOutputs>
parseRegistrationResponseJson(java.lang.String json)
Parse aPublicKeyCredential
object from JSON.PublicKeyCredential.PublicKeyCredentialBuilder<A,B>
toBuilder()
java.lang.String
toString()
-
-
-
Method Detail
-
builder
public static <A extends AuthenticatorResponse,B extends ClientExtensionOutputs> PublicKeyCredential.PublicKeyCredentialBuilder.MandatoryStages builder()
-
parseRegistrationResponseJson
public static PublicKeyCredential<AuthenticatorAttestationResponse,ClientRegistrationExtensionOutputs> parseRegistrationResponseJson(java.lang.String json) throws java.io.IOException
Parse aPublicKeyCredential
object from JSON.The
json
should be of the following format:{ "id": "(resp.id)", "response": { "attestationObject": "(Base64Url encoded resp.attestationObject)", "clientDataJSON": "(Base64Url encoded resp.clientDataJSON)" }, "clientExtensionResults": { (resp.getClientExtensionResults()) }, "type": "public-key" }
- resp:
- The PublicKeyCredential object returned from a registration ceremony.
- id:
- The string value of
resp.id
- response.attestationObject:
- The value of
resp.attestationObject
, Base64Url encoded as a string - response.clientDataJSON:
- The value of
resp.clientDataJSON
, Base64Url encoded as a string - clientExtensionResults:
- The return value of
resp.getClientExtensionResults()
- type:
- The literal string value
"public-key"
- Parameters:
json
- a JSON string of the above format- Throws:
java.io.IOException
- if thejson
is invalid or cannot be decoded as aPublicKeyCredential
-
parseAssertionResponseJson
public static PublicKeyCredential<AuthenticatorAssertionResponse,ClientAssertionExtensionOutputs> parseAssertionResponseJson(java.lang.String json) throws java.io.IOException
Parse aPublicKeyCredential
object from JSON.The
json
should be of the following format:{ "id": "(resp.id)", "response": { "authenticatorData": "(Base64Url encoded resp.authenticatorData)", "signature": "(Base64Url encoded resp.signature)", "clientDataJSON": "(Base64Url encoded resp.clientDataJSON)", "userHandle": "(null, undefined or Base64Url encoded resp.userHandle)" }, "clientExtensionResults": { (resp.getClientExtensionResults()) }, "type": "public-key" }
- resp:
- The PublicKeyCredential object returned from an authentication ceremony.
- id:
- The string value of
resp.id
- response.authenticatorData:
- The value of
resp.authenticatorData
, Base64Url encoded as a string - response.signature:
- The value of
resp.signature
, Base64Url encoded as a string - response.clientDataJSON:
- The value of
resp.clientDataJSON
, Base64Url encoded as a string - response.userHandle:
- The value of
resp.userHandle
Base64Url encoded as a string if present, otherwisenull
orundefined
- clientExtensionResults:
- The return value of
resp.getClientExtensionResults()
- type:
- The literal string value
"public-key"
- Parameters:
json
- a JSON string of the above format- Throws:
java.io.IOException
- if thejson
is invalid or cannot be decoded as aPublicKeyCredential
-
toBuilder
public PublicKeyCredential.PublicKeyCredentialBuilder<A,B> toBuilder()
-
getId
@NonNull public @NonNull ByteArray getId()
The raw Credential ID of this credential, corresponding to therawId
attribute in the WebAuthn API.
-
getResponse
@NonNull public A getResponse()
The authenticator's response to the client’s request to either create a public key credential, or generate an authentication assertion.If the
PublicKeyCredential
was created in response tonavigator.credentials.create()
, this attribute’s value will be anAuthenticatorAttestationResponse
, otherwise, thePublicKeyCredential
was created in response tonavigator.credentials.get()
, and this attribute’s value will be anAuthenticatorAssertionResponse
.
-
getClientExtensionResults
@NonNull public B getClientExtensionResults()
A map containing extension identifier → client extension output entries produced by the extension’s client extension processing.
-
getType
@NonNull public @NonNull PublicKeyCredentialType getType()
ThePublicKeyCredential
's type value is the string "public-key".
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-