使用Java1.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。因为它只适用于一组键而不适用于另一组键,所以我的假设是它一定是某种类型的关键问题。
关于如何验证密钥对是否正确还有其他想法吗?我不想为了找出问题的根源而去寻找编码错误而自杀。
我很乐意根据要求分享消息来源——我只是不想在必要的时候把问题搞得一团糟。