diff --git a/packages/node_modules/@node-red/nodes/core/network/05-tls.html b/packages/node_modules/@node-red/nodes/core/network/05-tls.html index 81d1453f9..f970557ef 100644 --- a/packages/node_modules/@node-red/nodes/core/network/05-tls.html +++ b/packages/node_modules/@node-red/nodes/core/network/05-tls.html @@ -67,6 +67,10 @@ +
+ + +

@@ -98,7 +102,8 @@ keyname: {value:""}, caname: {value:""}, servername: {value:""}, - verifyservercert: {value: true} + verifyservercert: {value: true}, + alpnprotocol: {value: ""} }, credentials: { certdata: {type:"text"}, diff --git a/packages/node_modules/@node-red/nodes/core/network/05-tls.js b/packages/node_modules/@node-red/nodes/core/network/05-tls.js index 078bac2cc..888d749fd 100644 --- a/packages/node_modules/@node-red/nodes/core/network/05-tls.js +++ b/packages/node_modules/@node-red/nodes/core/network/05-tls.js @@ -26,6 +26,7 @@ module.exports = function(RED) { var keyPath = n.key.trim(); var caPath = n.ca.trim(); this.servername = (n.servername||"").trim(); + this.alpnprotocol = (n.alpnprotocol||"").trim(); if ((certPath.length > 0) || (keyPath.length > 0) || (caPath.length > 0)) { @@ -106,6 +107,9 @@ module.exports = function(RED) { if (this.servername) { opts.servername = this.servername; } + if (this.alpnprotocol) { + opts.ALPNProtocols = [this.alpnprotocol]; + } opts.rejectUnauthorized = this.verifyservercert; } return opts; diff --git a/packages/node_modules/@node-red/nodes/locales/en-US/messages.json b/packages/node_modules/@node-red/nodes/locales/en-US/messages.json index 3c34a507f..6945ee8ae 100755 --- a/packages/node_modules/@node-red/nodes/locales/en-US/messages.json +++ b/packages/node_modules/@node-red/nodes/locales/en-US/messages.json @@ -170,14 +170,16 @@ "passphrase": "Passphrase", "ca": "CA Certificate", "verify-server-cert":"Verify server certificate", - "servername": "Server Name" + "servername": "Server Name", + "alpnprotocol": "ALPN Protocol" }, "placeholder": { "cert":"path to certificate (PEM format)", "key":"path to private key (PEM format)", "ca":"path to CA certificate (PEM format)", "passphrase":"private key passphrase (optional)", - "servername":"for use with SNI" + "servername":"for use with SNI", + "alpnprotocol":"for use with ALPN" }, "error": { "missing-file": "No certificate/key file provided"