Powered by
SmartDoc
<<
OpenSSL 1.1 API問題
/
調べてみると、どうもベースシステムの OpenSSL が 1.1 に上っ たかららしい
/
1.1 でそもそも何が変更になった?
/API が変更になった
>>
2.1.1 API が変更になった
アプリケーションからデータ構造を隠蔽するのが目的
バイナリ互換性を維持しつつフィールドを変更可能
アプリケーションはより堅牢となり、より確実な動作を保証
新設のアクセサやセッター等により、状況に応じた対応が可能
としている。
主な変更(1.0.2→1.1.0)
ibssl
の公開ヘッダファイル内の構造体は全て削除、代りにアクセサ関数を提供
古いDES APIは削除
libcrypto
のサブライブラリ
bn
は隠蔽
廃止予定の関数・マクロへのアクセスは全て削除。これらのアクセスを有効にするには、以下の2つを行なうこと:
廃棄される機能付きでOpenSSLをビルド(configの引数に"enable-deprecated"を付ける)
OpenSSLのヘッダファイルをインクルードする前に"OPENSSL_USE_DEPRECATED"を定義する
ドキュメントやヘッダファイルの中で
HMAC_Init
と
HMAC_cleanup
は廃止とされていたにもかかわらずOPENSSL_NO_DEPRECATEDは有効になっていなかったが、1.1ではこれらの関連する関数・マクロはデフォルトでオフとなる
OPENSSL_API_COMPAT
によるバージョンコントロール
get
関数は廃止されたが、デフォルトのビルドでは利用可能
OPENSSL_API_COMPAT
で、指定されたバージョンで廃止された機能を隠蔽できる
バージョン1.1を利用するなら、
DOPENSSL_API_COMPAT=0x10100000L
とする
<<
OpenSSL 1.1 API問題
/
調べてみると、どうもベースシステムの OpenSSL が 1.1 に上っ たかららしい
/
1.1 でそもそも何が変更になった?
/API が変更になった
>>