首页 文章

NodeJS从文件加载PFX证书

提问于
浏览
0

我正在使用Node.JS和TypeScript编写一个小项目,其中一个要求是从.pfx文件中读取PFX证书并在代码中使用它来加密有效负载体

我有一个名为 cert1.pfx 的证书公钥/私钥文件,我的代码需要此证书,如下所示

...
const cert = loadPfx("cert1.pfx");
const p: Payload = new Payload();
p.addReaderCertificate(cert);
...

我已经四处寻找但是找不到为我的用例加载PFX的方法,我已经看到了为HTTPS服务器或Express.JS加载PFX的示例,我看了一个node-x509,但那是用于BASE64编码的CER或PEM证书,我也看了node-rsa,但那是使用公钥/私钥进行加密/解密的 .

有谁知道这是否可能?如果是这样,我会欣赏一些关于如何完成的指示 .

1 回答

  • 7

    所以经过大量的研究和拖网搜索谷歌档案后,我遇到了一个名为pem的软件包,它有以下方法:

    pem.readPkcs12(bufferOrPath, [options], callback)
    

    这可以读取PKCS#12文件(或者换句话说 *.pfx*.p12 文件)等等,我在之前的研究中一定是错过了这个 .

    用法:

    const pem = require("pem");
    const fs = require("fs");
    
    const pfx = fs.readFileSync(__dirname + "/test.pfx");
    pem.readPkcs12(pfx, { p12Password: "password" }, (err, cert) => {
        console.log(cert);
    });
    

    输出:

    { cert: "...", ca: ["subca", "rootca"], key: "..." }
    

    你可以找到更多herehere .

相关问题