M2Crypto と OpenSSL CLI は同じデジタル署名を作成していないようです。Pythonで使用するコードは次のとおりです。
import M2Crypto
rsa = M2Crypto.RSA.load_key("privkey.pem")
open("sig_m2crypto", "w").write(rsa.sign("md5-digest", "md5"))
OpenSSL のコマンド ラインは次のとおりです。
echo "md5-digest" | openssl rsautl -sign -inkey privkey.pem > sig_openssl
同じ入力では、 と の結果sig_m2crypto
はsig_openssl
常に異なります。重要なのは、M2Crypto と OpenSSL を使用して生成された署名を検証できないこと、およびその逆であることです。
相互に互換性を持たせないコードに欠けているものはありますか?
追加情報: Windows 7 で M2Crypto 0.21.1 と OpenSSL 1.0.0 を使用しています。