除了helmbert的答案中所
echo描述的添加的换行符外,OpenSSL
命令还直接对提供的数据进行 *** 作,而Go代码首先使用SHA256对数据进行哈希处理,然后对结果摘要进行签名。
rsautl
要与使用OpenSSL的Go代码执行相同的 *** 作,可以将该
dgst命令与
-sign选项一起使用(请注意,我在此处也包含该
-n选项
echo):
$ echo -n "Test." | openssl dgst -sha256 -sign private.key -hex52e1cce3810c1a89693cf6965d1035618820a9e3a7b95203d885c4153dc3f7424b98e3ba628a186f1074d672bb59a1c0788a9c2064951ca2326eb1bf8e3e49e9
要采用另一种方法并在不对Go代码进行哈希处理的情况下对原始消息进行签名,可以将参数
0的值传递
hash给
rsa.SignPKCS1v15:
indata:= []byte("Test.")s, err := rsa.SignPKCS1v15(nil, privKey, 0, indata)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)