nodejsクライアント証明書の設定.

1825 ワード

最近のシステムでは、より高いセキュリティレベルが必要です.
https+usbkey証明書
httpsの操作は簡単です.
opensslはcaと証明書を生成して、スタートを設定すればいいです.
生成が成功したら、このようになります.
このように
var options = {

key: fs.readFileSync(__dirname + '/server.key'),

cert: fs.readFileSync(__dirname+'/server.pem'),

ca: fs.readFileSync(__dirname+'/ca.crt'),

auth:"1CUI"

};
 server =https.createServer(options, app).listen(app.get('port'), function() {

        console.log('Express server listening on port ' + server.address().port);

    });



    app.close = function (callback) {

        server.close(callback);

    }
 
しかし、クライアントの証明書を検証すると、オンラインで既製のものが見つかりません.
 
仕方ないです.公式文書を調べます.
https://nodejs.org/api/https.html#https_https_クレアセーバーoptionsrequest listener
https://nodejs.org/api/tls.html#tls_tlsクレアセーバーoptionssecureconnection listener
クライアント証明書を設定する追加のパラメータが見つかりました.
 request Cert:true //クライアント証明書の要求
 reject Unauthorized:true//クライアントが信頼CAから発行された証明書を要求していない場合、クライアントの接続を拒否します.
 
再ウェブサービスを追加します.果敢に接続できなくなりました.
Chromeエラー
SSL接続エラー
 
ERR_SSLPROTOCOL_ERROR
詳細を隠す
サーバとのセキュリティ接続を確立できませんでした.サーバーに問題があったかもしれません.サーバーが要求しているクライアントの認証証明書がないかもしれません.
 
これは目的が達成されたことを表しています.次にクライアント証明書をインストールすればいいです.
 
クライアント証明書の追加が完了したら、最後のステップは証明書をUSBKEY内に「移動」して検証することです.
 
まだ終わらないで、その他の問題にぶつかります.