0
PEM_write_X509(x509*)
を使用して、SSLサーバーに接続するときに受け取った証明書を書きます。これはシングルスレッド環境では動作しますが、マルチスレッド環境では失敗します。PEM_write_X509(x509 *)とマルチスレッドプロセスでクラッシュする
PEM_write_X509_AUX()
とPEM_write_X509()
の違いは何ですか?
write()
コールを使用して証明書をダンプすることはできますか?
証明書ファイルをマルチスレッドアプリケーションに書き込むその他のオプションはありますか?
* "これはシングルスレッド環境では動作しますが、マルチスレッド環境では失敗します。" * - ロックをインストールするコードを表示できます。しかし、私はその質問はそれなしで答えると思う。個人的には、おそらく他の問題があるので、私はマルチスレッドのクラッシュの問題を解決するでしょう。アプリのクラッシュは単なる症状またはインスタンスの問題です。 – jww
*** "write()コールだけを使用して証明書をダンプすることはできますか?" *** - それは大きなNOです。 'X509 *'はインメモリのデータ構造です。その内部表現であり、シリアル化されることを意味しません。試してみると、いくつかのcertデータと多くのポインタが表示されます。 PEMでシリアライズするには 'PEM_write_bio_X509'、ASN.1/DER形式でシリアライズするには' i2d_X509_bio'のようなルーチンが必要です。 – jww
はい。同意します.... – Naga