【发布时间】:2015-10-08 12:59:27
【问题描述】:
我有 Crypto API 创建的签名
if(!CryptCreateHash(hProv, CALG_MD5, 0, 0, &Hash))
return;
if(!CryptHashData(Hash, Buff,count, 0))
return;
if(CryptSignHash(Hash,AT_SIGNATURE,NULL,0,Buff,&count))
...
我想用 Java 验证签名。
C++ 生成 148 字节的密钥长度,我需要一个 java 162。我使用 http://www.jensign.com/JavaScience/MSKeytoJKey/ 生成它。 要检查162生成148重合。
然后我尝试验证签名
Signature dsa = Signature.getInstance("MD5WithRSA");
dsa.initVerify(rsapublickey);
dsa.update(Text);
Sign = dsa.verify(TextSign);
你猜对了,Sign 的值为 false。我错过了什么,这真的会发生吗?
【问题讨论】:
-
你是如何解决这个问题的?我也面临同样的问题。
标签: java c++ rsa digital-signature cryptoapi