Udostępnij za pośrednictwem


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

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

$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

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.

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

test

Odszyfrowuje zaszyfrowane dane szyfrowane przy użyciu klucza testowego przechowywanego w narzędziu test-kv. Jest RawResult to odszyfrowany wynik w formacie tablicy bajtów.

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

$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

Opakowuje klucz symetryczny przy użyciu klucza o nazwie test-key przechowywanego w narzędziu test-kv. Wynik RawResult jest opakowany w formacie tablicy bajtów.

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

$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

Odpakowuje klucz symetryczny przy użyciu określonego klucza test-key przechowywanego w pliku test-kv. Jest RawResult to niezapisany wynik w formacie tablicy bajtów.

Parametry

-Algorithm

Identyfikator algorytmu

Typ:String
Aliases:EncryptionAlgorithm, WrapAlgorithm
Position:Named
wartość domyślna:None
Wymagane:True
Accept pipeline input:False
Accept wildcard characters:False

-ByteArrayValue

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

Typ:Byte[]
Position:Named
wartość domyślna:None
Wymagane:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

Typ:SwitchParameter
Aliases:cf
Position:Named
wartość domyślna:None
Wymagane:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

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

Typ:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
wartość domyślna:None
Wymagane:False
Accept pipeline input:False
Accept wildcard characters:False

-HsmName

Nazwa modułu HSM.

Typ:String
Position:0
wartość domyślna:None
Wymagane:True
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Obiekt klucza

Typ:PSKeyVaultKeyIdentityItem
Aliases:Key
Position:0
wartość domyślna:None
Wymagane:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Nazwa klucza.

Typ:String
Aliases:KeyName
Position:1
wartość domyślna:None
Wymagane:True
Accept pipeline input:False
Accept wildcard characters:False

-Operation

Identyfikator algorytmu

Typ:String
Position:Named
wartość domyślna:None
Wymagane:True
Accept pipeline input:False
Accept wildcard characters:False

-VaultName

Nazwa magazynu.

Typ:String
Position:0
wartość domyślna:None
Wymagane:True
Accept pipeline input:False
Accept wildcard characters:False

-Version

Wersja klucza.

Typ:String
Aliases:KeyVersion
Position:Named
wartość domyślna:None
Wymagane:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

Typ:SwitchParameter
Aliases:wi
Position:Named
wartość domyślna:None
Wymagane:False
Accept pipeline input:False
Accept wildcard characters:False

Dane wejściowe

PSKeyVaultKeyIdentityItem

Dane wyjściowe

PSKeyOperationResult