Engineer's Notebook

あるエンジニアの雑多メモ 技術的なことや資産運用などを技術者目線で綴ります

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 , 2022 All Rights Reserved Powered by AFFINGER5.