fkc
Version:
FKC application service framework.
45 lines • 1.24 kB
JavaScript
;
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
})
}