OpenSSLの関数にファイルポインタやBIOオブジェクトを渡すとハングアップ(強制終了)する


 
 
OpenSSL(正確には暗号化ライブラリlibeay32.lib/crypto.lib)の関数にファイルポインタやBIOオブジェクトを渡すとハングアップすることがあります。

例えばこんな関数

PEM_write_RSAPrivateKey()
PEM_wite_RSA_PUBKEY()
PEM_write_bio_RSAPrivateKey()
PEM_wite_bio_RSA_PUBKEY()

i2d_RSAPrivateKey_fp()
i2d_RSAPublicKey_fp()
i2d_RSA_PUBKEY_fp()


これらの関数をコールした瞬間、ハングアップ&強制終了することがあります。

これはこれが原因と対策はこちらを見てください。
DLL内の関数にファイルポインタを渡すとハングアップする そんな時の原因と対策


簡単に言うと、

■アプリとOpenSSLライブラリの両方を同じコンパイラ、同じバージョンでビルドする
■OpenSSLライブラリをスタティックリンクする

のどちらかでOKです


こんな厄介な現象、多分Windowsだけですかね。Linuxではどうなんでしょう?



Sponsored Link


 
◆◇◆この記事が役に立ったらポチッとお願いします◆◇◆

 

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

おすすめ







 



カテゴリ