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.

Sintaxis

Invoke-AzKeyVaultKeyOperation
      [-Version <String>]
      -Operation <String>
      -Algorithm <String>
      [-ByteArrayValue <Byte[]>]
      [-Name] <String>
      [-VaultName] <String>
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-AzKeyVaultKeyOperation
      [-Version <String>]
      -Operation <String>
      -Algorithm <String>
      [-ByteArrayValue <Byte[]>]
      [-HsmName] <String>
      [-Name] <String>
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-AzKeyVaultKeyOperation
      [-Version <String>]
      -Operation <String>
      -Algorithm <String>
      [-ByteArrayValue <Byte[]>]
      [-InputObject] <PSKeyVaultKeyIdentityItem>
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

El cmdlet Invoke-AzKeyVaultKeyOperation admite

  1. Cifrar una secuencia arbitraria de bytes mediante una clave de cifrado.
  2. Descifrado de un único bloque de datos cifrados.
  3. Ajuste de una clave simétrica mediante una clave especificada.
  4. 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

$plainText = "test"
$byteArray = [system.Text.Encoding]::UTF8.GetBytes($plainText)
$encryptedData = Invoke-AzKeyVaultKeyOperation -Operation Encrypt -Algorithm RSA1_5 -VaultName test-kv -Name test-key -ByteArrayValue $byteArray
$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.

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
$plainText = [system.Text.Encoding]::UTF8.GetString($decryptedData.RawResult)
$plainText

test

Descifra los datos cifrados que se cifran mediante la clave de prueba almacenada en test-kv. RawResult es el resultado descifrado en formato de matriz de bytes.

Ejemplo 5: Encapsula una clave simétrica mediante una clave especificada

$key = "ovQIlbB0DgWhZA7sgkPxbg9H-Ly-VlNGPSgGrrZvlIo"
$byteArray = [system.Text.Encoding]::UTF8.GetBytes($key)
$wrappedResult = Invoke-AzKeyVaultKeyOperation -Operation Wrap -Algorithm RSA1_5 -VaultName test-kv -Name test-key -ByteArrayValue $byteArray
$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. RawResult El resultado se ajusta en formato de matriz de bytes.

Ejemplo 6: Desencapsula una clave simétrica mediante una clave especificada

$unwrappedResult = Invoke-AzKeyVaultKeyOperation -Operation Unwrap -Algorithm RSA1_5 -VaultName test-kv -Name test-key -ByteArrayValue $wrappedResult.RawResult
$key = [system.Text.Encoding]::UTF8.GetString($unwrappedResult.RawResult)
$key

ovQIlbB0DgWhZA7sgkPxbg9H-Ly-VlNGPSgGrrZvlIo

Desencapsula una clave simétrica mediante una clave de prueba de clave especificada almacenada en test-kv. El RawResult resultado se desencapsula en formato de matriz de bytes.

Parámetros

-Algorithm

Identificador de algoritmo

Tipo:String
Alias:EncryptionAlgorithm, WrapAlgorithm
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ByteArrayValue

Valor que se va a operar en formato de matriz de bytes.

Tipo:Byte[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DefaultProfile

Credenciales, cuenta, inquilino y suscripción usados para la comunicación con Azure.

Tipo:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-HsmName

Nombre de HSM.

Tipo:String
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-InputObject

Objeto de clave

Tipo:PSKeyVaultKeyIdentityItem
Alias:Key
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Name

Nombre de clave.

Tipo:String
Alias:KeyName
Posición:1
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Operation

Identificador de algoritmo

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-VaultName

Nombre del almacén.

Tipo:String
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Version

Versión de la clave.

Tipo:String
Alias:KeyVersion
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

PSKeyVaultKeyIdentityItem

Salidas

PSKeyOperationResult