OpenSSL 1.0.2kはデフォルトで3DES暗号を削除しました。これは、一部のレガシーブラウザ(Windows XPのIE8など)がサポートされなくなったことを意味します。
OpenSSL公式ブログ によると、3DES暗号を再度有効にするには、コンパイル時にenable-weak-ssl-ciphers
フラグを追加する必要があります。
それで、どのようにそれに対処するのですか?コンパイル時に必要な他のフラグはありますか?さらに、DPKG(Debianパッケージ管理ツール)によってインストールされたopensslを、自己コンパイルされた3DES対応バージョンでカバーできますか?それが実行可能な場合、どのように?
ありがとう:-)
その問題を解決するのに役立つ答えがないので、私がそれに対して行ったことを共有したいと思います。
まず、ソフトウェアを構築するためのツールとOpenSSLの依存関係を入手する必要があります(例:Debianのようなディストリビューション)
_apt install build-essential make zlib1g-dev libxml2-dev
_
次に、OpenSSLの最新リリースを入手し、署名を確認して、オプション_enable-weak-ssl-ciphers
_を使用してコンパイルします。GODD** N Microsoft IE6の廃止されたSSLv3のサポートを取り戻したい場合は、_enable-ssl3
_ and _enable-ssl3-method
_もコンパイルオプションに追加する必要があります。
shared
フラグを忘れないでください。そうしないと、_libssl.so
_と_libcrypto.so
_がビルドされません。また、_-Wl,-rpath=
_を使用してリンカー(ld
)にどのディレクトリにある共有ライブラリをリンクします。
_wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz
sha256sum openssl-1.0.2o.tar.gz
curl https://www.openssl.org/source/openssl-1.0.2o.tar.gz.sha256
tar -zxvf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o/
./config --prefix=/opt/openssl-1.0.2 \
--openssldir=/etc/ssl \
shared enable-weak-ssl-ciphers \
-Wl,-rpath=/opt/openssl-1.0.2/lib
make
make install
_
その後、OpenSSLのカスタムバージョンが_/opt/openssl-1.0.2
_にインストールされます(OSに同梱されているバージョンをカバーするのではなく)。
リンカにOpenSSLライブラリのカスタムバージョンをリンクさせるためのこれらのオプションを使用して、アプリケーションを再コンパイルする必要がある場合もあります(_/etc/ld.so.conf
_またはPKGCONFIG
変数から構成をオーバーライドします)
_LDFLAGS="-L/opt/openssl-1.0.2/lib -lssl -lcrypto -Wl,-rpath=/opt/openssl-1.0.2/lib"
_
ほとんどのアプリケーションがAPIをサポートするようになったため、OpenSSL 1.1.0を試すこともできます。
必要になるだろう:
残念ながら、上記のすべてのステップではさらに拡張する必要があるため、私が持っている主な質問は、sureトリプルDESがストックDebianビルドで無効になっていることです。私のストレッチシステムには次のものがあります。
$ openssl version
OpenSSL 1.1.0c 10 Nov 2016
$ openssl list -cipher-algorithms | grep -i des
DES => DES-CBC
DES-CBC
DES-CFB
DES-CFB1
DES-CFB8
DES-ECB
DES-EDE
DES-EDE-CBC
DES-EDE-CFB
DES-EDE-ECB => DES-EDE
DES-EDE-OFB
DES-EDE3
DES-EDE3-CBC
DES-EDE3-CFB
DES-EDE3-CFB1
DES-EDE3-CFB8
DES-EDE3-ECB => DES-EDE3
DES-EDE3-OFB
DES-OFB
DES3 => DES-EDE3-CBC
DESX => DESX-CBC
DESX-CBC
des => DES-CBC
DES-CBC
DES-CFB
DES-CFB1
DES-CFB8
DES-ECB
DES-EDE
DES-EDE-CBC
DES-EDE-CFB
des-ede-ecb => DES-EDE
DES-EDE-OFB
DES-EDE3
DES-EDE3-CBC
DES-EDE3-CFB
DES-EDE3-CFB1
DES-EDE3-CFB8
des-ede3-ecb => DES-EDE3
DES-EDE3-OFB
DES-OFB
des3 => DES-EDE3-CBC
des3-wrap => id-smime-alg-CMS3DESwrap
desx => DESX-CBC
DESX-CBC
id-smime-alg-CMS3DESwrap
$ openssl list -disabled
Disabled algorithms:
BLAKE2
HEARTBEATS
IDEA
MD2
MDC2
RC5
SCTP
SSL3
ZLIB
私には、あなたが話しているバージョンよりももっと新しいOpenSSLバージョンがあり、3DESがサポートされていることが示唆されます。
それで、あなたはテストしましたか?