UNPKG

fkc

Version:

FKC application service framework.

45 lines 1.24 kB
'use strict'; const tls = require('tls'); module.exports = (host) => { let key; let cert; for (const e in host) { if(host[e].ssl){ key = host[e].ssl.key cert = host[e].ssl.cert } } var getKeyCert = { SNICallback: function (domain, cb) { if (host[domain]&&host[domain].ssl) { if (cb) { cb(null, KeyCert(host[domain])); } else { return KeyCert(host[domain]);//兼容Node老版本 } } else { //一定要设置默认值,这样访问其他时,也可以访问,只是会有安全性提示 if (cb) { cb(null, KeyCert({ key, cert })); } else { return KeyCert({ key, cert }); } } }, key, cert }; return getKeyCert } function KeyCert(obj) { return tls.createSecureContext({ key: obj.key, cert: obj.cert }) }