我正在运行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.JS
和TLS
从数据库中读取证书,因此我可以直接在数据库中添加/删除证书-例如。 PostgreSQL
?