【发布时间】:2016-10-14 02:38:47
【问题描述】:
我正在编写一个 powershell 脚本,我需要在其中使用公钥/私钥加密验证字符串的签名。我环顾四周,只发现了一个直接在 powershell 中实现的“未经测试”的 RSA 演示。
是否可以在 powershell 中使用安全的 RSA 实现,如果没有,是否有任何其他可用的私钥/公钥签名算法?
【问题讨论】:
标签: powershell cryptography rsa
我正在编写一个 powershell 脚本,我需要在其中使用公钥/私钥加密验证字符串的签名。我环顾四周,只发现了一个直接在 powershell 中实现的“未经测试”的 RSA 演示。
是否可以在 powershell 中使用安全的 RSA 实现,如果没有,是否有任何其他可用的私钥/公钥签名算法?
【问题讨论】:
标签: powershell cryptography rsa
您可以在脚本中使用 .Net 对象吗?只需实例化一个 .Net RSACryptoServiceProvider 对象并加载您的公钥和/或私钥信息。然后,您可以调用任何 Encrypt、Decrypt、SignData 或 VerifyData 函数,就像在 C# 代码中一样。
$rsa = New-Object -TypeName System.Security.Cryptography.RSACryptoServiceProvider
$rsa.FromXmlString("<RSAKeyValue>your public / private key info here</RSAKeyValue>")
$bytes = GetYourDataAsByteArray()
$decryptedBytes = $rsa.Decrypt($bytes, $true)
// don't forget to dispose when you're done!
$rsa.Dispose()
【讨论】: