Condividi tramite


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

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

$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

Crittografa la stringa "test" usando la chiave di test archiviata in test-kv. RawResult è il risultato crittografato in formato matrice di byte.

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

test

Decrittografa i dati crittografati crittografati usando la chiave di test archiviata in test-kv. RawResult è il risultato decrittografato in formato matrice di byte.

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

$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

Esegue il wrapping di una chiave simmetrica usando la chiave denominata test-key archiviata in test-kv. Viene eseguito il RawResult wrapping del risultato in formato matrice di byte.

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

$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

Annulla il wrapping di una chiave simmetrica usando una chiave di test-chiave specificata archiviata in test-kv. Il RawResult risultato è unwrapped in formato matrice di byte.

Parametri

-Algorithm

Identificatore dell'algoritmo

Tipo:String
Alias:EncryptionAlgorithm, WrapAlgorithm
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ByteArrayValue

Valore da gestire in formato matrice di byte.

Tipo:Byte[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DefaultProfile

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

Tipo:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-HsmName

Nome HSM.

Tipo:String
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-InputObject

Oggetto Key

Tipo:PSKeyVaultKeyIdentityItem
Alias:Key
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Name

Nome chiave.

Tipo:String
Alias:KeyName
Posizione:1
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Operation

Identificatore dell'algoritmo

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-VaultName

Nome dell'insieme di credenziali.

Tipo:String
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Version

Versione chiave.

Tipo:String
Alias:KeyVersion
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WhatIf

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

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

PSKeyVaultKeyIdentityItem

Output

PSKeyOperationResult