Share via


Invoke-AzKeyVaultKeyOperation

Führt Vorgänge wie "Encrypt", "Decrypt", "Wrap" oder "Unwrap" mithilfe eines angegebenen Schlüssels aus, der in einem Schlüsseltresor oder verwaltetem HSM gespeichert ist.

Syntax

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

Beschreibung

Invoke-AzKeyVaultKeyOperation-Cmdlet unterstützt

  1. Verschlüsseln einer beliebigen Bytesequenz mithilfe eines Verschlüsselungsschlüssels.
  2. Entschlüsseln eines einzelnen Blocks verschlüsselter Daten.
  3. Umschließen eines symmetrischen Schlüssels mithilfe eines angegebenen Schlüssels.
  4. Entschlüsselung eines symmetrischen Schlüssels mithilfe des angegebenen Schlüssels, der ursprünglich zum Umschließen dieses Schlüssels verwendet wurde.

Beispiele

Beispiel 1: Verschlüsselt Bytearray mithilfe eines Verschlüsselungsschlüssels

$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

Verschlüsselt mithilfe von Testschlüsseln $byteArray , die in test-kv gespeichert sind.

Beispiel 2: Entschlüsselt Bytearray mithilfe eines Verschlüsselungsschlüssels

$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

Entschlüsselt mithilfe von Testschlüsseln $encryptedData.RawResult , die in test-kv gespeichert sind. Dies $decryptedData.RawResult ist identisch mit $byteArrayden ursprünglichen Daten.

Beispiel 3: Verschlüsselt Nur-Text mit einem Verschlüsselungsschlüssel

$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

Verschlüsselt die Zeichenfolge "test" mithilfe des im Test-kv gespeicherten Testschlüssels. Dies RawResult ist das verschlüsselte Ergebnis im Bytearrayformat, wobei [System.Convert]::ToBase64String($encryptedData.RawResult) gleich $encryptedData.Result ist.

Beispiel 4: Entschlüsseln verschlüsselter Daten in Nur-Text

$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

Entschlüsselt verschlüsselte Daten, die mit dem im Test-kv gespeicherten Testschlüssel verschlüsselt werden. $decryptedData.Result ist test. Dies RawResult ist das entschlüsselte Ergebnis im Bytearrayformat, wobei [System.Text.UTF8Encoding]::UTF8. GetString($decryptedData.RawResult) ist gleich $decryptedData.Result.

Beispiel 5: Umbrechen eines symmetrischen Schlüssels mithilfe eines angegebenen Schlüssels

$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

Umschließt einen symmetrischen Schlüssel mithilfe des schlüsselnamens "test-key", der in "test-kv" gespeichert ist. Das Result umschlossene Ergebnis wird im Base64-Zeichenfolgenformat zurückgegeben.

Beispiel 6: Entschlüsselt einen symmetrischen Schlüssel mithilfe eines angegebenen Schlüssels

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

Entschlüsselt einen symmetrischen Schlüssel mithilfe eines angegebenen Schlüsseltestschlüssels, der in test-kv gespeichert ist. Dies Result ist eine einfache Zeichenfolge.

Parameter

-Algorithm

Algorithmusbezeichner

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

-ByteArrayValue

Der Wert, der im Bytearrayformat betrieben werden soll.

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

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

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

-DefaultProfile

Anmeldeinformationen, Konto, Mandant und Abonnement für die Kommunikation mit Azure

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

-HsmName

HSM-Name.

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

-InputObject

Schlüsselobjekt

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

-Name

Schlüsselname.

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

-Operation

Algorithmusbezeichner

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

-Value

Der zu verwendende Wert. Dieser Parameter wird auf UTF-8-Codierungsmethode in Bytearray konvertiert. Wenn Ihr Wert nicht durch UTF-8 codiert werden kann, verwenden Sie den Parameter ByteArrayValue als Alternative.

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

-VaultName

Name des Tresors.

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

-Version

Schlüsselversion.

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

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

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

Eingaben

PSKeyVaultKeyIdentityItem

Ausgaben

PSKeyOperationResult