Invoke-AzKeyVaultKeyOperation

Wykonuje operację, na przykład "Encrypt", "Decrypt", "Wrap" lub "Unwrap" przy użyciu określonego klucza przechowywanego w magazynie kluczy lub zarządzanym module hsm.

Składnia

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

Opis

Polecenie cmdlet Invoke-AzKeyVaultKeyOperation obsługuje

  1. Szyfrowanie dowolnej sekwencji bajtów przy użyciu klucza szyfrowania.
  2. Odszyfrowywanie pojedynczego bloku zaszyfrowanych danych.
  3. Zawijanie klucza symetrycznego przy użyciu określonego klucza.
  4. Rozpakuj klucz symetryczny przy użyciu określonego klucza, który został początkowo użyty do opakowywania tego klucza.

Przykłady

Przykład 1. Szyfrowanie tablicy bajtów przy użyciu klucza szyfrowania

$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

Szyfruje $byteArray przy użyciu klucza testowego przechowywanego w narzędziu test-kv.

Przykład 2. Odszyfrowywanie tablicy bajtów przy użyciu klucza szyfrowania

$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

Odszyfrowuje $encryptedData.RawResult przy użyciu klucza testowego przechowywanego w narzędziu test-kv. Element jest taki sam jak w $decryptedData.RawResult przypadku $byteArrayelementu , który jest oryginalnymi danymi.

Przykład 3. Szyfrowanie zwykłego tekstu przy użyciu klucza szyfrowania

$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

Szyfruje ciąg "test" przy użyciu klucza testowego przechowywanego w narzędziu test-kv. Jest RawResult to zaszyfrowany wynik w formacie tablicy bajtów, gdzie [System.Convert]::ToBase64String($encryptedData.RawResult) równa się $encryptedData.Result.

Przykład 4. Odszyfrowywanie zaszyfrowanych danych w postaci zwykłego tekstu

$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

Odszyfrowuje zaszyfrowane dane szyfrowane przy użyciu klucza testowego przechowywanego w narzędziu test-kv. Wartość $decryptedData.Result to test. Jest RawResult to wynik odszyfrowany w formacie tablicy bajtów, gdzie [System.Text.UTF8Encoding]::UTF8. GetString($decryptedData.RawResult) równa się $decryptedData.Result.

Przykład 5. Opakowuje klucz symetryczny przy użyciu określonego klucza

$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

Opakowuje klucz symetryczny przy użyciu klucza o nazwie test-key przechowywanego w narzędziu test-kv. Wynik Result jest opakowany w formacie ciągu Base64.

Przykład 6. Odpakowywanie klucza symetrycznego przy użyciu określonego klucza

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

Odpakowuje klucz symetryczny przy użyciu określonego klucza test-key przechowywanego w pliku test-kv. Jest Result to zwykły ciąg.

Parametry

-Algorithm

Identyfikator algorytmu

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

-ByteArrayValue

Wartość, która ma być obsługiwana w formacie tablicy bajtowej.

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

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

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

-DefaultProfile

Poświadczenia, konto, dzierżawa i subskrypcja używane do komunikacji z platformą Azure.

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

-HsmName

Nazwa modułu HSM.

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

-InputObject

Obiekt klucza

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

-Name

Nazwa klucza.

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

-Operation

Identyfikator algorytmu

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

-Value

Wartość, która ma być obsługiwana. Ten parametr zostanie przekonwertowany na tablicę bajtów w sposób kodowania UTF-8. Jeśli nie można kodować wartości za pomocą protokołu UTF-8, użyj parametru ByteArrayValue jako alternatywy.

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

-VaultName

Nazwa magazynu.

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

-Version

Wersja klucza.

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

-WhatIf

Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.

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

Dane wejściowe

PSKeyVaultKeyIdentityItem

Dane wyjściowe

PSKeyOperationResult