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.

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

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
Aliases:EncryptionAlgorithm, WrapAlgorithm
Position:Named
standaardwaarde:None
Vereist:True
Accept pipeline input:False
Accept wildcard characters:False

-ByteArrayValue

De waarde die moet worden uitgevoerd in bytematrixindeling.

Type:Byte[]
Position:Named
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

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

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters:False

-HsmName

HSM-naam.

Type:String
Position:0
standaardwaarde:None
Vereist:True
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Sleutelobject

Type:PSKeyVaultKeyIdentityItem
Aliases:Key
Position:0
standaardwaarde:None
Vereist:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Sleutelnaam.

Type:String
Aliases:KeyName
Position:1
standaardwaarde:None
Vereist:True
Accept pipeline input:False
Accept wildcard characters:False

-Operation

Algoritme-id

Type:String
Position:Named
standaardwaarde:None
Vereist:True
Accept pipeline input:False
Accept wildcard characters: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
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters:False

-VaultName

Kluisnaam.

Type:String
Position:0
standaardwaarde:None
Vereist:True
Accept pipeline input:False
Accept wildcard characters:False

-Version

Sleutelversie.

Type:String
Aliases:KeyVersion
Position:Named
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
standaardwaarde:None
Vereist:False
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

PSKeyVaultKeyIdentityItem

Uitvoerwaarden

PSKeyOperationResult