如何解决NodeJS-如何使用node-opcua-pki生成证书和私钥 使用命令行以编程方式
我正在尝试在我的NodeJS应用程序(客户端)和OPCUA服务器(不是基于NodeJS)之间建立OPCUA连接。 我使用的是node-opcua模块,没有加密就可以连接到OPCUA服务器。
但是我希望我的连接得到保护和加密。我正在尝试使用node-opcua-pki模块生成证书和私钥,但是我不知道如何使用该模块以及在何处运行此命令。
我是否必须在命令行或NodeJS应用程序中运行命令以生成证书和私钥?
在此先感谢您的帮助!
解决方法
使用命令行
$ 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);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。