Invoke-AzKeyVaultKeyOperation
Выполняет такие операции, как Encrypt, Decrypt, Wrap или Unwrap, с помощью указанного ключа, хранящегося в хранилище ключей или управляемом hsm.
Синтаксис
ByVaultName (по умолчанию)
Invoke-AzKeyVaultKeyOperation
[-Name] <String>
[-VaultName] <String>
-Operation <String>
-Algorithm <String>
-ByteArrayValue <Byte[]>
[-Version <String>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByHsmName
Invoke-AzKeyVaultKeyOperation
[-HsmName] <String>
[-Name] <String>
-Operation <String>
-Algorithm <String>
-ByteArrayValue <Byte[]>
[-Version <String>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-AzKeyVaultKeyOperation
[-InputObject] <PSKeyVaultKeyIdentityItem>
-Operation <String>
-Algorithm <String>
-ByteArrayValue <Byte[]>
[-Version <String>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
командлет Invoke-AzKeyVaultKeyOperation поддерживает
Шифрование произвольной последовательности байтов с помощью ключа шифрования.
Расшифровка одного блока зашифрованных данных.
Упаковка симметричного ключа с помощью указанного ключа.
Распакуирование симметричного ключа с помощью указанного ключа, который изначально использовался для упаковки этого ключа.
Примеры
Пример 1. Шифрование массива байтов с помощью ключа шифрования
$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 с помощью тестового ключа, хранящегося в test-kv.
Пример 2. Расшифровка массива байтов с помощью ключа шифрования
$encryptedData = [pscustomobject]@{ RawResult = [byte[]]@(58,219) }
$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
Расшифровывается $encryptedData.RawResult с помощью тестового ключа, хранящегося в test-kv. То $decryptedData.RawResult же самое и с $byteArrayисходными данными.
Пример 3. Шифрование обычного текста с помощью ключа шифрования
$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
Шифрует строку "test" с помощью тестового ключа, хранящегося в test-kv. Это RawResult зашифрованный результат в формате массива байтов.
Пример 4. Расшифровка зашифрованных данных в обычный текст
$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
Расшифровывает зашифрованные данные, зашифрованные с помощью тестового ключа, хранящегося в test-kv. Это RawResult расшифрованный результат в формате массива байтов.
Пример 5. Оболочка симметричного ключа с помощью указанного ключа
$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
Оболочка симметричного ключа с помощью ключа с именем test-key, хранящегося в test-kv. Он RawResult упаковывается в формат массива байтов.
Пример 6. Распаковка симметричного ключа с помощью указанного ключа
$wrappedResult = [pscustomobject]@{ RawResult = [byte[]]@(58,219) }
$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
Распаковывает симметричный ключ, используя указанный ключ теста ключа, хранящийся в test-kv. Результат RawResult распакуется в формате массива байтов.
Параметры
-Algorithm
Идентификатор алгоритма
Свойства параметра
Тип: String
Default value: None
Поддерживаются подстановочные знаки: False
DontShow: False
Aliases: EncryptionAlgorithm, ОболочкаAlgorithm
Наборы параметров
(All)
Position: Named
Обязательно: True
Значение из конвейера: False
Значение из конвейера по имени свойства: False
Значение из оставшихся аргументов: False
-ByteArrayValue
Значение, которое будет работать в формате массива байтов.
Свойства параметра
Тип: Byte [ ]
Default value: None
Поддерживаются подстановочные знаки: False
DontShow: False
Наборы параметров
(All)
Position: Named
Обязательно: True
Значение из конвейера: False
Значение из конвейера по имени свойства: False
Значение из оставшихся аргументов: False
-Confirm
Запрашивает подтверждение перед запуском cmdlet.
Свойства параметра
Тип: SwitchParameter
Default value: None
Поддерживаются подстановочные знаки: False
DontShow: False
Aliases: cf
Наборы параметров
(All)
Position: Named
Обязательно: False
Значение из конвейера: False
Значение из конвейера по имени свойства: False
Значение из оставшихся аргументов: False
-DefaultProfile
Учетные данные, учетная запись, клиент и подписка, используемые для взаимодействия с Azure.
Свойства параметра
Тип: IAzureContextContainer
Default value: None
Поддерживаются подстановочные знаки: False
DontShow: False
Aliases: AzContext, AzureRmContext, AzureCredential
Наборы параметров
(All)
Position: Named
Обязательно: False
Значение из конвейера: False
Значение из конвейера по имени свойства: False
Значение из оставшихся аргументов: False
-HsmName
Имя HSM.
Свойства параметра
Тип: String
Default value: None
Поддерживаются подстановочные знаки: False
DontShow: False
Наборы параметров
ByHsmName
Position: 0
Обязательно: True
Значение из конвейера: False
Значение из конвейера по имени свойства: False
Значение из оставшихся аргументов: False
Объект Key
ByKeyInputObject
Position: 0
Обязательно: True
Значение из конвейера: True
Значение из конвейера по имени свойства: False
Значение из оставшихся аргументов: False
-Name
Имя ключа.
Свойства параметра
Тип: String
Default value: None
Поддерживаются подстановочные знаки: False
DontShow: False
Aliases: KeyName (Имя ключа)
Наборы параметров
ByVaultName
Position: 1
Обязательно: True
Значение из конвейера: False
Значение из конвейера по имени свойства: False
Значение из оставшихся аргументов: False
ByHsmName
Position: 1
Обязательно: True
Значение из конвейера: False
Значение из конвейера по имени свойства: False
Значение из оставшихся аргументов: False
-Operation
Идентификатор алгоритма
Свойства параметра
Тип: String
Default value: None
Поддерживаются подстановочные знаки: False
DontShow: False
Наборы параметров
(All)
Position: Named
Обязательно: True
Значение из конвейера: False
Значение из конвейера по имени свойства: False
Значение из оставшихся аргументов: False
-VaultName
Имя хранилища.
Свойства параметра
Тип: String
Default value: None
Поддерживаются подстановочные знаки: False
DontShow: False
Наборы параметров
ByVaultName
Position: 0
Обязательно: True
Значение из конвейера: False
Значение из конвейера по имени свойства: False
Значение из оставшихся аргументов: False
-Version
Ключевая версия.
Свойства параметра
Тип: String
Default value: None
Поддерживаются подстановочные знаки: False
DontShow: False
Aliases: KeyVersion
Наборы параметров
(All)
Position: Named
Обязательно: False
Значение из конвейера: False
Значение из конвейера по имени свойства: False
Значение из оставшихся аргументов: False
-WhatIf
Показывает, что произойдет, если командлет будет запущен.
Командлет не запускается.
Свойства параметра
Тип: SwitchParameter
Default value: None
Поддерживаются подстановочные знаки: False
DontShow: False
Aliases: wi
Наборы параметров
(All)
Position: Named
Обязательно: False
Значение из конвейера: False
Значение из конвейера по имени свойства: False
Значение из оставшихся аргументов: False
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters .
Выходные данные