我正在尝试在我的NodeJS应用程序(客户端)和OPCUA服务器(不是基于NodeJS的)之间建立OPCUA连接。我正在使用模块node-opcua,并且在没有加密的情况下连接到OPCUA服务器没有任何问题。
但是,我希望我的连接是安全的和加密的。我尝试使用模块node-opcua-pki来生成证书和私钥,但是我不知道如何使用这个模块以及在哪里运行这个命令。
我是否必须在命令行或NodeJS应用程序中运行命令来生成证书和私钥?
提前感谢您的帮助!
发布于 2020-10-20 19:21:59
使用命令行
$ npx node-opcua-pki certificate -o mycertificate.pem这将在当前文件夹中创建一个自签名证书mycertificate.pem。
这还将在.\certificates\PKI\own\private\private_key.pem中创建pki和相关的私钥(如果尚未存在)。
命令行中有许多选项可用于指定pki的位置或证书的特定主题字符串。
$ npx node-opcua-pki certificate --help以编程方式
const certificateFolder = path.join(process.cwd(), "certificates");
const certificateFile = path.join(certificateFolder, "server_certificate.pem");
const certificateManager = new opcua.OPCUACertificateManager({
rootFolder: certificateFolder,
});
await certificateManager.initialize();
if (!fs.existsSync(certificateFile)) {
await certificateManager.createSelfSignedCertificate({
subject: "/CN=MyCommonName;/L=Paris",
startDate: new Date(),
dns: [],
validity: 365 * 5, // five year
applicationUri: "Put you application URI here ",
outputFile: certificateFile,
});
}
const privateKeyFile = certificateManager.privateKey;
console.log("certificateFile =", certificateFile);
console.log("privateLeyFile =", privateKeyFile);https://stackoverflow.com/questions/64440584
复制相似问题