私はSNIで動作するRubyのNet::HTTP
実装を取得しようとしています。サーバー名Net :: HTTPでの表示のサポート?
両方mail.google.comとgmail.com SSL経由で接続するときに、Googleのサーバーが使用する証明書を知る必要があり、同じIPアドレスに住んでいます。デフォルトでは、webFingerを実装しようとしている場合に問題となるmail.google.com証明書が返されます。
WebFingerでは、LRDD情報を取得するためにhttps://gmail.com/.well-known/host-meta
を取得する必要がありますが、セキュリティ上の理由から、SSL証明書情報を確認することが重要です。
Googleが、この場合には、デフォルトのmail.google.comの証明書を提供するので、SSL post_connection_check
は失敗します。ここでの正しい解決方法は、サーバー名の表示をNet::HTTP
にすることですが、OpenSSL用のRubyバインディングを使用する方法を私には分かりません。他に誰かがアイデアを持っていますか?
あなたが実行することで問題を見ることができるはずです。
https://gist.github.com/7936ef38787092a22897
私はすべてが、確信、一日中、この上で作業した後や、昨日の一部だがこれは無駄をなくすための運動だと言います。私はSNIを稼働させることができたとしても、難しい展開シナリオのために、サルパッチを使用してそれを行う必要があると確信しています。 –
このタイプの問題に対処する他のRuby互換オプションはありますか?例えば、Net :: HTTPSは 'subjectAltName'をサポートしていますか? –
もう一つの提案のオプションは、一般名マッピングのホワイトリストに対してホスト名をチェックし、 'post_connection_check'の私自身の実装を作成することです。これを行った場合、考慮すべきセキュリティ上の影響はありますか? –