Sdílet prostřednictvím


Invoke-AzKeyVaultKeyOperation

Provádí operaci, jako je "Encrypt", "Decrypt", "Wrap" nebo "Unwrap" pomocí zadaného klíče uloženého v trezoru klíčů nebo spravovaném hsm.

Syntaxe

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

Description

Rutina Invoke-AzKeyVaultKeyOperation podporuje

  1. Šifrování libovolné posloupnosti bajtů pomocí šifrovacího klíče
  2. Dešifrování jednoho bloku šifrovaných dat
  3. Zabalení symetrického klíče pomocí zadaného klíče
  4. Rozbalení symetrického klíče pomocí zadaného klíče, který byl původně použit pro zabalení klíče.

Příklady

Příklad 1: Šifruje bajtové pole pomocí šifrovacího klíče

$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

Šifruje $byteArray pomocí testovacího klíče uloženého v test-kv.

Příklad 2: Dešifruje bajtové pole pomocí šifrovacího klíče.

$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

Dešifruje $encryptedData.RawResult pomocí testovacího klíče uloženého v test-kv. To $decryptedData.RawResult je stejné s $byteArraypůvodními daty.

Příklad 3: Šifrování prostého textu pomocí šifrovacího klíče

$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

Šifruje řetězec "test" pomocí testovacího klíče uloženého v test-kv. Jedná se RawResult o šifrovaný výsledek ve formátu pole bajtů.

Příklad 4: Dešifrování šifrovaných dat do prostého textu

$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

Dešifruje šifrovaná data zašifrovaná pomocí testovacího klíče uloženého v test-kv. Jedná se RawResult o dešifrovaný výsledek ve formátu bajtového pole.

Příklad 5: Zabalí symetrický klíč pomocí zadaného klíče.

$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

Zabalí symetrický klíč pomocí klíče s názvem test-key uložený v test-kv. Výsledek RawResult je zabalený ve formátu bajtového pole.

Příklad 6: Rozbalení symetrického klíče pomocí zadaného klíče

$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

Rozbalí symetrický klíč pomocí zadaného testovacího klíče uloženého v test-kv. Výsledkem RawResult je rozbalení ve formátu bajtového pole.

Parametry

-Algorithm

Identifikátor algoritmu

Typ:String
Aliasy:EncryptionAlgorithm, WrapAlgorithm
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-ByteArrayValue

Hodnota, která se má provozovat ve formátu pole bajtů.

Typ:Byte[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Confirm

Před spuštěním rutiny zobrazí výzvu k potvrzení.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-DefaultProfile

Přihlašovací údaje, účet, tenant a předplatné používané ke komunikaci s Azure.

Typ:IAzureContextContainer
Aliasy:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-HsmName

Název HSM.

Typ:String
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-InputObject

Objekt klíče

Typ:PSKeyVaultKeyIdentityItem
Aliasy:Key
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Name

Název klíče.

Typ:String
Aliasy:KeyName
Position:1
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Operation

Identifikátor algoritmu

Typ:String
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-VaultName

Název trezoru

Typ:String
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Version

Verze klíče.

Typ:String
Aliasy:KeyVersion
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-WhatIf

Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

PSKeyVaultKeyIdentityItem

Výstupy

PSKeyOperationResult