zoukankan      html  css  js  c++  java
  • 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内验证
     
    未完, 碰到其他问题
  • 相关阅读:
    Python装饰器的解包装(unwrap)
    《Python cookbook》 “定义一个属性可由用户修改的装饰器” 笔记
    关于Python的函数(Method)与方法(Function)
    判断python对象是否可调用的三种方式及其区别
    tornado返回指定的http code
    Mac下安装pymssql
    iptables
    OpenFlow通信流程解读
    Prometheus的架构及持久化
    ansible总结
  • 原文地址:https://www.cnblogs.com/zihunqingxin/p/4628496.html
Copyright © 2011-2022 走看看