personalize

abstract fun personalize(@NonNull personalizationData: PersonalizationData): Array<Byte>

Stores all of the data in the credential, with the specified access control profiles.

The credential is persisted only after this method returns successfully.

This method returns a COSE_Sign1 data structure signed by the CredentialKey with payload set to ProofOfProvisioning as defined below.

    ProofOfProvisioning = [
         "ProofOfProvisioning",        ; tstr
         tstr,                         ; DocType
         [ * AccessControlProfile ],
         ProvisionedData,
         bool                          ; true if this is a test credential, should
                                       ; always be false.
     ]

     AccessControlProfile = {
         "id": uint,
         ? "readerCertificate" : bstr,
         ? (
              "userAuthenticationRequired" : bool,
              "timeoutMillis" : uint,
         )
     }

     ProvisionedData = {
         * Namespace => [ + Entry ]
     },

     Namespace = tstr

     Entry = {
         "name" : tstr,
         "value" : any,
         "accessControlProfiles" : [ * uint ],
     }

This data structure provides a guarantee to the issuer about the data which may be returned in the CBOR returned by getAuthenticatedData during a credential presentation.

Return

A COSE_Sign1 data structure, see above.

Parameters

personalizationData

The data to provision, including access control profiles and data elements and their values, grouped into namespaces.