質問: 特定のwebサイトで提供されているssl / tls暗号スイートを一覧表示する方法を教えてください。 特定のwebサイトで提供されているssl/tls暗号スイートのリストを取得する方法を教えてください。私はopensslを試しました、しかしあなたが出力を調べるなら:$ echo -n | openssl s_client -connect www.google.com:443 connected(00000003) depth=1 /c=za/o=thawte consulting (pty) ltd./cn=thawte sgc ca verify error:num=20:unable to get local issuer certificate verify return:0 --- certificate chain 0 s:/c=us/st=california/l=mountain view/o=google inc/cn=www.google.com i:/c=za/o=thawte consulting (pty) ltd./cn=thawte sgc ca 1 s:/c=za/o=thawte consulting (pty) ltd./cn=thawte sgc ca i:/c=us/o=verisign, inc./ou=class 3 public primary certification authority --- server certificate -----begin certificate----- miiditccaoqgawibagiql9+89q6rum0pmqpfqdq+mjanbgkqhkig9w0baqufadbm mqswcqydvqqgewjaqtelmcmga1uechmcvghhd3rlienvbnn1bhrpbmcgkfb0eskg thrkljewmbqga1ueaxmnvghhd3rlifnhqybdqtaefw0woteymtgwmdawmdbafw0x mteymtgymzu5ntlamggxczajbgnvbaytalvtmrmweqydvqqiewpdywxpzm9ybmlh mrywfaydvqqhfa1nb3vudgfpbibwawv3mrmweqydvqqkfaphb29nbgugsw5jmrcw fqydvqqdfa53d3cuz29vz2xllmnvbtcbnzanbgkqhkig9w0baqefaaobjqawgykc gyea6pmgd5d6htffvximttdeaon4c9kcko+irtn7eoh8rqk41xxgooskfqebg+jn gtxj9xvoraelgyw84u+e593y17iywqg7tcfr39sdaqc9bkjb4sld3mufxxzw2k6l 05vuuwcikh0r73mkszek9p4y/bz5rinql/os/crgk1w7t0ucaweaaaob5zcb5dam bgnvhrmbaf8eajaamdyga1udhwqvmc0wk6apocegjwh0dha6ly9jcmwudghhd3rl lmnvbs9uagf3dgvtr0ndqs5jcmwwkaydvr0lbcewhwyikwybbquhawegccsgaquf bwmcbglghkgbhvhcbaewcgyikwybbquhaqeezjbkmcigccsgaqufbzabhhzodhrw oi8vb2nzcc50agf3dguuy29tmd4gccsgaqufbzachjjodhrwoi8vd3d3lnroyxd0 zs5jb20vcmvwb3npdg9yes9uagf3dgvfu0ddx0nblmnyddanbgkqhkig9w0baquf aaobgqcfq89bxfapsb/isjr/aiedlrldle5a+rlizrmcui3nhx4adpaqedekujh5 u2ongjd8iyapku0wueru9g2jysa9zcro1knbzipyvzwy4oa8ys+wai0or1a04se6 z5nrup8pjca2nhuzunc+my+f6h/neqynv4sgqhqaibaxweehxw== -----end certificate----- subject=/c=us/st=california/l=mountain view/o=google inc/cn=www.google.com issuer=/c=za/o=thawte consulting (pty) ltd./cn=thawte sgc ca --- no client certificate ca names sent --- ssl handshake has read 1777 bytes and written 316 bytes --- new, tlsv1/sslv3, cipher is aes256-sha server public key is 1024 bit compression: none expansion: none ssl-session: protocol : tlsv1 cipher : aes256-sha session-id: 748e2b5feff9ea065da2f04a06fbf456502f3e64df1b4ff054f54817c473270c session-id-ctx: master-key: c4284ae7d76421f782a822b3780fa9677a726a25e1258160ca30d346d65c5f4049da3d10a41f3fa4816dd9606197fae5 key-arg : none start time: 1266259321 timeout : 300 (sec) verify return code: 20 (unable to get local issuer certificate) --- 暗号スイートがaes256-shaのものであることを示しているだけです。私は会話の16進ダンプを辿ることができることを知っていますが、私はもう少しエレガントな何かを望んでいました。私はlinux上でこれを実行したいのですが、windows(または他のもの)でも大丈夫でしょう。この質問は、私がpci用に行っているセキュリティテストと一般的な侵入テストによって動機付けられています。更新:gregsは、sslサーバーがクライアントの暗号スイートから選ぶことを以下に指摘します。だから私は一度に一つずつすべての暗号スイートをテストする必要があるだろうようです。私は何かを一緒にハッキングすることができると思いますが、これを行うためのより単純でより将来性のある(例えば新しい暗号)方法はありますか?
回答: kez's answer に記載されているssl labsオンラインツールを開発したivanristićによる(無料) openssl cookbook は、次のように述べています。 特定のサーバでサポートされているすべてのスイートを確認したい場合は、openssl ciphers allを呼び出して、使用しているバージョンのopensslでサポートされているすべてのスイートのリストを取得してください。その後、それらを1つずつサーバーに送信して個別にテストします。私はあなたがこれを手動ですることを提案していません。これは、少し自動化することが大いに役立つ状況です。実際、これは良いツールを探すのが適切かもしれない状況です。 ただし、この方法でテストすることには欠点があります。 opensslがサポートするスイートのみをテストできます。 ... すべての暗号スイートをサポートする単一のssl/tlsライブラリがないため、包括的なテストが困難になります。 ssl labsでは、私はこの目的のために部分的なハンドシェイクを使い、任意のスイートをサポートするふりをするカスタムクライアントを使いました。実際には単一のスイートでさえ交渉することはできませんが、交渉することを提案するだけで、サーバがスイートをサポートしているかどうかを判断するのに十分です。この方法ですべてのスイートをテストできるだけでなく、非常に効率的に実行できます。 (私の強調)私が他の答えで言及したのを見たことがない1つのツールはdsd ismのようなコンプライアンス規格に対して特に検出された暗号とプロトコルを比較することを意図しているスティーブンブラッドショーの ssltest ですpci-dss」それで、これか他の答えで言及されたツールのうちの1つを試みるか、あるいはあなた自身で構築して、そして部分的な握手のristićのアプローチを使うことを考えなさい。