Delen via


Invoke-AzKeyVaultKeyOperation

Voert bewerkingen uit zoals 'Encrypt', 'Decrypt', 'Wrap' of 'Unwrap' met behulp van een opgegeven sleutel die is opgeslagen in een sleutelkluis of beheerde hsm.

Syntaxis

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

Description

Invoke-AzKeyVaultKeyOperation-cmdlet ondersteunt

  1. Een willekeurige reeks bytes versleutelen met behulp van een versleutelingssleutel.
  2. Het ontsleutelen van één blok versleutelde gegevens.
  3. Een symmetrische sleutel verpakken met behulp van een opgegeven sleutel.
  4. Een symmetrische sleutel uitpakken met behulp van de opgegeven sleutel die in eerste instantie is gebruikt voor het verpakken van die sleutel.

Voorbeelden

Voorbeeld 1: Bytematrix versleutelt met behulp van een versleutelingssleutel

$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

Versleutelt $byteArray met behulp van een testsleutel die is opgeslagen in test-kv.

Voorbeeld 2: Bytematrix ontsleutelen met behulp van een versleutelingssleutel

$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

Ontsleutelt $encryptedData.RawResult met behulp van een testsleutel die is opgeslagen in test-kv. Het $decryptedData.RawResult is hetzelfde met $byteArray, wat oorspronkelijke gegevens zijn.

Voorbeeld 3: Versleutelt tekst zonder opmaak met behulp van een versleutelingssleutel

$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

Hiermee versleutelt u de tekenreeks 'test' met behulp van een testsleutel die is opgeslagen in test-kv. Dit RawResult is het versleutelde resultaat in bytematrixindeling, waarbij [System.Convert]::ToBase64String($encryptedData.RawResult) gelijk is aan $encryptedData.Result.

Voorbeeld 4: versleutelde gegevens ontsleutelen naar tekst zonder opmaak

$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

Ontsleutelt versleutelde gegevens die zijn versleuteld met behulp van een testsleutel die is opgeslagen in test-kv. Het $decryptedData.Result is test. Dit RawResult is het ontsleutelde resultaat in bytematrixindeling, waarbij [System.Text.UTF8Encoding]::UTF8. GetString($decryptedData.RawResult) is gelijk aan $decryptedData.Result.

Voorbeeld 5: verpakt een symmetrische sleutel met behulp van een opgegeven sleutel

$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

Verpakt een symmetrische sleutel met behulp van de sleutel met de naam testsleutel die is opgeslagen in test-kv. Het Result resultaat is verpakt in de tekenreeksindeling Base64.

Voorbeeld 6: Een symmetrische sleutel uitpakken met behulp van een opgegeven sleutel

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

Pak een symmetrische sleutel uit met behulp van een opgegeven sleuteltestsleutel die is opgeslagen in test-kv. Het Result is een gewone tekenreeks.

Parameters

-Algorithm

Algoritme-id

Type:String
Aliassen:EncryptionAlgorithm, WrapAlgorithm
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-ByteArrayValue

De waarde die moet worden uitgevoerd in bytematrixindeling.

Type:Byte[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

Type:SwitchParameter
Aliassen:cf
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-DefaultProfile

De referenties, accounts, tenants en abonnementen die worden gebruikt voor communicatie met Azure.

Type:IAzureContextContainer
Aliassen:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-HsmName

HSM-naam.

Type:String
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-InputObject

Sleutelobject

Type:PSKeyVaultKeyIdentityItem
Aliassen:Key
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Name

Sleutelnaam.

Type:String
Aliassen:KeyName
Position:1
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Operation

Algoritme-id

Type:String
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Value

De waarde die moet worden uitgevoerd. Deze parameter wordt geconverteerd naar bytematrix in UTF-8-codering. Als uw waarde niet kan worden gecodeerd door UTF-8, gebruikt u parameter ByteArrayValue als alternatief.

Type:SecureString
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-VaultName

Kluisnaam.

Type:String
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Version

Sleutelversie.

Type:String
Aliassen:KeyVersion
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

Type:SwitchParameter
Aliassen:wi
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

PSKeyVaultKeyIdentityItem

Uitvoerwaarden

PSKeyOperationResult