栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么我用openssl和golang生成的RSA签名不同?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么我用openssl和golang生成的RSA签名不同?

除了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)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/436230.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号