com.yubico.fido.metadata.MetadataBLOBPayload Maven / Gradle / Ivy
Show all versions of webauthn-server-attestation Show documentation
package com.yubico.fido.metadata;
import java.time.LocalDate;
import java.util.Set;
import lombok.Builder;
import lombok.NonNull;
import lombok.Value;
import lombok.extern.jackson.Jacksonized;
/**
* The metadata BLOB is a JSON Web Token (see [JWT]
* and [JWS]).
*
* This type represents the contents of the JWT payload.
*
* @see FIDO
* Metadata Service §3.1.7. Metadata BLOB
* @see FIDO
* Metadata Service §3.1.6. Metadata BLOB Payload dictionary
*/
@Value
@Builder(toBuilder = true)
@Jacksonized
public class MetadataBLOBPayload {
/**
* The legalHeader, which MUST be in each BLOB, is an indication of the acceptance of the relevant
* legal agreement for using the MDS.
*
* @see FIDO
* Metadata Service §3.1.6. Metadata BLOB Payload dictionary
*/
String legalHeader;
/**
* The serial number of this Metadata BLOB Payload. Serial numbers MUST be consecutive and
* strictly monotonic, i.e. the successor BLOB will have a no
value exactly
* incremented by one.
*
* @see FIDO
* Metadata Service §3.1.6. Metadata BLOB Payload dictionary
*/
int no;
/**
* ISO-8601 formatted date when the next update will be provided at latest.
*
* @see FIDO
* Metadata Service §3.1.6. Metadata BLOB Payload dictionary
*/
@NonNull LocalDate nextUpdate;
/**
* Zero or more {@link MetadataBLOBPayloadEntry} objects.
*
* @see FIDO
* Metadata Service §3.1.6. Metadata BLOB Payload dictionary
*/
@NonNull Set entries;
}