nodejs 客戶端證書設置。



最近的系統要求較高的安全等級

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_createserver_options_requestlistener

https://nodejs.org/api/tls.html#tls_tls_createserver_options_secureconnectionlistener

找到了配置客戶端證書的額外參數

 requestCert:true  //請求客戶端證書

 rejectUnauthorized:true //如果沒有請求到客戶端來自信任CA頒發的證書,拒絕客戶端的連接

 

添加重新web服務。果斷連接不上了

Chrome報錯

SSL 連接出錯

 

ERR_SSL_PROTOCOL_ERROR
無法與服務器建立安全連接。可能是服務器出現了問題,也可能是您沒有服務器要求的客戶端身份驗證證書。
 
但這就表示目的達到了,接下來,只要安裝客戶端證書即可。
 
客戶端證書添加完畢,則最后一步,是將證書“遷移”到USBKEY內驗證
 
未完, 碰到其他問題

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM