IKey Interface
public interface IKey
Interface for representing cryptographic keys with the Microsoft Azure Key Vault libraries.
Method Summary
Modifier and Type | Method and Description |
---|---|
ListenableFuture<byte[]> |
decryptAsync(final byte[] ciphertext, final byte[] iv, final byte[] authenticationData, final byte[] authenticationTag, final String algorithm)
Decrypts the specified cipher text. Note that not all algorithms require, or support, all parameters. |
ListenableFuture<Triple<byte[], byte[], String>> |
encryptAsync(final byte[] plaintext, final byte[] iv, final byte[] authenticationData, final String algorithm)
Encrypts the specified plain text. Note that not all algorithms require, or support, all parameters. |
String |
getDefaultEncryptionAlgorithm()
The default encryption algorithm for this key, using the representations from Json Web Key Algorithms, RFC7513. |
String |
getDefaultKeyWrapAlgorithm()
The default key wrap algorithm for this key, using the representations from Json Web Key Algorithms, RFC7513. |
String |
getDefaultSignatureAlgorithm()
The default signature algorithm for this key, using the representations from Json Web Key Algorithms, RFC7513. |
String |
getKid()
The unique key identifier for this key. |
ListenableFuture<Pair<byte[], String>> |
signAsync(final byte[] digest, final String algorithm)
Signs the specified digest using the specified algorithm, or the keys DefaultSignatureAlgorithm if no algorithm is specified. |
ListenableFuture<byte[]> |
unwrapKeyAsync(final byte[] encryptedKey, final String algorithm)
Unwraps (decrypts) the specified encryped key material. |
ListenableFuture<Boolean> |
verifyAsync(final byte[] digest, final byte[] signature, final String algorithm)
Verifies the supplied signature value using the supplied digest and algorithm. |
ListenableFuture<Pair<byte[], String>> |
wrapKeyAsync(final byte[] key, final String algorithm)
Wraps (encrypts) the specified symmetric key material using the specified algorithm, or the keys DefaultKeyWrapAlgorithm if none is specified. |
Method Details
decryptAsync
public ListenableFuture
Decrypts the specified cipher text. Note that not all algorithms require, or support, all parameters.
Parameters:
Returns:
Throws:
encryptAsync
public ListenableFuture
Encrypts the specified plain text. Note that not all algorithms require, or support, all parameters.
Parameters:
Returns:
Throws:
getDefaultEncryptionAlgorithm
public String getDefaultEncryptionAlgorithm()
The default encryption algorithm for this key, using the representations from Json Web Key Algorithms, RFC7513.
Returns:
getDefaultKeyWrapAlgorithm
public String getDefaultKeyWrapAlgorithm()
The default key wrap algorithm for this key, using the representations from Json Web Key Algorithms, RFC7513.
Returns:
getDefaultSignatureAlgorithm
public String getDefaultSignatureAlgorithm()
The default signature algorithm for this key, using the representations from Json Web Key Algorithms, RFC7513.
Returns:
getKid
public String getKid()
The unique key identifier for this key.
Returns:
signAsync
public ListenableFuture
Signs the specified digest using the specified algorithm, or the keys DefaultSignatureAlgorithm if no algorithm is specified.
Parameters:
Returns:
Throws:
unwrapKeyAsync
public ListenableFuture
Unwraps (decrypts) the specified encryped key material.
Parameters:
Returns:
Throws:
verifyAsync
public ListenableFuture
Verifies the supplied signature value using the supplied digest and algorithm.
Parameters:
Returns:
Throws:
wrapKeyAsync
public ListenableFuture
Wraps (encrypts) the specified symmetric key material using the specified algorithm, or the keys DefaultKeyWrapAlgorithm if none is specified.
Parameters:
Returns:
Throws: