Bagikan melalui


Invoke-AzKeyVaultKeyOperation

Melakukan operasi seperti "Encrypt", "Decrypt", "Wrap" atau "Unwrap" menggunakan kunci tertentu yang disimpan dalam brankas kunci atau hsm terkelola.

Sintaks

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

Deskripsi

Cmdlet Invoke-AzKeyVaultKeyOperation mendukung

  1. Mengenkripsi urutan byte arbitrer menggunakan kunci enkripsi.
  2. Mendekripsi satu blok data terenkripsi.
  3. Membungkus kunci konten menggunakan kunci tertentu.
  4. Membuka bungkus kunci konten menggunakan kunci yang ditentukan yang awalnya digunakan untuk membungkus kunci tersebut.

Contoh

Contoh 1: Mengenkripsi array byte menggunakan kunci enkripsi

$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

$byteArray Mengenkripsi menggunakan kunci uji yang disimpan dalam test-kv.

Contoh 2: Mendekripsi array byte menggunakan kunci enkripsi

$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

Mendekripsi $encryptedData.RawResult menggunakan kunci uji yang disimpan dalam test-kv. $decryptedData.RawResult sama dengan $byteArray, yang merupakan data asli.

Contoh 3: Mengenkripsi teks biasa menggunakan kunci enkripsi

$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

Mengenkripsi string "uji" menggunakan kunci pengujian yang disimpan dalam test-kv. RawResult adalah hasil terenkripsi dalam format array byte, di mana [System.Convert]::ToBase64String($encryptedData.RawResult) sama dengan $encryptedData.Result.

Contoh 4: Mendekripsi data terenkripsi ke teks biasa

$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

Mendekripsi data terenkripsi yang dienkripsi menggunakan kunci pengujian yang disimpan dalam test-kv. $decryptedData.Result adalah test. RawResult adalah hasil yang didekripsi dalam format array byte, di mana [System.Text.UTF8Encoding]::UTF8. GetString($decryptedData.RawResult) sama dengan $decryptedData.Result.

Contoh 5: Membungkus kunci konten menggunakan kunci tertentu

$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

Membungkus kunci simetris menggunakan kunci bernama test-key yang disimpan dalam test-kv. hasil Result dibungkus dalam format string Base64.

Contoh 6: Membuka bungkus kunci konten menggunakan kunci tertentu

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

Membongkar kunci konten menggunakan kunci uji kunci tertentu yang disimpan dalam test-kv. Result adalah string biasa.

Parameter

-Algorithm

Pengidentifikasi algoritma

Jenis:String
Alias:EncryptionAlgorithm, WrapAlgorithm
Position:Named
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

-ByteArrayValue

Nilai yang akan dioperasikan dalam format array byte.

Jenis:Byte[]
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Confirm

Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.

Jenis:SwitchParameter
Alias:cf
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-DefaultProfile

Kredensial, akun, penyewa, dan langganan yang digunakan untuk komunikasi dengan Azure.

Jenis:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-HsmName

Nama HSM.

Jenis:String
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

-InputObject

Objek kunci

Jenis:PSKeyVaultKeyIdentityItem
Alias:Key
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard:False

-Name

Nama kunci.

Jenis:String
Alias:KeyName
Position:1
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

-Operation

Pengidentifikasi algoritma

Jenis:String
Position:Named
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

-Value

Nilai yang akan dioperasikan. Parameter ini akan dikonversi ke array byte dengan cara pengodean UTF-8. Jika nilai Anda tidak dapat dikodekan oleh UTF-8, gunakan parameter ByteArrayValue sebagai alternatifnya.

Jenis:SecureString
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-VaultName

Nama vault.

Jenis:String
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

-Version

Versi kunci.

Jenis:String
Alias:KeyVersion
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-WhatIf

Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.

Jenis:SwitchParameter
Alias:wi
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

Input

PSKeyVaultKeyIdentityItem

Output

PSKeyOperationResult