最近的系統要求較高的安全等級
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內驗證
未完, 碰到其他問題