Поделиться через


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

ByKeyInputObject

Invoke-AzKeyVaultKeyOperation
    [-InputObject] <PSKeyVaultKeyIdentityItem>
    -Operation <String>
    -Algorithm <String>
    -ByteArrayValue <Byte[]>
    [-Version <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Описание

командлет Invoke-AzKeyVaultKeyOperation поддерживает

  1. Шифрование произвольной последовательности байтов с помощью ключа шифрования.
  2. Расшифровка одного блока зашифрованных данных.
  3. Упаковка симметричного ключа с помощью указанного ключа.
  4. Распакуирование симметричного ключа с помощью указанного ключа, который изначально использовался для упаковки этого ключа.

Примеры

Пример 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

-InputObject

Объект Key

Свойства параметра

Тип:PSKeyVaultKeyIdentityItem
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases: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.

Входные данные

PSKeyVaultKeyIdentityItem

Выходные данные

PSKeyOperationResult