Partager via


CryptographyClient Classe

  • java.lang.Object
    • com.azure.security.keyvault.keys.cryptography.CryptographyClient

public class CryptographyClient

fournit CryptographyClient des méthodes synchrones pour effectuer des opérations de chiffrement à l’aide de clés asymétriques et symétriques. Le client prend en charge les opérations de chiffrement, de déchiffrement, d’habillage de clé, d’annulation de clé, de signature et de vérification à l’aide de la clé configurée.

Mise en route

Pour interagir avec le service Azure Key Vault, vous devez créer un instance de la CryptographyClient classe, une URL de coffre et un objet d’informations d’identification.

Les exemples présentés dans ce document utilisent un objet d’informations d’identification nommé DefaultAzureCredential pour l’authentification, qui convient à la plupart des scénarios, notamment aux environnements de développement et de production locaux. En outre, nous vous recommandons d’utiliser une identité managée pour l’authentification dans les environnements de production. Vous trouverez plus d’informations sur les différentes méthodes d’authentification et leurs types d’informations d’identification correspondants dans la documentation Azure Identity.

Exemple : Construire un client de chiffrement synchrone

L’exemple de code suivant illustre la création d’un CryptographyClient, à l’aide de pour le CryptographyClientBuilder configurer.

CryptographyClient cryptographyClient = new CryptographyClientBuilder()
     .keyIdentifier("<your-key-id>")
     .credential(new DefaultAzureCredentialBuilder().build())
     .buildClient();
JsonWebKey jsonWebKey = new JsonWebKey().setId("SampleJsonWebKey");
 CryptographyClient cryptographyClient = new CryptographyClientBuilder()
     .jsonWebKey(jsonWebKey)
     .buildClient();

Chiffrer les données

Peut CryptographyClient être utilisé pour chiffrer des données.

Exemple de code :

L’exemple de code suivant montre comment chiffrer des données de manière synchrone à l’aide de l’API encrypt(EncryptionAlgorithm algorithm, byte[] plaintext) .

byte[] plaintext = new byte[100];
 new Random(0x1234567L).nextBytes(plaintext);

 EncryptResult encryptResult = cryptographyClient.encrypt(EncryptionAlgorithm.RSA_OAEP, plaintext);

 System.out.printf("Received encrypted content of length: %d, with algorithm: %s.%n",
     encryptResult.getCipherText().length, encryptResult.getAlgorithm());

Note: Pour l’exemple asynchrone, reportez-vous à CryptographyAsyncClient.


Déchiffrer des données

Peut CryptographyClient être utilisé pour déchiffrer des données.

Exemple de code :

L’exemple de code suivant montre comment déchiffrer de manière synchrone des données à l’aide de l’API decrypt(EncryptionAlgorithm algorithm, byte[] ciphertext) .

byte[] ciphertext = new byte[100];
 new Random(0x1234567L).nextBytes(ciphertext);

 DecryptResult decryptResult = cryptographyClient.decrypt(EncryptionAlgorithm.RSA_OAEP, ciphertext);

 System.out.printf("Received decrypted content of length: %d.%n", decryptResult.getPlainText().length);

Note: Pour l’exemple asynchrone, reportez-vous à CryptographyAsyncClient.

Résumé de la méthode

Modificateur et type Méthode et description
DecryptResult decrypt(DecryptParameters decryptParameters, Context context)

Déchiffre un seul bloc de données chiffrées à l’aide de la clé configurée et de l’algorithme spécifié.

DecryptResult decrypt(EncryptionAlgorithm algorithm, byte[] ciphertext)

Déchiffre un seul bloc de données chiffrées à l’aide de la clé configurée et de l’algorithme spécifié.

DecryptResult decrypt(EncryptionAlgorithm algorithm, byte[] ciphertext, Context context)

Déchiffre un seul bloc de données chiffrées à l’aide de la clé configurée et de l’algorithme spécifié.

EncryptResult encrypt(EncryptParameters encryptParameters, Context context)

Chiffre une séquence arbitraire d’octets à l’aide de la clé configurée.

EncryptResult encrypt(EncryptionAlgorithm algorithm, byte[] plaintext)

Chiffre une séquence arbitraire d’octets à l’aide de la clé configurée.

EncryptResult encrypt(EncryptionAlgorithm algorithm, byte[] plaintext, Context context)

Chiffre une séquence arbitraire d’octets à l’aide de la clé configurée.

KeyVaultKey getKey()

Obtient la partie publique de la clé configurée.

Response<KeyVaultKey> getKeyWithResponse(Context context)

Obtient la partie publique de la clé configurée.

SignResult sign(SignatureAlgorithm algorithm, byte[] digest)

Crée une signature à partir d’un digest à l’aide de la clé configurée.

SignResult sign(SignatureAlgorithm algorithm, byte[] digest, Context context)

Crée une signature à partir d’un digest à l’aide de la clé configurée.

SignResult signData(SignatureAlgorithm algorithm, byte[] data)

Crée une signature à partir des données brutes à l’aide de la clé configurée.

SignResult signData(SignatureAlgorithm algorithm, byte[] data, Context context)

Crée une signature à partir des données brutes à l’aide de la clé configurée.

UnwrapResult unwrapKey(KeyWrapAlgorithm algorithm, byte[] encryptedKey)

Désencapsule une clé symétrique à l’aide de la clé configurée qui a été initialement utilisée pour l’encapsulage de cette clé.

UnwrapResult unwrapKey(KeyWrapAlgorithm algorithm, byte[] encryptedKey, Context context)

Désencapsule une clé symétrique à l’aide de la clé configurée qui a été initialement utilisée pour l’encapsulage de cette clé.

VerifyResult verify(SignatureAlgorithm algorithm, byte[] digest, byte[] signature)

Vérifie une signature à l’aide de la clé configurée.

VerifyResult verify(SignatureAlgorithm algorithm, byte[] digest, byte[] signature, Context context)

Vérifie une signature à l’aide de la clé configurée.

VerifyResult verifyData(SignatureAlgorithm algorithm, byte[] data, byte[] signature)

Vérifie une signature par rapport aux données brutes à l’aide de la clé configurée.

VerifyResult verifyData(SignatureAlgorithm algorithm, byte[] data, byte[] signature, Context context)

Vérifie une signature par rapport aux données brutes à l’aide de la clé configurée.

WrapResult wrapKey(KeyWrapAlgorithm algorithm, byte[] key)

Encapsule une clé symétrique à l’aide de la clé configurée.

WrapResult wrapKey(KeyWrapAlgorithm algorithm, byte[] key, Context context)

Encapsule une clé symétrique à l’aide de la clé configurée.

Méthodes héritées de java.lang.Object

Détails de la méthode

decrypt

public DecryptResult decrypt(DecryptParameters decryptParameters, Context context)

Déchiffre un seul bloc de données chiffrées à l’aide de la clé configurée et de l’algorithme spécifié. Notez qu’un seul bloc de données peut être déchiffré, la taille de ce bloc dépend de la clé cible et de l’algorithme à utiliser. L’opération de déchiffrement est prise en charge pour les clés asymétriques et symétriques. Cette opération nécessite l’autorisation pour les keys/decrypt opérations non locales.

indique EncryptionAlgorithm le type d’algorithme à utiliser pour déchiffrer le contenu chiffré spécifié. Les valeurs possibles pour les clés asymétriques sont les suivantes : RSA1_5, RSA_OAEP et RSA_OAEP_256. Les valeurs possibles pour les clés symétriques sont les suivantes : A128CBC, A128CBCPADA128CBC_HS256, A128GCM, A192CBC, A256CBCA192CBC_HS384A192GCMA256CBCPADA192CBCPADA256CBC_HS512 et .A256GCM

Exemples de code

Déchiffre le contenu chiffré imprime les détails du contenu déchiffré lorsqu’une réponse a été reçue.

byte[] myCiphertext = new byte[100];
 new Random(0x1234567L).nextBytes(myCiphertext);
 byte[] iv = {
     (byte) 0x1a, (byte) 0xf3, (byte) 0x8c, (byte) 0x2d, (byte) 0xc2, (byte) 0xb9, (byte) 0x6f, (byte) 0xfd,
     (byte) 0xd8, (byte) 0x66, (byte) 0x94, (byte) 0x09, (byte) 0x23, (byte) 0x41, (byte) 0xbc, (byte) 0x04
 };

 DecryptParameters decryptParameters = DecryptParameters.createA128CbcParameters(myCiphertext, iv);
 DecryptResult decryptedResult = cryptographyClient.decrypt(decryptParameters, new Context("key1", "value1"));

 System.out.printf("Received decrypted content of length: %d.%n", decryptedResult.getPlainText().length);

Parameters:

decryptParameters - Paramètres à utiliser dans l’opération de déchiffrement. Microsoft vous recommande de ne pas utiliser CBC sans garantir au préalable l’intégrité du texte chiffré à l’aide d’un HMAC, par exemple. Pour plus d’informations, consultez Vulnérabilités de minutage avec le déchiffrement symétrique en mode CBC à l’aide du remplissage .
context - Contexte supplémentaire passé par le HttpPipeline pendant l’appel de service.

Returns:

DecryptResult dont getPlainText() contient le contenu déchiffré.

decrypt

public DecryptResult decrypt(EncryptionAlgorithm algorithm, byte[] ciphertext)

Déchiffre un seul bloc de données chiffrées à l’aide de la clé configurée et de l’algorithme spécifié. Notez qu’un seul bloc de données peut être déchiffré, la taille de ce bloc dépend de la clé cible et de l’algorithme à utiliser. L’opération de déchiffrement est prise en charge pour les clés asymétriques et symétriques. Cette opération nécessite l’autorisation pour les keys/decrypt opérations non locales.

indique EncryptionAlgorithm le type d’algorithme à utiliser pour déchiffrer le contenu chiffré spécifié. Les valeurs possibles pour les clés asymétriques sont les suivantes : RSA1_5, RSA_OAEP et RSA_OAEP_256. Les valeurs possibles pour les clés symétriques sont les suivantes : A128CBC, A128CBCPADA128CBC_HS256, A128GCM, A192CBC, A256CBCA192CBC_HS384A192GCMA256CBCPADA192CBCPADA256CBC_HS512 et .A256GCM

Exemples de code

Déchiffre le contenu chiffré imprime les détails du contenu déchiffré lorsqu’une réponse a été reçue.

byte[] ciphertext = new byte[100];
 new Random(0x1234567L).nextBytes(ciphertext);

 DecryptResult decryptResult = cryptographyClient.decrypt(EncryptionAlgorithm.RSA_OAEP, ciphertext);

 System.out.printf("Received decrypted content of length: %d.%n", decryptResult.getPlainText().length);

Parameters:

algorithm - Algorithme à utiliser pour le déchiffrement.
ciphertext - Contenu à déchiffrer. Microsoft vous recommande de ne pas utiliser CBC sans garantir au préalable l’intégrité du texte chiffré à l’aide d’un HMAC, par exemple. Pour plus d’informations, consultez Vulnérabilités de minutage avec le déchiffrement symétrique en mode CBC à l’aide du remplissage .

Returns:

DecryptResult dont getPlainText() contient le contenu déchiffré.

decrypt

public DecryptResult decrypt(EncryptionAlgorithm algorithm, byte[] ciphertext, Context context)

Déchiffre un seul bloc de données chiffrées à l’aide de la clé configurée et de l’algorithme spécifié. Notez qu’un seul bloc de données peut être déchiffré, la taille de ce bloc dépend de la clé cible et de l’algorithme à utiliser. L’opération de déchiffrement est prise en charge pour les clés asymétriques et symétriques. Cette opération nécessite l’autorisation pour les keys/decrypt opérations non locales.

indique EncryptionAlgorithm le type d’algorithme à utiliser pour déchiffrer le contenu chiffré spécifié. Les valeurs possibles pour les clés asymétriques sont les suivantes : RSA1_5, RSA_OAEP et RSA_OAEP_256. Les valeurs possibles pour les clés symétriques sont les suivantes : A128CBC, A128CBCPADA128CBC_HS256, A128GCM, A192CBC, A256CBCA192CBC_HS384A192GCMA256CBCPADA192CBCPADA256CBC_HS512 et .A256GCM

Exemples de code

Déchiffre le contenu chiffré imprime les détails du contenu déchiffré lorsqu’une réponse a été reçue.

byte[] ciphertextToDecrypt = new byte[100];
 new Random(0x1234567L).nextBytes(ciphertextToDecrypt);

 DecryptResult decryptionResult = cryptographyClient.decrypt(EncryptionAlgorithm.RSA_OAEP, ciphertextToDecrypt,
     new Context("key1", "value1"));

 System.out.printf("Received decrypted content of length: %d.%n", decryptionResult.getPlainText().length);

Parameters:

algorithm - Algorithme à utiliser pour le déchiffrement.
ciphertext - Contenu à déchiffrer. Microsoft vous recommande de ne pas utiliser CBC sans garantir au préalable l’intégrité du texte chiffré à l’aide d’un HMAC, par exemple. Pour plus d’informations, consultez Vulnérabilités de minutage avec le déchiffrement symétrique en mode CBC à l’aide du remplissage .
context - Contexte supplémentaire passé par le HttpPipeline pendant l’appel de service.

Returns:

DecryptResult dont getPlainText() contient le contenu déchiffré.

encrypt

public EncryptResult encrypt(EncryptParameters encryptParameters, Context context)

Chiffre une séquence arbitraire d’octets à l’aide de la clé configurée. Notez que l’opération de chiffrement ne prend en charge qu’un seul bloc de données, dont la taille dépend de la clé cible et de l’algorithme de chiffrement à utiliser. L’opération de chiffrement est prise en charge pour les clés symétriques et les clés asymétriques. Dans le cas de clés asymétriques, la partie publique de la clé est utilisée pour le chiffrement. Cette opération nécessite l’autorisation pour les keys/encrypt opérations non locales.

indique EncryptionAlgorithm le type d’algorithme à utiliser pour chiffrer le spécifié plaintext. Les valeurs possibles pour les clés asymétriques sont les suivantes : RSA1_5, RSA_OAEP et RSA_OAEP_256. Les valeurs possibles pour les clés symétriques sont les suivantes : A128CBC, A128CBCPADA128CBC_HS256, A128GCM, A192CBC, A256CBCA192CBC_HS384A192GCMA256CBCPADA192CBCPADA256CBC_HS512 et .A256GCM

Exemples de code

Chiffre le contenu imprime les détails du contenu chiffré lorsqu’une réponse a été reçue.

byte[] myPlaintext = new byte[100];
 new Random(0x1234567L).nextBytes(myPlaintext);
 byte[] iv = {
     (byte) 0x1a, (byte) 0xf3, (byte) 0x8c, (byte) 0x2d, (byte) 0xc2, (byte) 0xb9, (byte) 0x6f, (byte) 0xfd,
     (byte) 0xd8, (byte) 0x66, (byte) 0x94, (byte) 0x09, (byte) 0x23, (byte) 0x41, (byte) 0xbc, (byte) 0x04
 };

 EncryptParameters encryptParameters = EncryptParameters.createA128CbcParameters(myPlaintext, iv);
 EncryptResult encryptedResult = cryptographyClient.encrypt(encryptParameters, new Context("key1", "value1"));

 System.out.printf("Received encrypted content of length: %d, with algorithm: %s.%n",
     encryptedResult.getCipherText().length, encryptedResult.getAlgorithm());

Parameters:

encryptParameters - Paramètres à utiliser dans l’opération de chiffrement.
context - Contexte supplémentaire passé par le HttpPipeline pendant l’appel de service.

Returns:

EncryptResult dont getCipherText() contient le contenu chiffré.

encrypt

public EncryptResult encrypt(EncryptionAlgorithm algorithm, byte[] plaintext)

Chiffre une séquence arbitraire d’octets à l’aide de la clé configurée. Notez que l’opération de chiffrement ne prend en charge qu’un seul bloc de données, dont la taille dépend de la clé cible et de l’algorithme de chiffrement à utiliser. L’opération de chiffrement est prise en charge pour les clés symétriques et les clés asymétriques. Dans le cas de clés asymétriques, la partie publique de la clé est utilisée pour le chiffrement. Cette opération nécessite l’autorisation pour les keys/encrypt opérations non locales.

indique EncryptionAlgorithm le type d’algorithme à utiliser pour chiffrer le spécifié plaintext. Les valeurs possibles pour les clés asymétriques sont les suivantes : RSA1_5, RSA_OAEP et RSA_OAEP_256. Les valeurs possibles pour les clés symétriques sont les suivantes : A128CBC, A128CBCPADA128CBC_HS256, A128GCM, A192CBC, A256CBCA192CBC_HS384A192GCMA256CBCPADA192CBCPADA256CBC_HS512 et .A256GCM

Exemples de code

Chiffre le contenu et imprime les détails du contenu chiffré lorsqu’une réponse a été reçue.

byte[] plaintext = new byte[100];
 new Random(0x1234567L).nextBytes(plaintext);

 EncryptResult encryptResult = cryptographyClient.encrypt(EncryptionAlgorithm.RSA_OAEP, plaintext);

 System.out.printf("Received encrypted content of length: %d, with algorithm: %s.%n",
     encryptResult.getCipherText().length, encryptResult.getAlgorithm());

Parameters:

algorithm - Algorithme à utiliser pour le chiffrement.
plaintext - Contenu à chiffrer.

Returns:

EncryptResult dont getCipherText() contient le contenu chiffré.

encrypt

public EncryptResult encrypt(EncryptionAlgorithm algorithm, byte[] plaintext, Context context)

Chiffre une séquence arbitraire d’octets à l’aide de la clé configurée. Notez que l’opération de chiffrement ne prend en charge qu’un seul bloc de données, dont la taille dépend de la clé cible et de l’algorithme de chiffrement à utiliser. L’opération de chiffrement est prise en charge pour les clés symétriques et les clés asymétriques. Dans le cas de clés asymétriques, la partie publique de la clé est utilisée pour le chiffrement. Cette opération nécessite l’autorisation pour les keys/encrypt opérations non locales.

indique EncryptionAlgorithm le type d’algorithme à utiliser pour chiffrer le spécifié plaintext. Les valeurs possibles pour les clés asymétriques sont les suivantes : RSA1_5, RSA_OAEP et RSA_OAEP_256. Les valeurs possibles pour les clés symétriques sont les suivantes : A128CBC, A128CBCPADA128CBC_HS256, A128GCM, A192CBC, A256CBCA192CBC_HS384A192GCMA256CBCPADA192CBCPADA256CBC_HS512 et .A256GCM

Exemples de code

Chiffre le contenu imprime les détails du contenu chiffré lorsqu’une réponse a été reçue.

byte[] plaintextToEncrypt = new byte[100];
 new Random(0x1234567L).nextBytes(plaintextToEncrypt);

 EncryptResult encryptionResult = cryptographyClient.encrypt(EncryptionAlgorithm.RSA_OAEP, plaintextToEncrypt,
     new Context("key1", "value1"));

 System.out.printf("Received encrypted content of length: %d, with algorithm: %s.%n",
     encryptionResult.getCipherText().length, encryptionResult.getAlgorithm());

Parameters:

algorithm - Algorithme à utiliser pour le chiffrement.
plaintext - Contenu à chiffrer.
context - Contexte supplémentaire passé par le HttpPipeline pendant l’appel de service.

Returns:

EncryptResult dont getCipherText() contient le contenu chiffré.

getKey

public KeyVaultKey getKey()

Obtient la partie publique de la clé configurée. L’opération get key s’applique à tous les types de clés et nécessite l’autorisation keys/get pour les opérations non locales.

Exemples de code

Obtient la clé configurée dans le client et imprime les détails de la clé retournée lorsqu’une réponse a été reçue.

KeyVaultKey key = cryptographyClient.getKey();

 System.out.printf("Key returned with name: %s and id: %s.%n", key.getName(), key.getId());

Returns:

Mono contenant le demandéKeyVaultKey.

getKeyWithResponse

public Response getKeyWithResponse(Context context)

Obtient la partie publique de la clé configurée. L’opération get key s’applique à tous les types de clés et nécessite l’autorisation keys/get pour les opérations non locales.

Exemples de code

Obtient la clé configurée dans le client et imprime les détails de la clé retournée lorsqu’une réponse a été reçue.

KeyVaultKey keyWithVersion = cryptographyClient.getKeyWithResponse(new Context("key1", "value1")).getValue();

 System.out.printf("Key is returned with name: %s and id %s.%n", keyWithVersion.getName(),
     keyWithVersion.getId());

Parameters:

context - Contexte supplémentaire passé par le HttpPipeline pendant l’appel de service.

Returns:

Mono contenant un Response<T> dont value contient le demandéKeyVaultKey.

sign

public SignResult sign(SignatureAlgorithm algorithm, byte[] digest)

Crée une signature à partir d’un digest à l’aide de la clé configurée. L’opération de signature prend en charge les clés asymétriques et symétriques. Cette opération nécessite l’autorisation pour les keys/sign opérations non locales.

indique SignatureAlgorithm le type d’algorithme à utiliser pour créer la signature à partir du digest. Les valeurs possibles sont les suivantes : ES256, ES512ES384, ES256K, PS256, RS512RS384, RS256, , RS384et RS512.

Exemples de code

Chante le condensé imprime les détails de la signature lorsqu’une réponse a été reçue.

byte[] data = new byte[100];
 new Random(0x1234567L).nextBytes(data);
 MessageDigest md = MessageDigest.getInstance("SHA-256");
 md.update(data);
 byte[] digest = md.digest();

 SignResult signResult = cryptographyClient.sign(SignatureAlgorithm.ES256, digest);

 System.out.printf("Received signature of length: %d, with algorithm: %s.%n", signResult.getSignature().length,
     signResult.getAlgorithm());

Parameters:

algorithm - Algorithme à utiliser pour la signature.
digest - Contenu à partir duquel la signature doit être créée.

Returns:

SignResult dont getSignature() contient la signature créée.

sign

public SignResult sign(SignatureAlgorithm algorithm, byte[] digest, Context context)

Crée une signature à partir d’un digest à l’aide de la clé configurée. L’opération de signature prend en charge les clés asymétriques et symétriques. Cette opération nécessite l’autorisation pour les keys/sign opérations non locales.

indique SignatureAlgorithm le type d’algorithme à utiliser pour créer la signature à partir du digest. Les valeurs possibles sont les suivantes : ES256, ES512ES384, ES256K, PS256, RS512RS384, RS256, , RS384et RS512.

Exemples de code

Chante le condensé imprime les détails de la signature lorsqu’une réponse a été reçue.

byte[] dataToVerify = new byte[100];
 new Random(0x1234567L).nextBytes(dataToVerify);
 MessageDigest myMessageDigest = MessageDigest.getInstance("SHA-256");
 myMessageDigest.update(dataToVerify);
 byte[] digestContent = myMessageDigest.digest();

 SignResult signResponse = cryptographyClient.sign(SignatureAlgorithm.ES256, digestContent,
     new Context("key1", "value1"));

 System.out.printf("Received signature of length: %d, with algorithm: %s.%n", signResponse.getSignature().length,
     signResponse.getAlgorithm());

Parameters:

algorithm - Algorithme à utiliser pour la signature.
digest - Contenu à partir duquel la signature doit être créée.
context - Contexte supplémentaire passé par le HttpPipeline pendant l’appel de service.

Returns:

SignResult dont getSignature() contient la signature créée.

signData

public SignResult signData(SignatureAlgorithm algorithm, byte[] data)

Crée une signature à partir des données brutes à l’aide de la clé configurée. L’opération de données de signature prend en charge les clés asymétriques et symétriques. Cette opération nécessite l’autorisation pour les keys/sign opérations non locales.

indique SignatureAlgorithm le type d’algorithme à utiliser pour signer le digest. Les valeurs possibles sont les suivantes : ES256, ES512ES384, ES256K, PS256, RS512RS384, RS256, , RS384et RS512.

Exemples de code

Signe les données brutes imprime les détails de la signature lorsqu’une réponse a été reçue.

byte[] data = new byte[100];
 new Random(0x1234567L).nextBytes(data);

 SignResult signResult = cryptographyClient.sign(SignatureAlgorithm.ES256, data);

 System.out.printf("Received signature of length: %d, with algorithm: %s.%n", signResult.getSignature().length,
     signResult.getAlgorithm());

Parameters:

algorithm - Algorithme à utiliser pour la signature.
data - Contenu à partir duquel la signature doit être créée.

Returns:

SignResult dont getSignature() contient la signature créée.

signData

public SignResult signData(SignatureAlgorithm algorithm, byte[] data, Context context)

Crée une signature à partir des données brutes à l’aide de la clé configurée. L’opération de données de signature prend en charge les clés asymétriques et symétriques. Cette opération nécessite l’autorisation pour les keys/sign opérations non locales.

indique SignatureAlgorithm le type d’algorithme à utiliser pour signer le digest. Les valeurs possibles sont les suivantes : ES256, ES512ES384, ES256K, PS256, RS512RS384, RS256, , RS384et RS512.

Exemples de code

Signe les données brutes imprime les détails de la signature lorsqu’une réponse a été reçue.

byte[] plainTextData = new byte[100];
 new Random(0x1234567L).nextBytes(plainTextData);

 SignResult signingResult = cryptographyClient.sign(SignatureAlgorithm.ES256, plainTextData);

 System.out.printf("Received signature of length: %d, with algorithm: %s.%n",
     signingResult.getSignature().length, new Context("key1", "value1"));

Parameters:

algorithm - Algorithme à utiliser pour la signature.
data - Contenu à partir duquel la signature doit être créée.
context - Contexte supplémentaire passé par le HttpPipeline pendant l’appel de service.

Returns:

SignResult dont getSignature() contient la signature créée.

unwrapKey

public UnwrapResult unwrapKey(KeyWrapAlgorithm algorithm, byte[] encryptedKey)

Désencapsule une clé symétrique à l’aide de la clé configurée qui a été initialement utilisée pour l’encapsulage de cette clé. Cette opération est l’inverse de l’opération wrap. L’opération unwrap prend en charge les clés asymétriques et symétriques à désencapsuler. Cette opération nécessite l’autorisation pour les keys/unwrapKey opérations non locales.

Indique KeyWrapAlgorithm le type d’algorithme à utiliser pour désencapsuler le contenu de clé chiffrée spécifié. Les valeurs possibles pour les clés asymétriques sont les suivantes : RSA1_5, RSA_OAEP et RSA_OAEP_256. Les valeurs possibles pour les clés symétriques sont les suivantes : A128KW, A192KW et A256KW.

Exemples de code

Désencapsule le contenu de la clé pour afficher les détails de la clé non-utilisée lorsqu’une réponse a été reçue.

byte[] keyContent = new byte[100];
 new Random(0x1234567L).nextBytes(keyContent);

 WrapResult wrapKeyResult = cryptographyClient.wrapKey(KeyWrapAlgorithm.RSA_OAEP, keyContent,
     new Context("key1", "value1"));
 UnwrapResult unwrapResult = cryptographyClient.unwrapKey(KeyWrapAlgorithm.RSA_OAEP,
     wrapKeyResult.getEncryptedKey());

 System.out.printf("Received key of length %d", unwrapResult.getKey().length);

Parameters:

algorithm - Algorithme de chiffrement à utiliser pour l’encapsulage de la clé.
encryptedKey - Contenu de clé chiffrée à désencapsuler.

Returns:

dont UnwrapResultgetKey() contient le résultat de clé non-entraînée.

unwrapKey

public UnwrapResult unwrapKey(KeyWrapAlgorithm algorithm, byte[] encryptedKey, Context context)

Désencapsule une clé symétrique à l’aide de la clé configurée qui a été initialement utilisée pour l’encapsulage de cette clé. Cette opération est l’inverse de l’opération wrap. L’opération unwrap prend en charge les clés asymétriques et symétriques à désencapsuler. Cette opération nécessite l’autorisation pour les keys/unwrapKey opérations non locales.

Indique KeyWrapAlgorithm le type d’algorithme à utiliser pour désencapsuler le contenu de clé chiffrée spécifié. Les valeurs possibles pour les clés asymétriques sont les suivantes : RSA1_5, RSA_OAEP et RSA_OAEP_256. Les valeurs possibles pour les clés symétriques sont les suivantes : A128KW, A192KW et A256KW.

Exemples de code

Désencapsule le contenu de la clé pour afficher les détails de la clé non-utilisée lorsqu’une réponse a été reçue.

byte[] keyContentToWrap = new byte[100];
 new Random(0x1234567L).nextBytes(keyContentToWrap);
 Context context = new Context("key1", "value1");

 WrapResult wrapKeyContentResult =
     cryptographyClient.wrapKey(KeyWrapAlgorithm.RSA_OAEP, keyContentToWrap, context);
 UnwrapResult unwrapKeyResponse =
     cryptographyClient.unwrapKey(KeyWrapAlgorithm.RSA_OAEP, wrapKeyContentResult.getEncryptedKey(), context);

 System.out.printf("Received key of length %d", unwrapKeyResponse.getKey().length);

Parameters:

algorithm - Algorithme de chiffrement à utiliser pour l’encapsulage de la clé.
encryptedKey - Contenu de clé chiffrée à désencapsuler.
context - Contexte supplémentaire passé par le HttpPipeline pendant l’appel de service.

Returns:

dont UnwrapResultgetKey() contient le résultat de clé non-entraînée.

verify

public VerifyResult verify(SignatureAlgorithm algorithm, byte[] digest, byte[] signature)

Vérifie une signature à l’aide de la clé configurée. L’opération de vérification prend en charge les clés symétriques et les clés asymétriques. Dans le cas de clés asymétriques, la partie publique de la clé est utilisée pour vérifier la signature. Cette opération nécessite l’autorisation pour les keys/verify opérations non locales.

indique SignatureAlgorithm le type d’algorithme à utiliser pour vérifier la signature. Les valeurs possibles sont les suivantes : ES256, ES512ES384, ES256K, PS256, RS512RS384, RS256, , RS384et RS512.

Exemples de code

Vérifie la signature par rapport au condensé spécifié imprime les détails de vérification lorsqu’une réponse a été reçue.

byte[] myData = new byte[100];
 new Random(0x1234567L).nextBytes(myData);
 MessageDigest messageDigest = MessageDigest.getInstance("SHA-256");
 messageDigest.update(myData);
 byte[] myDigest = messageDigest.digest();

 // A signature can be obtained from the SignResult returned by the CryptographyClient.sign() operation.
 VerifyResult verifyResult = cryptographyClient.verify(SignatureAlgorithm.ES256, myDigest, signature);

 System.out.printf("Verification status: %s.%n", verifyResult.isValid());

Parameters:

algorithm - Algorithme à utiliser pour la signature.
digest - Contenu à partir duquel la signature a été créée.
signature - Signature à vérifier.

Returns:

verify

public VerifyResult verify(SignatureAlgorithm algorithm, byte[] digest, byte[] signature, Context context)

Vérifie une signature à l’aide de la clé configurée. L’opération de vérification prend en charge les clés symétriques et les clés asymétriques. Dans le cas de clés asymétriques, la partie publique de la clé est utilisée pour vérifier la signature. Cette opération nécessite l’autorisation pour les keys/verify opérations non locales.

indique SignatureAlgorithm le type d’algorithme à utiliser pour vérifier la signature. Les valeurs possibles sont les suivantes : ES256, ES512ES384, ES256K, PS256, RS512RS384, RS256, , RS384et RS512.

Exemples de code

Vérifie la signature par rapport au condensé spécifié imprime les détails de vérification lorsqu’une réponse a été reçue.

byte[] dataBytes = new byte[100];
 new Random(0x1234567L).nextBytes(dataBytes);
 MessageDigest msgDigest = MessageDigest.getInstance("SHA-256");
 msgDigest.update(dataBytes);
 byte[] digestBytes = msgDigest.digest();

 // A signature can be obtained from the SignResult returned by the CryptographyClient.sign() operation.
 VerifyResult verifyResponse = cryptographyClient.verify(SignatureAlgorithm.ES256, digestBytes, signatureBytes,
     new Context("key1", "value1"));

 System.out.printf("Verification status: %s.%n", verifyResponse.isValid());

Parameters:

algorithm - Algorithme à utiliser pour la signature.
digest - Contenu à partir duquel la signature a été créée.
signature - Signature à vérifier.
context - Contexte supplémentaire passé par le HttpPipeline pendant l’appel de service.

Returns:

verifyData

public VerifyResult verifyData(SignatureAlgorithm algorithm, byte[] data, byte[] signature)

Vérifie une signature par rapport aux données brutes à l’aide de la clé configurée. L’opération de vérification prend en charge les clés symétriques et les clés asymétriques. Dans le cas de clés asymétriques, la partie publique de la clé est utilisée pour vérifier la signature. Cette opération nécessite l’autorisation pour les keys/verify opérations non locales.

indique SignatureAlgorithm le type d’algorithme à utiliser pour vérifier la signature. Les valeurs possibles sont les suivantes : ES256, ES512ES384, ES256K, PS256, RS512RS384, RS256, , RS384et RS512.

Exemples de code

Vérifie la signature par rapport aux données brutes qui impriment les détails de vérification lorsqu’une réponse a été reçue.

byte[] myData = new byte[100];
 new Random(0x1234567L).nextBytes(myData);

 // A signature can be obtained from the SignResult returned by the CryptographyClient.sign() operation.
 VerifyResult verifyResult = cryptographyClient.verify(SignatureAlgorithm.ES256, myData, signature);

 System.out.printf("Verification status: %s.%n", verifyResult.isValid());

Parameters:

algorithm - Algorithme à utiliser pour la signature.
data - Contenu brut sur lequel la signature doit être vérifiée.
signature - Signature à vérifier.

Returns:

verifyData

public VerifyResult verifyData(SignatureAlgorithm algorithm, byte[] data, byte[] signature, Context context)

Vérifie une signature par rapport aux données brutes à l’aide de la clé configurée. L’opération de vérification prend en charge les clés symétriques et les clés asymétriques. Dans le cas de clés asymétriques, la partie publique de la clé est utilisée pour vérifier la signature. Cette opération nécessite l’autorisation pour les keys/verify opérations non locales.

indique SignatureAlgorithm le type d’algorithme à utiliser pour vérifier la signature. Les valeurs possibles sont les suivantes : ES256, ES512ES384, ES256K, PS256, RS512RS384, RS256, , RS384et RS512.

Exemples de code

Vérifie la signature par rapport aux données brutes qui impriment les détails de vérification lorsqu’une réponse a été reçue.

byte[] dataToVerify = new byte[100];
 new Random(0x1234567L).nextBytes(dataToVerify);

 // A signature can be obtained from the SignResult returned by the CryptographyClient.sign() operation.
 VerifyResult verificationResult = cryptographyClient.verify(SignatureAlgorithm.ES256, dataToVerify,
     mySignature, new Context("key1", "value1"));

 System.out.printf("Verification status: %s.%n", verificationResult.isValid());

Parameters:

algorithm - Algorithme à utiliser pour la signature.
data - Contenu brut sur lequel la signature doit être vérifiée.
signature - Signature à vérifier.
context - Contexte supplémentaire passé par le HttpPipeline pendant l’appel de service.

Returns:

wrapKey

public WrapResult wrapKey(KeyWrapAlgorithm algorithm, byte[] key)

Encapsule une clé symétrique à l’aide de la clé configurée. L’opération wrap prend en charge l’encapsulation d’une clé symétrique avec des clés symétriques et asymétriques. Cette opération nécessite l’autorisation pour les keys/wrapKey opérations non locales.

indique KeyWrapAlgorithm le type d’algorithme à utiliser pour l’encapsulage du contenu de clé spécifié. Les valeurs possibles sont les suivantes : RSA1_5, RSA_OAEP et RSA_OAEP_256. Les valeurs possibles pour les clés symétriques sont les suivantes : A128KW, A192KW et A256KW.

Exemples de code

Encapsulé le contenu de la clé imprime les détails de la clé encapsulée lorsqu’une réponse a été reçue.

byte[] key = new byte[100];
 new Random(0x1234567L).nextBytes(key);

 WrapResult wrapResult = cryptographyClient.wrapKey(KeyWrapAlgorithm.RSA_OAEP, key);

 System.out.printf("Received encrypted key of length: %d, with algorithm: %s.%n",
     wrapResult.getEncryptedKey().length, wrapResult.getAlgorithm());

Parameters:

algorithm - Algorithme de chiffrement à utiliser pour l’encapsulage de la clé.
key - Contenu de clé à encapsuler.

Returns:

dont WrapResultgetEncryptedKey() contient le résultat de clé encapsulée.

wrapKey

public WrapResult wrapKey(KeyWrapAlgorithm algorithm, byte[] key, Context context)

Encapsule une clé symétrique à l’aide de la clé configurée. L’opération wrap prend en charge l’encapsulation d’une clé symétrique avec des clés symétriques et asymétriques. Cette opération nécessite l’autorisation pour les keys/wrapKey opérations non locales.

indique KeyWrapAlgorithm le type d’algorithme à utiliser pour l’encapsulage du contenu de clé spécifié. Les valeurs possibles sont les suivantes : RSA1_5, RSA_OAEP et RSA_OAEP_256. Les valeurs possibles pour les clés symétriques sont les suivantes : A128KW, A192KW et A256KW.

Exemples de code

Encapsulé le contenu de la clé imprime les détails de la clé encapsulée lorsqu’une réponse a été reçue.

byte[] keyToWrap = new byte[100];
 new Random(0x1234567L).nextBytes(keyToWrap);

 WrapResult keyWrapResult = cryptographyClient.wrapKey(KeyWrapAlgorithm.RSA_OAEP, keyToWrap,
     new Context("key1", "value1"));

 System.out.printf("Received encrypted key of length: %d, with algorithm: %s.%n",
     keyWrapResult.getEncryptedKey().length, keyWrapResult.getAlgorithm());

Parameters:

algorithm - Algorithme de chiffrement à utiliser pour l’encapsulage de la clé.
key - Contenu de clé à encapsuler.
context - Contexte supplémentaire passé par le HttpPipeline pendant l’appel de service.

Returns:

dont WrapResultgetEncryptedKey() contient le résultat de clé encapsulée.

S’applique à