在Java中签名字符串并在RSA中使用C进行验证

时间:2018-12-11 03:23:53

标签: java c rsa signature

我试图在Java中签名一个字符串,通过套接字将其发送到C服务器,并验证该服务器上的签名,但我什至无法使用OpenSSL终端cli检查签名。

我用于验证签名的代码(用C语言编写)是

boolean checkSignature(RSA* pk, int size, unsigned char* dgst, string strMsg)
{
     return RSA_verify(NID_sha1WithRSA, strMsg, strlen(strMsg), dgst, size, pk);
}

我要签名的Java代码是这样:

public static byte[] signKey(KeyPair pair, String toSign){
     PrivateKey sKey = pair.getPrivate();
     SIgnature sign = Signature.getInstance("SHA1withRSA");
     sign.initSign(sKey);
     sign.Update(toSign.getBytes());
     return sign.sign();
}

有人可以帮我吗?

0 个答案:

没有答案