您可以使用 chilkat 库。pfx 库是免费的。加载在https://www.chilkatsoft.com/nodejs.asp找到的相应库:
var os = require('os');
if (os.platform() == 'win32') {
var chilkat = require('chilkat_node10_win32');
} else if (os.platform() == 'linux') {
if (os.arch() == 'arm') {
var chilkat = require('chilkat_node10_arm');
} else if (os.arch() == 'x86') {
var chilkat = require('chilkat_node10_linux32');
} else {
var chilkat = require('chilkat_node10_linux64');
}
} else if (os.platform() == 'darwin') {
var chilkat = require('chilkat_node10_macosx');
}
使用以下代码生成 Pfx 文件:
var pfx = new chilkat.Pfx();
var privKey = new chilkat.PrivateKey();
var cert = new chilkat.Cert();
cert.LoadFromFile(publicKeyPath);
privKey.LoadPemFile(privateKeyPath, PASSWORD_PKEY);
pfx.AddPrivateKey(privKey,certChain);
pfx.ToFile("pfxPassword","sample.pfx");