gpt4 book ai didi

powershell - 如何从 New-KMSDataKey 返回的 "Plaintext"属性的内存流中读取?

转载 作者:行者123 更新时间:2023-12-04 16:19:26 24 4
gpt4 key购买 nike

我正在使用 AWS Powershell cmdlet New-KMSDataKey创建一个 System.IO.MemoryStream其中包含我需要用来加密某些文件的加密 key 。

这是该命令的文档:

http://docs.aws.amazon.com/powershell/latest/reference/items/New-KMSDataKey.html



这是该 cmdlet 返回的对象:

http://docs.aws.amazon.com/sdkfornet/latest/apidocs/items/TKeyManagementServiceGenerateDataKeyResult_NET3_5.html



我正在尝试获取 plaintext属性(property)。我如何访问 System.IO.MemoryStream拿到 key ?

这是我的脚本示例:

$KMSKeyS3 = New-KMSDataKey -KeyId $KMSKeySource -KeySpec AES_256 -Region "ap-southeast-2"

这给了我:
CiphertextBlob           KeyId                                           Plaintext                                                   
-------------- ----- ---------
System.IO.MemoryStream arn:aws:kms:ap-southeast-2:<Customer>:key/<Key> System.IO.MemoryStream

最佳答案

简而言之,

# generate a data key
$KMSKeyS3 = New-KMSDataKey -KeyId $KMSKeySource -KeySpec AES_256 -Region "ap-southeast-2"

[byte[]]$plaintextDataKey = $KMSKeyS3.Plaintext.ToArray()
[byte[]]$encryptedDataKey = $KMSKeyS3.CiphertextBlob.ToArray()
[string]$encryptedDatakeyBase64 = $([Convert]::ToBase64String($encryptedDataKey))

this answer to a question on PowerShell and KMS获得全面的答案,包括经过测试的加密和解密脚本以及 base64 转换。

关于powershell - 如何从 New-KMSDataKey 返回的 "Plaintext"属性的内存流中读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30338845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com