建议和反馈

请填写你的反馈内容

问答 > 密码学 > 问答详情
求助中

调试签名验证失败

使用安装了无限管辖区策略文件的Java 1.4.2。

我有一个已经成功签名和验证的课程。 但是,现在我已经更改了密钥,突然验证失败了。

密钥生成时:

openssl genrsa -aes256 -out production_private.pem 2048
openssl pkcs8 -topk8 -nocrypt -in production_private.pem -outform der -out production_private.der
openssl rsa -in production_private.pem -pubout -outform DER -out production_public.der

我确实使用PEM键和openssl进行了验证:

openssl dgst -sha1 -sign production_private.pem -out test.txt.sha1 test.txt
Enter pass phrase for production_private.pem:
openssl dgst -sha1 -verify production_public.pem -signature test.txt.sha1 test.txt
Verified OK

但似乎没有使用DER键可以做到这一点。

没有错误被抛出。 Signature.verify只返回false。 由于它适用于一组键而不是另一组,我的假设是它必须是某种关键问题。

关于如何验证密钥对是否正确的任何其他想法? 我不想为了发现密钥是问题的根源而自杀寻找编码错误。



云志

2019-07-12

990

0

撰写答案

请先登陆或注册

1个回答

年少

2019-07-12

默认密钥格式为PEM。 您需要添加此参数才能使用DER,

  -keyform DER


0
赞赏(0)

公司名称:北京链客行科技有限公司

联系方式:010-67707199

ICP备案号:京ICP备18032136号

Copyright:链客区块链技术问答社区 版权所有

邀请

感谢您的善举,每一次解答会成为新人的灯塔,回答被采纳后获得20算力和相应的LK币奖励