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
- Crittografia di una sequenza arbitraria di byte tramite una chiave di crittografia.
- Decrittografia di un singolo blocco di dati crittografati.
- Wrapping di una chiave simmetrica usando una chiave specificata.
- 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 |