Invoke-AzKeyVaultKeyOperation

Esegue un'operazione come "Encrypt", "Decrypt", "Wrap" o "Unwrap" usando una chiave specificata archiviata in un insieme di credenziali delle chiavi o un hsm gestito.

Sintassi

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>]

Descrizione

Il cmdlet Invoke-AzKeyVaultKeyOperation supporta

  1. Crittografia di una sequenza arbitraria di byte tramite una chiave di crittografia.
  2. Decrittografia di un singolo blocco di dati crittografati.
  3. Wrapping di una chiave simmetrica usando una chiave specificata.
  4. Annullamento del wrapping di una chiave simmetrica utilizzando la chiave specificata usata inizialmente per il wrapping di tale chiave.

Esempio

Esempio 1: Crittografa una matrice di byte usando una chiave di crittografia

$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

Crittografa $byteArray usando la chiave di test archiviata in test-kv.

Esempio 2: Decrittografa la matrice di byte usando una chiave di crittografia

$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

Decrittografa $encryptedData.RawResult l'uso di test-key archiviato in test-kv. è $decryptedData.RawResult uguale a $byteArray, ovvero i dati originali.

Esempio 3: Crittografa testo normale usando una chiave di crittografia

$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

Crittografa la stringa "test" usando la chiave di test archiviata in test-kv. RawResult è il risultato crittografato in formato matrice di byte, dove [System.Convert]::ToBase64String($encryptedData.RawResult) è uguale a $encryptedData.Result.

Esempio 4: Decrittografare i dati crittografati in testo normale

$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

Decrittografa i dati crittografati crittografati usando la chiave di test archiviata in test-kv. Il $decryptedData.Result è test. RawResult è il risultato decrittografato in formato matrice di byte, dove [System.Text.UTF8Encoding]::UTF8. GetString($decryptedData.RawResult) è uguale a $decryptedData.Result.

Esempio 5: Esegue il wrapping di una chiave simmetrica usando una chiave specificata

$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

Esegue il wrapping di una chiave simmetrica usando la chiave denominata test-key archiviata in test-kv. Viene eseguito il wrapping del Result risultato in formato stringa Base64.

Esempio 6: Annulla il wrapping di una chiave simmetrica usando una chiave specificata

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

Annulla il wrapping di una chiave simmetrica usando una chiave di test-chiave specificata archiviata in test-kv. Result è una stringa normale.

Parametri

-Algorithm

Identificatore dell'algoritmo

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

-ByteArrayValue

Valore da gestire in formato matrice di byte.

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

-Confirm

Richiede conferma prima di eseguire il cmdlet.

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

-DefaultProfile

Le credenziali, l’account, il tenant e la sottoscrizione usati per comunicare con Azure.

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

-HsmName

Nome HSM.

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

-InputObject

Oggetto Key

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

-Name

Nome chiave.

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

-Operation

Identificatore dell'algoritmo

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

-Value

Valore da gestire. Questo parametro verrà convertito in matrice di byte in modo di codifica UTF-8. Se il valore non può essere codificato da UTF-8, usare il parametro ByteArrayValue come alternativa.

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

-VaultName

Nome dell'insieme di credenziali.

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

-Version

Versione chiave.

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

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

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

Input

PSKeyVaultKeyIdentityItem

Output

PSKeyOperationResult