通过数据库的NodeJS,TLS服务器和证书认证

时间:2018-10-22 11:11:08

标签: node.js ssl tls1.2

我正在运行Node.JS,并试图设置TLS服务器来接受通过证书的请求。这有效:

const tls = require('tls');
const fs = require('fs');

const options = { 
    key: fs.readFileSync('server-key.pem'), 
    cert: fs.readFileSync('server-crt.pem'), 
    ca: fs.readFileSync('ca-crt.pem'), 
    requestCert: true, 
    rejectUnauthorized: true
}; 

const server = tls.createServer(options, (socket) => {
    console.log('server connected', 
        socket.authorized ? 'authorized' : 'unauthorized');

    socket.on('error', (error) => {
        console.log(error);
    });

    socket.write('welcome!\n');
    socket.setEncoding('utf8');
    socket.pipe(process.stdout);
    socket.pipe(socket);
});

server.listen(8000, () => {
    console.log('server bound');
});

我希望能够通过不同的证书对不同的客户端进行身份验证,并通过其证书来标识客户端。 但这应该通过数据库是动态的。

通过任何方式都可以使用Node.JSTLS从数据库中读取证书,因此我可以直接在数据库中添加/删除证书-例如。 PostgreSQL

0 个答案:

没有答案