使用ExpressJS和SSL p7b证书的Node.js

6

非常抱歉我的语言不好,我不会说英语。

我正在尝试在我的应用程序中实现SSL,但我只有由csr文件创建的有效p7b。我在Linux服务器上使用expressjs和node js。我知道如何实现PEM证书。

var options = {
        key: fs.readFileSync('./private.pem'),
        cert: fs.readFileSync('./' + config.ssl[config.mode].cert)
    };

    server = https.createServer(options, app).listen(3000); 

但是我不知道如何实现p7b证书,请帮忙。

1
你有没有得到答案?我也遇到了同样的问题... - shaun
你是否找到了任何解决方案? - Ayman Elarian
这里稍微有些偏题。如果没有解决方案,那么在服务器网络设置上实现SSL怎么样?就像在Ubuntu上使用Apache2 + Let's Encrypt SSL证书(免费)一样。 - Marcia Ong
1个回答

0

首先,您需要将p7b格式转换为pem格式:

openssl pkcs7 -in public.p7b -inform DER -out public.pem -print_certs

创建一个包含您的私钥和公共证书的pkcs12文件:
openssl pkcs12 -export -inkey private.key -in public.pem -name my_name -out result.pfx

要在 Node.js 中使用 pfx 文件,请使用以下方法:

const cert = fs.readFileSync("result.pfx");
const request = require('request').defaults({
    agentOptions: {
        pfx: cert,
        passphrase: password
    }
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接