Invoke-AzKeyVaultKeyOperation
Realiza una operación como "Encrypt", "Decrypt", "Wrap" o "Unwrap" mediante una clave especificada almacenada en un almacén de claves o hsm administrado.
Syntax
Invoke-AzKeyVaultKeyOperation
[-Version <String>]
-Operation <String>
-Algorithm <String>
[-Value <SecureString>]
[-ByteArrayValue <Byte[]>]
[-Name] <String>
[-VaultName] <String>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-AzKeyVaultKeyOperation
[-Version <String>]
-Operation <String>
-Algorithm <String>
[-Value <SecureString>]
[-ByteArrayValue <Byte[]>]
[-HsmName] <String>
[-Name] <String>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-AzKeyVaultKeyOperation
[-Version <String>]
-Operation <String>
-Algorithm <String>
[-Value <SecureString>]
[-ByteArrayValue <Byte[]>]
[-InputObject] <PSKeyVaultKeyIdentityItem>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
El cmdlet Invoke-AzKeyVaultKeyOperation admite
- Cifrar una secuencia arbitraria de bytes mediante una clave de cifrado.
- Descifrado de un único bloque de datos cifrados.
- Ajuste de una clave simétrica mediante una clave especificada.
- Desencapsular una clave simétrica mediante la clave especificada que se usó inicialmente para encapsular esa clave.
Ejemplos
Ejemplo 1: Cifra la matriz de bytes mediante una clave de cifrado
$byteArray = [Byte[]]@(58, 219)
$encryptedData = Invoke-AzKeyVaultKeyOperation -Operation Encrypt -Algorithm RSA1_5 -VaultName test-kv -Name test-key -ByteArrayValue $byteArray
$encryptedData
KeyId : https://bez-kv.vault.azure.net/keys/bez-key/c96ce0fb18de446c9f4b911b686988af
RawResult : {21, 39, 82, 56…}
Algorithm : RSA1_5
$byteArray
Cifra el uso de la clave de prueba almacenada en test-kv.
Ejemplo 2: Descifra la matriz de bytes mediante una clave de cifrado
$decryptedData = Invoke-AzKeyVaultKeyOperation -Operation Decrypt -Algorithm RSA1_5 -VaultName test-kv -Name test-key -ByteArrayValue $encryptedData.RawResult
$decryptedData
KeyId : https://bez-kv.vault.azure.net/keys/bez-key/c96ce0fb18de446c9f4b911b686988af
RawResult : {58, 219}
Algorithm : RSA1_5
Descifra $encryptedData.RawResult
mediante la clave de prueba almacenada en test-kv. $decryptedData.RawResult
es el mismo con $byteArray
, que es datos originales.
Ejemplo 3: Cifra el texto sin formato mediante una clave de cifrado
$encryptedData = Invoke-AzKeyVaultKeyOperation -Operation Encrypt -Algorithm RSA1_5 -VaultName test-kv -Name test-key -Value (ConvertTo-SecureString -String "test" -AsPlainText -Force)
$encryptedData
KeyId : https://test-kv.vault.azure.net/keys/test-key/bd8b77352a2443d4983bd70e9f660bc6
RawResult : {58, 219, 6, 236…}
Algorithm : RSA1_5
Cifra la cadena "test" mediante la clave de prueba almacenada en test-kv. RawResult
es el resultado cifrado en formato de matriz de bytes, donde [System.Convert]::ToBase64String($encryptedData.RawResult) es igual a $encryptedData.Result.
Ejemplo 4: Descifrar datos cifrados en texto sin formato
$decryptedData = Invoke-AzKeyVaultKeyOperation -Operation Decrypt -Algorithm RSA1_5 -VaultName test-kv -Name test-key -ByteArrayValue $encryptedData.RawResult
$decryptedData
KeyId : https://bez-kv.vault.azure.net/keys/bez-key/c96ce0fb18de446c9f4b911b686988af
RawResult : $byteArray
Algorithm : RSA1_5
Descifra los datos cifrados que se cifran mediante la clave de prueba almacenada en test-kv. El valor de $decryptedData.Result
es test
. RawResult
es el resultado descifrado en formato de matriz de bytes, donde [System.Text.UTF8Encoding]::UTF8. GetString($decryptedData.RawResult) es igual a $decryptedData.Result.
Ejemplo 5: Encapsula una clave simétrica mediante una clave especificada
$wrappedResult = Invoke-AzKeyVaultKeyOperation -Operation Wrap -Algorithm RSA1_5 -VaultName test-kv -Name test-key -Value (ConvertTo-SecureString -String "ovQIlbB0DgWhZA7sgkPxbg9H-Ly-VlNGPSgGrrZvlIo" -AsPlainText -Force)
$wrappedResult | Format-List
KeyId : https://test-kv.vault.azure.net/keys/test-key/375cdf20252043b79c8ca0c57b6c7679
RawResult : {58, 219, 6, 236…}
Algorithm : RSA1_5
Ajusta una clave simétrica mediante la clave denominada clave de prueba almacenada en test-kv. El Result
resultado se ajusta en formato de cadena Base64.
Ejemplo 6: Desencapsula una clave simétrica mediante una clave especificada
Invoke-AzKeyVaultKeyOperation -Operation Unwrap -Algorithm RSA1_5 -VaultName test-kv -Name test-key -Value (ConvertTo-SecureString -String $result.Result -AsPlainText -Force)
KeyId : https://test-kv.vault.azure.net/keys/test-key/375cdf20252043b79c8ca0c57b6c7679
RawResult : {58, 219, 6, 236…}
Algorithm : RSA1_5
Desencapsula una clave simétrica mediante una clave de prueba de clave especificada almacenada en test-kv. Result
es una cadena sin formato.
Parámetros
-Algorithm
Identificador de algoritmo
Tipo: | String |
Aliases: | EncryptionAlgorithm, WrapAlgorithm |
Position: | Named |
valor predeterminado: | None |
Requerido: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ByteArrayValue
Valor que se va a operar en formato de matriz de bytes.
Tipo: | Byte[] |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Le solicita su confirmación antes de ejecutar el cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
Credenciales, cuenta, inquilino y suscripción usados para la comunicación con Azure.
Tipo: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HsmName
Nombre de HSM.
Tipo: | String |
Position: | 0 |
valor predeterminado: | None |
Requerido: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Objeto de clave
Tipo: | PSKeyVaultKeyIdentityItem |
Aliases: | Key |
Position: | 0 |
valor predeterminado: | None |
Requerido: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Nombre de clave.
Tipo: | String |
Aliases: | KeyName |
Position: | 1 |
valor predeterminado: | None |
Requerido: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Operation
Identificador de algoritmo
Tipo: | String |
Position: | Named |
valor predeterminado: | None |
Requerido: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
Valor que se va a operar. Este parámetro se convertirá en matriz de bytes de forma de codificación UTF-8. Si UTF-8 no puede codificar el valor, use el parámetro ByteArrayValue como alternativa.
Tipo: | SecureString |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VaultName
Nombre del almacén.
Tipo: | String |
Position: | 0 |
valor predeterminado: | None |
Requerido: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Version
Versión de la clave.
Tipo: | String |
Aliases: | KeyVersion |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.
Tipo: | SwitchParameter |
Aliases: | wi |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |