Invoke-AzKeyVaultKeyOperation
Wykonuje operację, na przykład "Encrypt", "Decrypt", "Wrap" lub "Unwrap" przy użyciu określonego klucza przechowywanego w magazynie kluczy lub zarządzanym module hsm.
Składnia
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>]
Opis
Polecenie cmdlet Invoke-AzKeyVaultKeyOperation obsługuje
- Szyfrowanie dowolnej sekwencji bajtów przy użyciu klucza szyfrowania.
- Odszyfrowywanie pojedynczego bloku zaszyfrowanych danych.
- Zawijanie klucza symetrycznego przy użyciu określonego klucza.
- Rozpakuj klucz symetryczny przy użyciu określonego klucza, który został początkowo użyty do opakowywania tego klucza.
Przykłady
Przykład 1. Szyfrowanie tablicy bajtów przy użyciu klucza szyfrowania
$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
Szyfruje $byteArray
przy użyciu klucza testowego przechowywanego w narzędziu test-kv.
Przykład 2. Odszyfrowywanie tablicy bajtów przy użyciu klucza szyfrowania
$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
Odszyfrowuje $encryptedData.RawResult
przy użyciu klucza testowego przechowywanego w narzędziu test-kv. Element jest taki sam jak w $decryptedData.RawResult
przypadku $byteArray
elementu , który jest oryginalnymi danymi.
Przykład 3. Szyfrowanie zwykłego tekstu przy użyciu klucza szyfrowania
$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
Szyfruje ciąg "test" przy użyciu klucza testowego przechowywanego w narzędziu test-kv. Jest RawResult
to zaszyfrowany wynik w formacie tablicy bajtów, gdzie [System.Convert]::ToBase64String($encryptedData.RawResult) równa się $encryptedData.Result.
Przykład 4. Odszyfrowywanie zaszyfrowanych danych w postaci zwykłego tekstu
$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
Odszyfrowuje zaszyfrowane dane szyfrowane przy użyciu klucza testowego przechowywanego w narzędziu test-kv. Wartość $decryptedData.Result
to test
. Jest RawResult
to wynik odszyfrowany w formacie tablicy bajtów, gdzie [System.Text.UTF8Encoding]::UTF8. GetString($decryptedData.RawResult) równa się $decryptedData.Result.
Przykład 5. Opakowuje klucz symetryczny przy użyciu określonego klucza
$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
Opakowuje klucz symetryczny przy użyciu klucza o nazwie test-key przechowywanego w narzędziu test-kv. Wynik Result
jest opakowany w formacie ciągu Base64.
Przykład 6. Odpakowywanie klucza symetrycznego przy użyciu określonego klucza
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
Odpakowuje klucz symetryczny przy użyciu określonego klucza test-key przechowywanego w pliku test-kv. Jest Result
to zwykły ciąg.
Parametry
-Algorithm
Identyfikator algorytmu
Typ: | String |
Aliasy: | EncryptionAlgorithm, WrapAlgorithm |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-ByteArrayValue
Wartość, która ma być obsługiwana w formacie tablicy bajtowej.
Typ: | Byte[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-DefaultProfile
Poświadczenia, konto, dzierżawa i subskrypcja używane do komunikacji z platformą Azure.
Typ: | IAzureContextContainer |
Aliasy: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-HsmName
Nazwa modułu HSM.
Typ: | String |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-InputObject
Obiekt klucza
Typ: | PSKeyVaultKeyIdentityItem |
Aliasy: | Key |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Name
Nazwa klucza.
Typ: | String |
Aliasy: | KeyName |
Position: | 1 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Operation
Identyfikator algorytmu
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Value
Wartość, która ma być obsługiwana. Ten parametr zostanie przekonwertowany na tablicę bajtów w sposób kodowania UTF-8. Jeśli nie można kodować wartości za pomocą protokołu UTF-8, użyj parametru ByteArrayValue jako alternatywy.
Typ: | SecureString |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-VaultName
Nazwa magazynu.
Typ: | String |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Version
Wersja klucza.
Typ: | String |
Aliasy: | KeyVersion |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-WhatIf
Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |