Invoke-AzKeyVaultKeyOperation

Executa operações como "Criptografar", "Descriptografar", "Encapsular" ou "Desembrulhar" usando uma chave especificada armazenada em um cofre de chaves ou hsm gerenciado.

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

O cmdlet Invoke-AzKeyVaultKeyOperation oferece suporte

  1. Criptografar uma sequência arbitrária de bytes usando uma chave de criptografia.
  2. Descriptografar um único bloco de dados criptografados.
  3. Encapsulando uma chave simétrica usando uma chave especificada.
  4. Desempacotando uma chave simétrica usando a chave especificada que foi usada inicialmente para encapsular essa chave.

Exemplos

Exemplo 1: criptografa a matriz de bytes usando uma chave de criptografia

$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

Criptografa $byteArray usando test-key armazenado em test-kv.

Exemplo 2: Descriptografa a matriz de bytes usando uma chave de criptografia

$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

Descriptografa $encryptedData.RawResult usando chave de teste armazenada em test-kv. O $decryptedData.RawResult mesmo acontece com $byteArrayo , que são dados originais.

Exemplo 3: criptografa texto sem formatação usando uma chave de criptografia

$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

Criptografa a cadeia de caracteres "test" usando test-key armazenada em test-kv. O RawResult é o resultado criptografado no formato de matriz de bytes, onde [System.Convert]::ToBase64String($encryptedData.RawResult) é igual a $encryptedData.Result.

Exemplo 4: Descriptografar dados criptografados em texto sem formatação

$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

Descriptografa dados criptografados que são criptografados usando chave de teste armazenada em test-kv. O $decryptedData.Result é test. O RawResult é o resultado descriptografado no formato de matriz de bytes, onde [System.Text.UTF8Encoding]::UTF8. GetString($decryptedData.RawResult) é igual a $decryptedData.Result.

Exemplo 5: Encapsula uma chave simétrica usando uma chave 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

Encapsula uma chave simétrica usando a chave chamada test-key armazenada em test-kv. O Result resultado é encapsulado no formato de cadeia de caracteres Base64.

Exemplo 6: Desencapsula uma chave simétrica usando uma chave 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 uma chave simétrica usando uma chave de teste especificada armazenada em test-kv. O Result é uma corda simples.

Parâmetros

-Algorithm

Identificador de algoritmo

Type:String
Aliases:EncryptionAlgorithm, WrapAlgorithm
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ByteArrayValue

O valor a ser operado no formato de matriz de bytes.

Type:Byte[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

As credenciais, a conta, o locatário e a assinatura usados para a comunicação com o Azure.

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HsmName

Nome do HSM.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Objeto chave

Type:PSKeyVaultKeyIdentityItem
Aliases:Key
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Nome da chave.

Type:String
Aliases:KeyName
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Operation

Identificador de algoritmo

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Value

O valor a ser operado. Esse parâmetro será convertido em matriz de bytes na forma de codificação UTF-8. Se seu valor não puder ser codificado por UTF-8, use o parâmetro ByteArrayValue como alternativa.

Type:SecureString
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VaultName

Nome do cofre.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Version

Versão chave.

Type:String
Aliases:KeyVersion
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

PSKeyVaultKeyIdentityItem

Saídas

PSKeyOperationResult