node-red-contrib-opcua
Version:
A Node-RED node to communicate via OPC UA based on node-opcua library.
56 lines (46 loc) • 1.88 kB
JavaScript
const opcua = require("node-opcua");
const path = require("path");
const envPaths = require("env-paths");
const config = envPaths("node-red-opcua").config;
let _g_CertificateManager = null; // For all clients
function createCertificateManager() {
if (_g_CertificateManager) return _g_CertificateManager;
let folder = config;
_g_CertificateManager = new opcua.OPCUACertificateManager({
name: "PKI",
rootFolder: path.join(folder, "PKI"),
automaticallyAcceptUnknownCertificate: true
});
return _g_CertificateManager;
}
function createClientCertificateManager() {
return createCertificateManager();
}
function createServerCertificateManager() {
return createServerCertificateManager();
}
let _g_userCertificateManager = null;
function createUserCertificateManager() {
if (_g_userCertificateManager) return _g_userCertificateManager;
let folder = config;
_g_userCertificateManager = new opcua.OPCUACertificateManager({
name: "UserPKI",
rootFolder: path.join(folder, "UserPKI"),
automaticallyAcceptUnknownCertificate: true
});
return _g_userCertificateManager;
}
let _g_ServerCertificateManager = null; // For all servers
function createServerCertificateManager() {
if (_g_ServerCertificateManager) return _g_ServerCertificateManager;
let folder = config;
_g_ServerCertificateManager = new opcua.OPCUACertificateManager({
name: "ServerPKI",
rootFolder: path.join(folder, "ServerPKI"),
automaticallyAcceptUnknownCertificate: true
});
return _g_ServerCertificateManager;
}
exports.createClientCertificateManager = createClientCertificateManager;
exports.createServerCertificateManager = createServerCertificateManager;
exports.createUserCertificateManager = createUserCertificateManager;