これはIndy server supports SSL 2, but it should notの続きです。デルファイXEベルリン10.1を使用してDelphi Indy SSLパラメータ
、私はレベルの基本的な要件暗号化強度を満たす2つの暗号リストの文字列を発見した:
TLSv1:TLSv1.2:SSLv3:!RC4:!NULL-MD5:!NULL-SHA:!NULL-SHA256:!DES-CBC-SHA:!DES-CBC3-SHA:!IDEA-CBC-SHA
ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
をクアリスSSLlabsとのテストは、のために同じ結果を示していますそれら:彼らは強いですが、:
転送秘密です サポートされていません。
古いブラウザ(特にXPとWin7のIE8)は接続できません(政府機関、病院などのユーザーの中には引き続き使用しているものがあります)。 RC4とDESについて心配していますが、これはこの記事の内容ではありません)。
私の銀行のサービスをQualysでチェックすると、すべての古いブラウザをサポートしていることがわかります。私の質問は、IndyのTIdServerIOHandlerSSLOpenSSL
を設定して、私のサーバが同じように動作するようにする方法です。現在の構成では
、私が持っている:
Method := sslvTLSv1_2;
SSLVersions := [sslvTLSv1,sslvTLSv1_1,sslvTLSv1_2];
私はQualysのレポートは私の銀行が同様にTLS 1.1およびTLS 1.0をサポートするように見える一方で私のサーバーは、TLSのみ1.2をサポートしていることを述べていることに気づきます。彼らはSHA256withRSA署名付きのRSA2048鍵を使用します。しかし私もそうです。私は最新のOpenSSL DLLを使用しています。 cipherListは10日前に更新されたHynek Sclawack(hynek.me/articles)のものです。
さらに、古いブラウザも転送秘密もありません。私は何を逃したのですか?
のQualysは、転送秘密についてのブログ記事があります。これは(ので、ここでそれが答えとして行く、暗号リストがコメントのために長すぎる)暗号化方式を使用しました](https://blog.qualys.com/ssllabs/2013/08/05/configuring-apache-nginx-and-openssl-for-forward-secrecy) –
OpenSSLサーバーが複数のTLSバージョンをサポートできる唯一の方法は、 OpenSSLのSSLv23ワイルドカードプロトコルを使用して、クライアントのハンドシェイクとサーバの設定に基づいて動的にTLSバージョンネゴシエーションを実行します。 Indyはあなたが 'Method = sslvSSLv23'を持っているときSSLv23を使います。 'Method = sslvTLSv1_2'を設定するとTLS 1.2だけが強制され(' SSLVersions = [sslvTLSv1_2] 'に設定されます)、' SSLVersions = [sslvTLSv1_2、sslvTLSv1_2] 'を設定すると' Method = sslvSSLv23'が設定され、 TLS 1.xが有効になっています。 –
method = sslvSSLv23をversions = [sslvTLSv1、sslvTLSv1_1、sslvTLSv1_2]と組み合わせて使用すると、SSLlabsテストはTLS1.xプロトコルがサポートされていることを示します。しかしまたSSL 3. 私はあなたが正しく読まなければ、そうではないはずです。だから私のコードは何とかしなくてはならない。私はさらに検索します。 method = sslvTLSv1_2を使用すると、TLS1.2プロトコルのみがサポートされます。 – user3212191