nodejs 与 expressjs 和 SSL p7b 证书

Posted

技术标签:

【中文标题】nodejs 与 expressjs 和 SSL p7b 证书【英文标题】:nodejs with expressjs and SSL p7b certificate 【发布时间】:2016-06-26 12:13:25 【问题描述】:

我很抱歉我的语言,但我不会说英语。

我正在尝试在我的应用程序中实现 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证书,请帮助我

【问题讨论】:

你得到答案了吗?我遇到了同样的问题... 你找到解决办法了吗? 这里有点跑题了。如果没有解决方案,如何在服务器网络设置上实施 SSL?就像在带有 apache2 的 ubuntu 上一样,我们可以加密 SSL 证书(免费)。 【参考方案1】:

首先您必须将 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

要将 pfx 文件与 node js 一起使用

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

【讨论】:

以上是关于nodejs 与 expressjs 和 SSL p7b 证书的主要内容,如果未能解决你的问题,请参考以下文章

NodeJS-ExpressJS 猫鼬 API POST 请求与外键

ExpressJs与NodeJs版本的兼容性

刷新页面显示找不到文件错误如何使用 [angular js + NodeJS/ExpressJS] 解决

Nodejs:无法同时运行expressjs和reactjs

Nodejs,expressjs - 如何提供延迟响应

使用 nodejs 和 expressjs 的 flash 套接字策略