使用 openssl 我生成了一个私钥(比如说 httpCert.key)和一个自签名证书。现在,我有一个我想要 hash256 的字符串,用我的私钥即 httpCert.key 进行数字签名并进行 base64 编码。
我可以使用 openssl 在 bash 中完成这一切,如下所示:
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”,但无法正常工作。