Search in sources :

Example 1 with UnwrapResult

use of com.azure.security.keyvault.keys.cryptography.models.UnwrapResult in project mssql-jdbc by Microsoft.

the class SQLServerColumnEncryptionAzureKeyVaultProvider method AzureKeyVaultUnWrap.

/**
 * Encrypts the text using specified Azure Key Vault key.
 *
 * @param masterKeyPath
 *        - Azure Key Vault key url.
 * @param encryptionAlgorithm
 *        - Encrypted Column Encryption Key.
 * @param encryptedColumnEncryptionKey
 *        - Encrypted Column Encryption Key.
 * @return Returns the decrypted plaintext Column Encryption Key or throws an exception if there are any errors.
 * @throws SQLServerException
 */
private byte[] AzureKeyVaultUnWrap(String masterKeyPath, KeyWrapAlgorithm encryptionAlgorithm, byte[] encryptedColumnEncryptionKey) throws SQLServerException {
    if (null == encryptedColumnEncryptionKey) {
        throw new SQLServerException(SQLServerException.getErrString("R_EncryptedCEKNull"), null);
    }
    if (0 == encryptedColumnEncryptionKey.length) {
        throw new SQLServerException(SQLServerException.getErrString("R_EmptyEncryptedCEK"), null);
    }
    CryptographyClient cryptoClient = getCryptographyClient(masterKeyPath);
    UnwrapResult unwrappedKey = cryptoClient.unwrapKey(encryptionAlgorithm, encryptedColumnEncryptionKey);
    return unwrappedKey.getKey();
}
Also used : CryptographyClient(com.azure.security.keyvault.keys.cryptography.CryptographyClient) UnwrapResult(com.azure.security.keyvault.keys.cryptography.models.UnwrapResult)

Example 2 with UnwrapResult

use of com.azure.security.keyvault.keys.cryptography.models.UnwrapResult in project mssql-jdbc by microsoft.

the class SQLServerColumnEncryptionAzureKeyVaultProvider method AzureKeyVaultUnWrap.

/**
 * Encrypts the text using specified Azure Key Vault key.
 *
 * @param masterKeyPath
 *        - Azure Key Vault key url.
 * @param encryptionAlgorithm
 *        - Encrypted Column Encryption Key.
 * @param encryptedColumnEncryptionKey
 *        - Encrypted Column Encryption Key.
 * @return Returns the decrypted plaintext Column Encryption Key or throws an exception if there are any errors.
 * @throws SQLServerException
 */
private byte[] AzureKeyVaultUnWrap(String masterKeyPath, KeyWrapAlgorithm encryptionAlgorithm, byte[] encryptedColumnEncryptionKey) throws SQLServerException {
    if (null == encryptedColumnEncryptionKey) {
        throw new SQLServerException(SQLServerException.getErrString("R_EncryptedCEKNull"), null);
    }
    if (0 == encryptedColumnEncryptionKey.length) {
        throw new SQLServerException(SQLServerException.getErrString("R_EmptyEncryptedCEK"), null);
    }
    CryptographyClient cryptoClient = getCryptographyClient(masterKeyPath);
    UnwrapResult unwrappedKey = cryptoClient.unwrapKey(encryptionAlgorithm, encryptedColumnEncryptionKey);
    return unwrappedKey.getKey();
}
Also used : CryptographyClient(com.azure.security.keyvault.keys.cryptography.CryptographyClient) UnwrapResult(com.azure.security.keyvault.keys.cryptography.models.UnwrapResult)

Aggregations

CryptographyClient (com.azure.security.keyvault.keys.cryptography.CryptographyClient)2 UnwrapResult (com.azure.security.keyvault.keys.cryptography.models.UnwrapResult)2