2017-10-08 15 views
0

外部ドメインのSSLステータスをノードで確認しようとしています。 google.comを使用したテストで正常に動作します。しかし、無効なSSL証明書(この場合は無効)を持っているURLを試しても、res.socket.authorizedの値はまだtrueです。NodeJS SSL検証が正しくありません

私はこの間違いを使用していますか、またはドメインの状態を検証する良い方法がありますか? SSL証明書ですか?

const https = require('https'); 

const options = { 
    host: 'revoked.badssl.com', 
    method: 'get', 
    path: '/' 
}; 

const req = https.request(options, res => { 
    console.log('Certificate Status: ', res.socket.authorized); 
}); 

req.on('error', error => { 
    console.error('Error: ', error); 
}); 

req.end(); 
+1

私はあなたのSSLホストがそうでない場合は有効である場合は、ノードがアクティブCRLのチェックを行いますと思いますが、失効していないのですか? 'crl'オプションを使ってクライアントにCRLを提供する必要があることを確かめてください。https://nodejs.org/api/tls.html#tls_tls_createsecurecontext_options – Matt

+0

このリンクを参照してくださいhttps://stackoverflow.com/a/34354118/7635845 –

答えて

0

これは、特に、取り消されたSSL証明書の問題であることが判明しました。

証明書の失効は、すべての証明機関に伝播されません。各CAは、この特定のCAによって発行された失効した証明書のリストのみを含む証明書失効リスト(CRL)を発行します。ここでは、この回避作業上の

もっと詳しく:How does certificate revocation work with intermediate CA's?

関連する問題