Freigeben über


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

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 $byteArray mithilfe von Testschlüsseln, 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 $encryptedData.RawResult mithilfe von Testschlüsseln, die in test-kv gespeichert sind. Die $decryptedData.RawResult ist mit $byteArrayidentisch, was originale Daten ist.

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

$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

Verschlüsselt die Zeichenfolge "test" mithilfe des im Test-kv gespeicherten Testschlüssels. Die RawResult ist das verschlüsselte Ergebnis im Bytearrayformat.

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

test

Entschlüsselt verschlüsselte Daten, die mit dem im Test-kv gespeicherten Testschlüssel verschlüsselt werden. Das RawResult ist das entschlüsselte Ergebnis im Bytearrayformat.

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

$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

Umschließt einen symmetrischen Schlüssel mithilfe des schlüsselnamens "test-key", der in "test-kv" gespeichert ist. Das RawResult wird in das Bytearrayformat eingeschlossen.

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

$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

Entschlüsselt einen symmetrischen Schlüssel mithilfe eines angegebenen Schlüsseltestschlüssels, der in test-kv gespeichert ist. Das RawResult wird im Bytearrayformat entwappt.

Parameter

-Algorithm

Algorithmusbezeichner

Typ:String
Aliase:EncryptionAlgorithm, WrapAlgorithm
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ByteArrayValue

Der Wert, der im Bytearrayformat betrieben werden soll.

Typ:Byte[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Confirm

Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DefaultProfile

Die Anmeldeinformationen, Konten, Mandanten und Abonnements, die für die Kommunikation mit Azure verwendet werden.

Typ:IAzureContextContainer
Aliase:AzContext, AzureRmContext, AzureCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-HsmName

HSM-Name.

Typ:String
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InputObject

Key-Objekt

Typ:PSKeyVaultKeyIdentityItem
Aliase:Key
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Name

Schlüsselname.

Typ:String
Aliase:KeyName
Position:1
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Operation

Algorithmusbezeichner

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-VaultName

Tresorname.

Typ:String
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Version

Schlüsselversion.

Typ:String
Aliase:KeyVersion
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

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

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

Ausgaben