java签名和验签问题

fang4084 fang4084 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
String sign="dfgfgh";
X509Certificate x509Certificate = (X509Certificate) CAUtil.getCfeformPfx("d:/TestingUser1_sign.pfx", "12345678"); //工具类根据PFX文件得到Certificate对象再强转

Signature signature = Signature.getInstance(x509Certificate.getSigAlgName());
PrivateKey privateKey=CAUtil.GetPvkformPfx("d:/TestingUser1_sign.pfx", "12345678");//工具类根据PFX文件得到私钥
signature.initSign(privateKey);
signature.update(sign.getBytes());
byte[] data=signature.sign(); //签名


X509Certificate cf = (X509Certificate) CAUtil.getX509Certificate("d:/TestingUser1_sign_pub.cer"); //工具类
// 由证书构建签名
Signature s = Signature.getInstance(cf.getSigAlgName());
// 由证书初始化签名,实际上是使用了证书中的公钥
s.initVerify(cf);
s.update(data);
System.out.println( s.verify(sign.getBytes()));

得到的结果却是是FALSE 不知道错在哪里,请各位大大指证.TestingUser1_sign_pub.cer为TestingUser1_sign.pfx的公钥证书
...全文
评论 6
收藏 已收藏
分享
返回顶部
fang4084
Java SE 62,621 成员 307,251 内容