1

Amazon S3 は静的ウェブサイトのホスティングを許可しますが、バケット名がドメイン名と一致する必要があるという要件があります。これは、バケット名が mydomain.com のようになることを意味します。Amazon S3 は、*.s3.amazonaws.com のワイルドカード SSL 証明書も提供します。TLS のルールにより、これは com.s3.amazonaws.com は証明書の対象となりますが、mybucket.com.s3.amazonaws.com は対象外であることを意味します。*.com.s3.amazonaws.com に接続するKnoxなどのノード アプリケーションは、TLS のルールに違反していても、その証明書を実際に信頼できるはずです。knox ライブラリは「閉じたシステム」であるためです。アマゾンのプロパティに。

Node モジュールhttpsは に依存しておりtls.js、次のtls.js機能があります。

function checkServerIdentity(host, cert) {
...
// "The client SHOULD NOT attempt to match a presented identifier in
// which the wildcard character comprises a label other than the
// left-most label (e.g., do not match bar.*.example.net)."
// RFC6125
if (!wildcards && /*/.test(host) || /[.*].**/.test(host) ||
    /*/.test(host) && !/*.*..+..+/.test(host)) {
   return /$./;
 }

「証明書の不一致」エラーを適切に返します。上位レベルの Knox モジュールは、数レベル下にあり、Knox によって直接呼び出されない checkServerIdentity 関数をオーバーライドできますか? 必要なライブラリの関数をオーバーライドする方法は知っていますが、これらのライブラリに含まれるライブラリは知りません。

4

2 に答える 2