尝试这个:
echo -n "test" | openssl md5 -sign privkey.pem > sig_openssel
(这
-n一点很重要,因此不要在字符串后添加其他换行符)*
在python方面:
import M2Cryptoimport hashlibrsa = M2Crypto.RSA.load_key("privkey.pem")digest = hashlib.new('md5', 'test').digest()open("sig_m2crypto", "w").write(rsa.sign(digest, "md5"))现在,您的信号应该相同。
要查看签名文件中的内容,可以使用:
openssl rsautl -inkey privkey.pem -verify -in sig_m2crypto -asn1parse
和
openssl rsautl -inkey privkey.pem -verify -in sig_m2crypto -raw -hexdump
正确的签名包含有关使用的摘要的信息,如果仅使用则不包含
openssl rsautl -sign ...
*编辑:至少在linux上,就像在Windows上一样,我真的不知道是否需要它。



