【发布时间】:2019-11-14 09:52:30
【问题描述】:
使用 openssl 我生成了一个私钥(比如说 httpCert.key)和一个自签名证书。现在,我有一个我想要 hash256 的字符串,用我的私钥(即 httpCert.key)进行数字签名并进行 base64 编码。
我可以在 bash 中使用 openssl 完成这一切,如下所示:
signature=`printf "test" | openssl dgst -sha256 -sign httpCert.key | openssl base64 -A`
但在 Powershell 中很难找到一种方法。
根据其他帖子的帮助,我可以做一个简单的哈希和编码如下:
$hasher=[System.Security.Cryptography.HashAlgorithm]::Create('sha256')
$signSHA=$hasher.ComputeHash([System.Text.Encoding]::UTF8.GetBytes("test"))
$signature=[Convert]::ToBase64String($signSHA)
但不确定如何使用私钥对 hash256 进行签名。我尝试使用“System.Security.Cryptography.RSACryptoServiceProvider”,但无法正常工作。
【问题讨论】:
标签: powershell openssl private-key signing rsa-sha256