CryptographyClient Classe
- java.
lang. Object - com.
azure. security. keyvault. keys. cryptography. CryptographyClient
- com.
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 |
---|---|
Decrypt |
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é. |
Decrypt |
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é. |
Decrypt |
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é. |
Encrypt |
encrypt(EncryptParameters encryptParameters, Context context)
Chiffre une séquence arbitraire d’octets à l’aide de la clé configurée. |
Encrypt |
encrypt(EncryptionAlgorithm algorithm, byte[] plaintext)
Chiffre une séquence arbitraire d’octets à l’aide de la clé configurée. |
Encrypt |
encrypt(EncryptionAlgorithm algorithm, byte[] plaintext, Context context)
Chiffre une séquence arbitraire d’octets à l’aide de la clé configurée. |
Key |
getKey()
Obtient la partie publique de la clé configurée. |
Response<Key |
getKeyWithResponse(Context context)
Obtient la partie publique de la clé configurée. |
Sign |
sign(SignatureAlgorithm algorithm, byte[] digest)
Crée une signature à partir d’un digest à l’aide de la clé configurée. |
Sign |
sign(SignatureAlgorithm algorithm, byte[] digest, Context context)
Crée une signature à partir d’un digest à l’aide de la clé configurée. |
Sign |
signData(SignatureAlgorithm algorithm, byte[] data)
Crée une signature à partir des données brutes à l’aide de la clé configurée. |
Sign |
signData(SignatureAlgorithm algorithm, byte[] data, Context context)
Crée une signature à partir des données brutes à l’aide de la clé configurée. |
Unwrap |
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é. |
Unwrap |
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é. |
Verify |
verify(SignatureAlgorithm algorithm, byte[] digest, byte[] signature)
Vérifie une signature à l’aide de la clé configurée. |
Verify |
verify(SignatureAlgorithm algorithm, byte[] digest, byte[] signature, Context context)
Vérifie une signature à l’aide de la clé configurée. |
Verify |
verifyData(SignatureAlgorithm algorithm, byte[] data, byte[] signature)
Vérifie une signature par rapport aux données brutes à l’aide de la clé configurée. |
Verify |
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. |
Wrap |
wrapKey(KeyWrapAlgorithm algorithm, byte[] key)
Encapsule une clé symétrique à l’aide de la clé configurée. |
Wrap |
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
getKeyWithResponse
public Response
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
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:
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:
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:
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:
Returns:
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:
Returns:
S’applique à
Azure SDK for Java