Я пытаюсь подписать строку в java, отправить ее через сокет на сервер C и проверить подпись на этом сервере, но я даже не могу проверить подпись с помощью терминала OpenSSL cli.
Мой код (на С) для проверки подписи:
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();
}
Может кто-нибудь помочь мне?