我正在编写一个PowerShell脚本,我需要使用公钥/私钥加密来验证字符串的签名。我环顾四周,发现了一个没有经过考验的" RSA的演示直接在powershell中实现。
是否可以在powershell中使用安全的RSA实现,如果没有,是否有其他私有/公钥签名算法可用?
答案 0 :(得分:0)
您可以在脚本中使用.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()