java的签名,用c++来验证

徐伟XW 发布于 2013/05/16 11:21
阅读 282
收藏 0

@彭博 你好,想跟你请教个问题:

就是我java做的签名,然后c++来验证,现在有公钥,签名结果,和签名原文,怎么用c++写验证签名呢?我是信息安全这块的新手,麻烦您能指点下我

加载中
0
平原君
平原君
看下加密算法,C++里同样实现就可以了,总归是些数学运算
徐伟XW
徐伟XW
我在引用您的帖子下面回复您了,您看看啦,一直没解决,好急的,哎
0
Monkey
Monkey
如果c++找不到现成的,直接果断jni回调java实现。
徐伟XW
徐伟XW
这个咋弄呢?
0
徐伟XW
徐伟XW

引用来自“平原君”的答案

看下加密算法,C++里同样实现就可以了,总归是些数学运算
X509Certificate x509Certificate = (X509Certificate) getCertificate(pfx, keyAlias, password);
  // 取得私钥
PrivateKey privateKey = (PrivateKey) ks.getKey(keyAlias, password.toCharArray());
  // 构建签名
Signature signature = Signature.getInstance("SHA1withRSA");
signature.initSign(privateKey);
signature.update(data);
data是签名原文数据,用参数传进来的,大致就是这个过程,您看看啦
0
Monkey
Monkey

引用来自“平原君”的答案

看下加密算法,C++里同样实现就可以了,总归是些数学运算
其实还是个java程序,不过就是调用一个本地库,如果你确认这样做可以的话你就可以去看看jni。反正就是像个反射一样,就是要javah看方法签名。
jclass keyclass=jni->FindClass("javax/crypto/spec/DESKeySpec");
jmethodID keyMethodID = jni->GetMethodID(keyclass,"<init>","([B)V");

Monkey
Monkey
你也可以用c++这样掉,反正给人家感觉都是一样的。馊主意就是,不过做起来简单。
徐伟XW
徐伟XW
这样做我想了下,和我这里的情况不符合,我这边要用c++写验证代码来验证java数字签名的结果,哎
返回顶部
顶部