Welcome to our new developer portal! Use the "Ask" button to chat with our AI Agent.

Cifrar datos sensibles

Encrypt sensitive fields exchanged with the D1 backend using JSON Web Encryption (JWE) (RFC 7516).

Serialize the sensitive fields as JSON before you encrypt.

JWE requirements

Use JWE compact serialization (a single Base64URL-encoded string).

The D1 backend expects the following JWE configuration:

  • alg: ECDH-ES

  • enc: A256GCM

  • kid: key identifier of the recipient public key

  • EC curve: P-256

Set kid to the identifier of the public key you provisioned for the recipient. The D1 backend uses kid to select the correct key.

Encrypt sensitive data

This section shows an end-to-end example that encrypts card credentials for the D1 backend.

Example payload

Encrypt the following JSON fields:

JSON field
Description
MOC
Length

pan

PAN

M

Up to 19

exp

Expiry date (MMYY)

M

4

Recipient EC public key (JWK):

Clear data (JSON to encrypt):

Source code samples:

Decrypt sensitive data

Decrypt the JWE payload in your issuer backend using the matching private key.

Generate a P-256 key pair

Use OpenSSL to generate a P-256 key pair for JWE encryption and decryption.

Generate a private key for your issuer backend. Protect it in your environment.

Generate a public key to provision in the D1 backend.

Keep the private key in your issuer backend to decrypt payloads sent by the D1 backend.

Provide the public key and its kid to the Thales Delivery Team during D1 Onboarding. The D1 backend uses the public key to encrypt sensitive data for your issuer backend.

Última actualización

¿Te fue útil?