Engineer's Notebook

コンピュータ関係のTipsやお役立ち情報などをエンジニアが綴ります

アドセンスレスポンシブ


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

投稿日:2014-02-11 更新日:

楽天自動更新バナー

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ではどうなんでしょう?

アドセンス 336x280


アドセンス 336x280


関連コンテンツ

よく一緒に読まれている記事

-ソフトウェア開発

Copyright© Engineer's Notebook , 2017 All Rights Reserved Powered by AFFINGER4.