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

$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. Dies 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. Dies 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 umschlossene Ergebnis wird im Bytearrayformat angezeigt.

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 ergebnis ist unwrapped im Bytearrayformat.

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

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

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

-DefaultProfile

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

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

Schlüsselobjekt

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

Name des Tresors.

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 geschieht, 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

PSKeyVaultKeyIdentityItem

Ausgaben

PSKeyOperationResult