node-opcua-server-configuration 2.177.0 → 2.179.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/clientTools/push_certificate_management_client.js +1 -1
- package/dist/clientTools/push_certificate_management_client.js.map +1 -1
- package/dist/server/file_transaction_manager.js +26 -13
- package/dist/server/file_transaction_manager.js.map +1 -1
- package/dist/server/install_certificate_file_watcher.js +4 -2
- package/dist/server/install_certificate_file_watcher.js.map +1 -1
- package/dist/server/install_push_certificate_management.d.ts +35 -3
- package/dist/server/install_push_certificate_management.js +119 -27
- package/dist/server/install_push_certificate_management.js.map +1 -1
- package/dist/server/promote_trust_list.js +6 -6
- package/dist/server/promote_trust_list.js.map +1 -1
- package/dist/server/push_certificate_manager/create_signing_request.js.map +1 -1
- package/dist/server/push_certificate_manager/update_certificate.js +34 -4
- package/dist/server/push_certificate_manager/update_certificate.js.map +1 -1
- package/dist/server/push_certificate_manager_helpers.js +8 -4
- package/dist/server/push_certificate_manager_helpers.js.map +1 -1
- package/dist/server/push_certificate_manager_server_impl.d.ts +4 -2
- package/dist/server/push_certificate_manager_server_impl.js +0 -3
- package/dist/server/push_certificate_manager_server_impl.js.map +1 -1
- package/dist/server/tools.js +1 -1
- package/dist/server/tools.js.map +1 -1
- package/package.json +30 -30
- package/source/clientTools/push_certificate_management_client.ts +1 -1
- package/source/server/file_transaction_manager.ts +26 -13
- package/source/server/install_certificate_file_watcher.ts +5 -4
- package/source/server/install_push_certificate_management.ts +175 -58
- package/source/server/promote_trust_list.ts +16 -15
- package/source/server/push_certificate_manager/create_signing_request.ts +4 -2
- package/source/server/push_certificate_manager/update_certificate.ts +36 -7
- package/source/server/push_certificate_manager_helpers.ts +9 -5
- package/source/server/push_certificate_manager_server_impl.ts +6 -9
- package/source/server/tools.ts +1 -1
|
@@ -331,7 +331,7 @@ export class ClientPushCertificateManagement {
|
|
|
331
331
|
};
|
|
332
332
|
const callMethodResult = await this.session.call(methodToCall);
|
|
333
333
|
if (callMethodResult.statusCode.isGood()) {
|
|
334
|
-
if (
|
|
334
|
+
if (callMethodResult.outputArguments?.length !== 1) {
|
|
335
335
|
return {
|
|
336
336
|
statusCode: StatusCodes.BadInternalError,
|
|
337
337
|
applyChangesRequired: false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push_certificate_management_client.js","sourceRoot":"","sources":["../../source/clientTools/push_certificate_management_client.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAoB,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAA0B,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAmB,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAoB,MAAM,oBAAoB,CAAC;AAWlF,MAAM,yBAAyB,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAAC;AACvE,MAAM,0BAA0B,GAAG,aAAa,CAAC,0CAA0C,CAAC,CAAC;AAC7F,MAAM,qBAAqB,GAAG,aAAa,CAAC,qCAAqC,CAAC,CAAC;AACnF,MAAM,uBAAuB,GAAG,aAAa,CAAC,uCAAuC,CAAC,CAAC;AACvF,MAAM,kBAAkB,GAAG,aAAa,CAAC,kCAAkC,CAAC,CAAC;AAC7E,MAAM,gCAAgC,GAAG,aAAa,CAAC,gDAAgD,CAAC,CAAC;AAEzG,MAAM,uBAAuB,GAAG,aAAa,CAAC,+DAA+D,CAAC,CAAC;AAC/G,MAAM,iBAAiB,GAAG,aAAa,CAAC,yDAAyD,CAAC,CAAC;AACnG,MAAM,qBAAqB,GAAG,aAAa,CAAC,6DAA6D,CAAC,CAAC;AAE3G,SAAS,0BAA0B,CAAC,gBAAiC;IACjE,IAAI,gBAAgB,YAAY,MAAM,EAAE,CAAC;QACrC,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IACD,QAAQ,gBAAgB,EAAE,CAAC;QACvB,KAAK,yBAAyB;YAC1B,OAAO,uBAAuB,CAAC;QACnC,KAAK,mBAAmB;YACpB,OAAO,iBAAiB,CAAC;QAC7B,KAAK,uBAAuB;YACxB,OAAO,qBAAqB,CAAC;QACjC;YACI,OAAO,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC/C,CAAC;AACL,CAAC;AAED,SAAS,2BAA2B,CAAC,iBAAkC;IACnE,IAAI,iBAAiB,YAAY,MAAM,EAAE,CAAC;QACtC,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IACD,OAAO,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAQhC;IAPH,oBAAoB,CAAU;IAC9B,oBAAoB,CAAU;IAC9B,uBAAuB,CAAU;IACjC,mBAAmB,CAAU;IAErC,YACI,OAA2B,EACpB,MAAc;QAErB,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAFhB,WAAM,GAAN,MAAM,CAAQ;IAGzB,CAAC;IACD;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACnB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;YACzD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,WAAW;YAC3D,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,WAAW;YAC3D,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAE,WAAW;YAC9D,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,0BAA0B;SAC3E,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACnE,IAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACnE,IAAI,CAAC,uBAAuB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtE,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAElE,iBAAiB;QACjB,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC;IAES,KAAK,CAAC,iBAAiB;QAC7B,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,aAA6B;QAC7C,iBAAiB;QACjB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,iBAAiB;QACjB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,cAAc,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;QAC7E,MAAM,YAAY,GAA0B;YACxC,cAAc;YACd,QAAQ,EAAE,IAAI,CAAC,mBAAmB;YAClC,QAAQ,EAAE,IAAI,CAAC,MAAM;SACxB,CAAC;QACF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/D,IAAI,gBAAgB,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC;QACxE,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,cAAc;QAChB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,cAAc,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/E,MAAM,YAAY,GAA0B;YACxC,cAAc;YACd,QAAQ,EAAE,IAAI,CAAC,oBAAoB;YACnC,QAAQ,EAAE,IAAI,CAAC,MAAM;SACxB,CAAC;QACF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/D,IAAI,gBAAgB,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,OAAO,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,KAAgB,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,gBAA6C,EAAE,oBAA6B;QAC7F,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAClC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,WAAW,CAAC,kBAAkB,CAAC;YAC1C,CAAC;QACL,CAAC;QAED,MAAM,oBAAoB,GAAW,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAExH,MAAM,cAAc,GAAkB;YAClC,EAAE,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAE;YAC9D,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,oBAAoB,EAAE;SAChE,CAAC;QACF,MAAM,YAAY,GAA0B;YACxC,cAAc;YACd,QAAQ,EAAE,IAAI,CAAC,oBAAoB;YACnC,QAAQ,EAAE,IAAI,CAAC,MAAM;SACxB,CAAC;QACF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/D,OAAO,gBAAgB,CAAC,UAAU,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,UAAkB,EAAE,oBAA6B;QACrE,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,cAAc,GAAkB;YAClC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE;YAChD,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,oBAAoB,EAAE;SAChE,CAAC;QACF,MAAM,YAAY,GAA0B;YACxC,cAAc;YACd,QAAQ,EAAE,IAAI,CAAC,uBAAuB;YACtC,QAAQ,EAAE,IAAI,CAAC,MAAM;SACxB,CAAC;QACF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/D,OAAO,gBAAgB,CAAC,UAAU,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,0BAA0B;QAC5B,kCAAkC;QAClC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,SAAS,GAAsB,IAAI,iBAAiB,EAAE,CAAC;QAC7D,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,KAAK,CAAC,mCAAmC,CAAC,aAA6B;QACnE,kCAAkC;QAClC,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,SAAS,GAAsB,IAAI,iBAAiB,EAAE,CAAC;QAC7D,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,WAA8B;QAC5D,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QACnC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IACvC,CAAC;CACJ;AACD,MAAM,OAAO,gBAAgB;IAEd;IACA;IAFX,YACW,OAA2B,EAC3B,MAAc;QADd,YAAO,GAAP,OAAO,CAAoB;QAC3B,WAAM,GAAN,MAAM,CAAQ;IACtB,CAAC;IACJ,KAAK,CAAC,mBAAmB;QACrB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAClH,IAAI,gBAAgB,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,sBAAsB,EAAE,WAAW,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/G,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,SAAS,CAAC,KAAK,CAAC,KAAiB,CAAC;IAC7C,CAAC;IACD,KAAK,CAAC,YAAY;QACd,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;QAC3G,IAAI,gBAAgB,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,eAAe,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/D,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC9D,CAAC;CACJ;AACD,MAAM,OAAO,+BAA+B;IACjC,MAAM,CAAC,mCAAmC,GAAW,aAAa,CAAC,SAAS,CAAC,CAAC;IAE9E,OAAO,CAAqB;IAEnC,YAAY,OAA2B;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACI,KAAK,CAAC,oBAAoB,CAC7B,kBAAmC,EACnC,iBAAkC,EAClC,WAA0B,EAC1B,oBAA8B,EAC9B,KAAkB;QAElB,KAAK,GAAG,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEjC,MAAM,cAAc,GAAG;YACnB,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,0BAA0B,CAAC,kBAAkB,CAAC,EAAE;YACpF,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,2BAA2B,CAAC,iBAAiB,CAAC,EAAE;YACpF,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE;YACjD,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,oBAAoB,EAAE;YAC7D,EAAE,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE;SAClD,CAAC;QACF,MAAM,YAAY,GAA0B;YACxC,cAAc;YACd,QAAQ,EAAE,0BAA0B;YACpC,QAAQ,EAAE,yBAAyB;SACtC,CAAC;QACF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE/D,IAAI,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,OAAO;gBACH,yBAAyB,EAAE,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK;gBACtE,UAAU,EAAE,gBAAgB,CAAC,UAAU;aAC1C,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,UAAU,EAAE,CAAC;QACvD,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,eAAe;QACxB,MAAM,cAAc,GAAkB,EAAE,CAAC;QACzC,MAAM,YAAY,GAA0B;YACxC,cAAc;YACd,QAAQ,EAAE,qBAAqB;YAC/B,QAAQ,EAAE,yBAAyB;SACtC,CAAC;QACF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/D,IAAI,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACzE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,kBAAkB,EAAE,CAAC;YAC1D,CAAC;YACD,OAAO;gBACH,YAAY,EAAE,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK;gBACzD,UAAU,EAAE,gBAAgB,CAAC,UAAU;aAC1C,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,OAAO;gBACH,UAAU,EAAE,gBAAgB,CAAC,UAAU;aAC1C,CAAC;QACN,CAAC;IACL,CAAC;IAyDM,KAAK,CAAC,iBAAiB,CAC1B,kBAAmC,EACnC,iBAAkC,EAClC,WAAmB,EACnB,kBAA4B,EAC5B,gBAAyB,EACzB,UAA4B;QAE5B,MAAM,cAAc,GAAkB;YAClC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,0BAA0B,CAAC,kBAAkB,CAAC,EAAE;YACpF,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,2BAA2B,CAAC,iBAAiB,CAAC,EAAE;YACpF,EAAE,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE;YACrD,EAAE,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE;YAC/F,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,gBAAgB,IAAI,EAAE,EAAE;YAC5D,EAAE,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAC5F,CAAC;QACF,MAAM,YAAY,GAA0B;YACxC,cAAc;YACd,QAAQ,EAAE,uBAAuB;YACjC,QAAQ,EAAE,yBAAyB;SACtC,CAAC;QACF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/D,IAAI,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,gBAAgB,CAAC,eAAe,IAAI,gBAAgB,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrF,OAAO;oBACH,UAAU,EAAE,WAAW,CAAC,gBAAgB;oBACxC,oBAAoB,EAAE,KAAK;iBAC9B,CAAC;gBACF,4DAA4D;YAChE,CAAC;YACD,OAAO;gBACH,oBAAoB,EAAE,CAAC,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK;gBACnE,UAAU,EAAE,gBAAgB,CAAC,UAAU;aAC1C,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,OAAO;gBACH,UAAU,EAAE,gBAAgB,CAAC,UAAU;gBACvC,oBAAoB,EAAE,KAAK;aAC9B,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACI,KAAK,CAAC,YAAY;QACrB,MAAM,YAAY,GAA0B;YACxC,cAAc,EAAE,EAAE;YAClB,QAAQ,EAAE,kBAAkB;YAC5B,QAAQ,EAAE,yBAAyB;SACtC,CAAC;QACF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE/D,IAAI,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,gBAAgB,CAAC,UAAU,CAAC;IACvC,CAAC;IAEM,KAAK,CAAC,6BAA6B;QACtC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACtC,WAAW,EAAE,YAAY,CAAC,KAAK;YAC/B,MAAM,EAAE,gCAAgC;SAC3C,CAAC,CAAC;QACH,OAAO,SAAS,CAAC,KAAK,CAAC,KAAiB,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAAC,oBAA4B;QAC3D,IAAI,oBAAoB,KAAK,yBAAyB,EAAE,CAAC;YACrD,OAAO,uBAAuB,CAAC;QACnC,CAAC;QACD,OAAO;QACP,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,mBAAmB,CAC5B,UAAmF;QAEnF,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,UAAU,CAAC,QAAQ,EAAE,KAAK,yBAAyB,EAAE,CAAC;YACtD,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,UAAU,CAAC,QAAQ,EAAE,KAAK,uBAAuB,EAAE,CAAC;YACpD,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QACrE,CAAC;QACD,iBAAiB;QACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC3C,CAAC;IACM,KAAK,CAAC,mBAAmB;QAC5B,OAAO,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;IAC/D,CAAC;IACM,KAAK,CAAC,iBAAiB;QAC1B,OAAO,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;IAC7D,CAAC"}
|
|
1
|
+
{"version":3,"file":"push_certificate_management_client.js","sourceRoot":"","sources":["../../source/clientTools/push_certificate_management_client.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,14 +4,16 @@
|
|
|
4
4
|
import fs from "node:fs";
|
|
5
5
|
import os from "node:os";
|
|
6
6
|
import path from "node:path";
|
|
7
|
-
import { make_debugLog, make_errorLog, make_warningLog } from "node-opcua-debug";
|
|
7
|
+
import { checkDebugFlag, make_debugLog, make_errorLog, make_warningLog } from "node-opcua-debug";
|
|
8
8
|
import { randomBytes } from "node-opcua-utils";
|
|
9
9
|
const debugLog = make_debugLog("ServerConfiguration");
|
|
10
|
+
const doDebug = checkDebugFlag("ServerConfiguration");
|
|
10
11
|
const errorLog = make_errorLog("ServerConfiguration");
|
|
11
12
|
const warningLog = make_warningLog("ServerConfiguration");
|
|
12
13
|
async function _copyFile(source, dest) {
|
|
13
14
|
try {
|
|
14
|
-
|
|
15
|
+
// c8 ignore next
|
|
16
|
+
doDebug && debugLog("copying file \n source ", source, "\n =>\n dest ", dest);
|
|
15
17
|
const sourceExist = fs.existsSync(source);
|
|
16
18
|
if (sourceExist) {
|
|
17
19
|
await fs.promises.copyFile(source, dest);
|
|
@@ -25,7 +27,8 @@ async function _deleteFile(file) {
|
|
|
25
27
|
try {
|
|
26
28
|
const exists = fs.existsSync(file);
|
|
27
29
|
if (exists) {
|
|
28
|
-
|
|
30
|
+
// c8 ignore next
|
|
31
|
+
doDebug && debugLog("deleting file ", file);
|
|
29
32
|
await fs.promises.unlink(file);
|
|
30
33
|
}
|
|
31
34
|
}
|
|
@@ -34,7 +37,8 @@ async function _deleteFile(file) {
|
|
|
34
37
|
}
|
|
35
38
|
}
|
|
36
39
|
async function _moveFile(source, dest) {
|
|
37
|
-
|
|
40
|
+
// c8 ignore next
|
|
41
|
+
doDebug && debugLog("moving file file \n source ", source, "\n =>\n dest ", dest);
|
|
38
42
|
try {
|
|
39
43
|
await _copyFile(source, dest);
|
|
40
44
|
await _deleteFile(source);
|
|
@@ -45,7 +49,8 @@ async function _moveFile(source, dest) {
|
|
|
45
49
|
}
|
|
46
50
|
async function _moveFileWithBackup(source, dest, backupPath) {
|
|
47
51
|
// let make a copy of the destination file
|
|
48
|
-
|
|
52
|
+
// c8 ignore next
|
|
53
|
+
doDebug && debugLog("moveFileWithBackup file \n source ", source, "\n =>\n dest ", dest);
|
|
49
54
|
await _copyFile(dest, backupPath);
|
|
50
55
|
await _moveFile(source, dest);
|
|
51
56
|
}
|
|
@@ -141,14 +146,16 @@ export class FileTransactionManager {
|
|
|
141
146
|
* Commit the transaction by executing all pending file operations.
|
|
142
147
|
*/
|
|
143
148
|
async applyFileOps() {
|
|
144
|
-
|
|
149
|
+
// c8 ignore next
|
|
150
|
+
doDebug && debugLog("start applyFileOps");
|
|
145
151
|
const fileOperation = this.#pendingFileOps.splice(0);
|
|
146
152
|
try {
|
|
147
153
|
while (fileOperation.length) {
|
|
148
154
|
const op = fileOperation.shift();
|
|
149
155
|
await op?.();
|
|
150
156
|
}
|
|
151
|
-
|
|
157
|
+
// c8 ignore next
|
|
158
|
+
doDebug && debugLog("end applyFileOps");
|
|
152
159
|
// Transaction successful - clean up backup files
|
|
153
160
|
await this.#cleanupBackupFiles();
|
|
154
161
|
await this.#executeCleanupTasks();
|
|
@@ -160,7 +167,8 @@ export class FileTransactionManager {
|
|
|
160
167
|
// Rollback: restore all backup files to their original locations
|
|
161
168
|
try {
|
|
162
169
|
await this.#rollbackTransaction();
|
|
163
|
-
|
|
170
|
+
// c8 ignore next
|
|
171
|
+
doDebug && debugLog("Transaction rollback successful");
|
|
164
172
|
}
|
|
165
173
|
catch (rollbackErr) {
|
|
166
174
|
errorLog("Critical: Rollback failed:", rollbackErr.message);
|
|
@@ -178,14 +186,16 @@ export class FileTransactionManager {
|
|
|
178
186
|
* This restores files from their *_old backups to recover the previous state.
|
|
179
187
|
*/
|
|
180
188
|
async #rollbackTransaction() {
|
|
181
|
-
|
|
189
|
+
// c8 ignore next
|
|
190
|
+
doDebug && debugLog("Rolling back transaction, restoring", this.#backupFiles.size, "backup files");
|
|
182
191
|
const rollbackPromises = [];
|
|
183
192
|
for (const [dest, backupPath] of this.#backupFiles.entries()) {
|
|
184
193
|
rollbackPromises.push((async () => {
|
|
185
194
|
try {
|
|
186
195
|
// Check if backup exists before trying to restore
|
|
187
196
|
if (fs.existsSync(backupPath)) {
|
|
188
|
-
|
|
197
|
+
// c8 ignore next
|
|
198
|
+
doDebug && debugLog("Restoring backup:", backupPath, "to", dest);
|
|
189
199
|
await _copyFile(backupPath, dest);
|
|
190
200
|
// Delete backup immediately after restoration
|
|
191
201
|
await _deleteFile(backupPath);
|
|
@@ -197,14 +207,16 @@ export class FileTransactionManager {
|
|
|
197
207
|
})());
|
|
198
208
|
}
|
|
199
209
|
await Promise.all(rollbackPromises);
|
|
200
|
-
|
|
210
|
+
// c8 ignore next
|
|
211
|
+
doDebug && debugLog("Transaction rollback completed");
|
|
201
212
|
}
|
|
202
213
|
/**
|
|
203
214
|
* Clean up backup files after successful transaction.
|
|
204
215
|
* Removes all *_old backup files that were created during the transaction.
|
|
205
216
|
*/
|
|
206
217
|
async #cleanupBackupFiles() {
|
|
207
|
-
|
|
218
|
+
// c8 ignore next
|
|
219
|
+
doDebug && debugLog("Cleaning up", this.#backupFiles.size, "backup files");
|
|
208
220
|
const cleanupPromises = [];
|
|
209
221
|
for (const backupPath of this.#backupFiles.values()) {
|
|
210
222
|
cleanupPromises.push(_deleteFile(backupPath).catch((err) => {
|
|
@@ -231,7 +243,8 @@ export class FileTransactionManager {
|
|
|
231
243
|
}
|
|
232
244
|
}
|
|
233
245
|
async #executeCleanupTasks() {
|
|
234
|
-
|
|
246
|
+
// c8 ignore next
|
|
247
|
+
doDebug && debugLog("Executing cleanup tasks");
|
|
235
248
|
const tasks = this.#cleanupTasks.splice(0);
|
|
236
249
|
for (const task of tasks) {
|
|
237
250
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file_transaction_manager.js","sourceRoot":"","sources":["../../source/server/file_transaction_manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"file_transaction_manager.js","sourceRoot":"","sources":["../../source/server/file_transaction_manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import { make_debugLog } from "node-opcua-debug";
|
|
3
|
+
import { checkDebugFlag, make_debugLog } from "node-opcua-debug";
|
|
4
4
|
const debugLog = make_debugLog("ServerConfiguration");
|
|
5
|
+
const doDebug = checkDebugFlag("ServerConfiguration");
|
|
5
6
|
export function installCertificateFileWatcher(node, certificateFile) {
|
|
6
7
|
const fileToWatch = path.basename(certificateFile);
|
|
7
8
|
const fsWatcher = fs.watch(path.dirname(certificateFile), { persistent: false }, (_eventType, filename) => {
|
|
8
9
|
/** */
|
|
9
10
|
if (filename === fileToWatch) {
|
|
10
|
-
|
|
11
|
+
// c8 ignore next
|
|
12
|
+
doDebug && debugLog("filename changed = ", filename, fileToWatch);
|
|
11
13
|
node.emit("certificateChange");
|
|
12
14
|
}
|
|
13
15
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install_certificate_file_watcher.js","sourceRoot":"","sources":["../../source/server/install_certificate_file_watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"install_certificate_file_watcher.js","sourceRoot":"","sources":["../../source/server/install_certificate_file_watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjE,MAAM,QAAQ,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAAC;AACtD,MAAM,OAAO,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAC;AAKtD,MAAM,UAAU,6BAA6B,CACzC,IAAuC,EACvC,eAAuB;IAEvB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,CACtB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAC7B,EAAE,UAAU,EAAE,KAAK,EAAE,EACrB,CAAC,UAA+B,EAAE,QAAQ,EAAE,EAAE;QAC1C,MAAM;QACN,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC3B,iBAAiB;YACjB,OAAO,IAAI,QAAQ,CAAC,qBAAqB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnC,CAAC;IACL,CAAC,CACJ,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IACvC,YAAY,EAAE,oBAAoB,CAAC,GAAG,EAAE;QACpC,SAAS,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AddressSpace } from "node-opcua-address-space";
|
|
2
2
|
import { OPCUACertificateManager } from "node-opcua-certificate-manager";
|
|
3
|
-
import { type ICertificateKeyPairProvider } from "node-opcua-common";
|
|
4
|
-
import {
|
|
3
|
+
import { type ICertificateChainProvider, type ICertificateKeyPairProvider } from "node-opcua-common";
|
|
4
|
+
import type { OPCUAServer } from "node-opcua-server";
|
|
5
5
|
import { type ApplicationDescriptionOptions } from "node-opcua-types";
|
|
6
6
|
export interface OPCUAServerPartial extends ICertificateKeyPairProvider {
|
|
7
7
|
serverInfo?: ApplicationDescriptionOptions;
|
|
@@ -14,5 +14,37 @@ export interface OPCUAServerPartial extends ICertificateKeyPairProvider {
|
|
|
14
14
|
createDefaultCertificate(): Promise<void>;
|
|
15
15
|
setProvider(provider: ICertificateKeyPairProvider): void;
|
|
16
16
|
invalidateCachedCertificates(): void;
|
|
17
|
+
getCertificateChainProvider(): ICertificateChainProvider;
|
|
17
18
|
}
|
|
18
|
-
export
|
|
19
|
+
export interface InstallPushCertificateManagementOnServerOptions {
|
|
20
|
+
/**
|
|
21
|
+
* What happens to secure channels that are already open when
|
|
22
|
+
* `ApplyChanges` installs a new server certificate (and possibly a new
|
|
23
|
+
* private key).
|
|
24
|
+
*
|
|
25
|
+
* - `true` (default): every existing channel is shut down as soon as
|
|
26
|
+
* the ApplyChanges response has been sent. All connected clients
|
|
27
|
+
* reconnect immediately with the new certificate. This is the safe
|
|
28
|
+
* choice when the rotation is a response to a **compromised or
|
|
29
|
+
* revoked** key: nothing keeps running under the old one.
|
|
30
|
+
*
|
|
31
|
+
* - `false`: existing channels are left open and the rotation is
|
|
32
|
+
* **seamless** for them. Each server channel is bound to the
|
|
33
|
+
* certificate/key pair it was created with (OPC UA Part 6 §6.7.2
|
|
34
|
+
* defines the thumbprint check against "the Certificate it is using
|
|
35
|
+
* for the SecureChannel", and §6.7.4 requires the client to close the
|
|
36
|
+
* channel if a response is signed with a different certificate than
|
|
37
|
+
* the request was encrypted to — so the old pair is the only one a
|
|
38
|
+
* Renew on an old channel can conformantly use). Connected clients
|
|
39
|
+
* keep renewing their security token under the old pair, unmodified
|
|
40
|
+
* third-party clients included; new connections use the new pair.
|
|
41
|
+
* Choose this for a **planned** rotation. The old pair remains in use
|
|
42
|
+
* by those channels until they close naturally — which is exactly why
|
|
43
|
+
* `true` stays the default: when the rotation answers a **compromised
|
|
44
|
+
* or revoked** key, nothing must keep running under it.
|
|
45
|
+
*
|
|
46
|
+
* @defaultValue true
|
|
47
|
+
*/
|
|
48
|
+
closeChannelsOnApplyChanges?: boolean;
|
|
49
|
+
}
|
|
50
|
+
export declare function installPushCertificateManagementOnServer(server: OPCUAServer, options?: InstallPushCertificateManagementOnServerOptions): Promise<void>;
|
|
@@ -5,10 +5,10 @@ import path from "node:path";
|
|
|
5
5
|
import chalk from "chalk";
|
|
6
6
|
import { assert } from "node-opcua-assert";
|
|
7
7
|
import { OPCUACertificateManager } from "node-opcua-certificate-manager";
|
|
8
|
-
import { DiskCertificateKeyPairProvider } from "node-opcua-common";
|
|
9
|
-
import {
|
|
8
|
+
import { DiskCertificateKeyPairProvider, ResolvedCertificateKeyPairProvider, resolvePrivateKeyProviderIfNeeded } from "node-opcua-common";
|
|
9
|
+
import { readPrivateKey } from "node-opcua-crypto";
|
|
10
|
+
import { exploreCertificateInfo, split_der } from "node-opcua-crypto/web";
|
|
10
11
|
import { checkDebugFlag, make_debugLog, make_errorLog, make_warningLog } from "node-opcua-debug";
|
|
11
|
-
import { invalidateServerCertificateCache } from "node-opcua-server";
|
|
12
12
|
import { StatusCodes } from "node-opcua-status-code";
|
|
13
13
|
import { ServerState } from "node-opcua-types";
|
|
14
14
|
import { installPushCertificateManagement } from "./push_certificate_manager_helpers.js";
|
|
@@ -36,22 +36,103 @@ async function onCertificateAboutToChange(server) {
|
|
|
36
36
|
*/
|
|
37
37
|
async function onCertificateChange(server) {
|
|
38
38
|
doDebug && debugLog("on CertificateChanged");
|
|
39
|
-
|
|
39
|
+
await reresolveServerCertificateProvider(server);
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* the
|
|
42
|
+
* Resolve the private key immediately after a rotation, bypassing
|
|
43
|
+
* `OPCUACertificateManager.getPrivateKey()`'s cache.
|
|
44
|
+
*
|
|
45
|
+
* `getPrivateKey()` decrypts the on-disk key *once* and caches it for the
|
|
46
|
+
* manager instance's whole lifetime (pki's documented behavior — see
|
|
47
|
+
* `CertificateManager.getPrivateKey`). That's exactly right for a normal
|
|
48
|
+
* startup resolve (`resolvePrivateKeyProviderIfNeeded`, used by
|
|
49
|
+
* `initializeCM()`), but wrong here: `UpdateCertificate`/`ApplyChanges` just
|
|
50
|
+
* replaced the on-disk key file underneath this *same, long-lived*
|
|
51
|
+
* `certificateManager` instance, so a cached call would silently keep
|
|
52
|
+
* returning the pre-rotation key — certificate and key would then belong to
|
|
53
|
+
* different key pairs, and every subsequent handshake fails signature
|
|
54
|
+
* verification.
|
|
55
|
+
*
|
|
56
|
+
* `privateKeyProvider` mode has no such cache — pki consults the injected
|
|
57
|
+
* provider on every call — so this only special-cases `privateKeyPassphrase`
|
|
58
|
+
* (reading the file directly, with the manager's own configured passphrase,
|
|
59
|
+
* instead of going through the memoized `getPrivateKey()`).
|
|
60
|
+
*/
|
|
61
|
+
async function resolvePrivateKeyAfterRotation(certificateManager, privateKeyFile) {
|
|
62
|
+
const passphrase = await certificateManager.getPrivateKeyPassphrase();
|
|
63
|
+
if (passphrase !== undefined) {
|
|
64
|
+
return readPrivateKey(privateKeyFile, passphrase);
|
|
65
|
+
}
|
|
66
|
+
return certificateManager.getPrivateKey();
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Refresh the server's certificate/private-key provider after a rotation,
|
|
70
|
+
* and push the result to every endpoint.
|
|
71
|
+
*
|
|
72
|
+
* When the certificate manager is passphrase-/provider-managed, a
|
|
73
|
+
* synchronous "invalidate, let it lazily re-read the file" (the old
|
|
74
|
+
* behavior) cannot decrypt the key — so the key is instead resolved here,
|
|
75
|
+
* eagerly and asynchronously (see `resolvePrivateKeyAfterRotation`), and the
|
|
76
|
+
* resulting provider handed out explicitly to the server and every
|
|
77
|
+
* endpoint.
|
|
78
|
+
*
|
|
79
|
+
* For a plain (unmanaged) certificate manager, this falls back to exactly
|
|
80
|
+
* the previous behavior: invalidate the server's and every endpoint's
|
|
81
|
+
* cached certificate/key so the next access re-reads the (plaintext) files
|
|
82
|
+
* from disk.
|
|
83
|
+
*/
|
|
84
|
+
async function reresolveServerCertificateProvider(server) {
|
|
85
|
+
const certificateManager = server.serverCertificateManager;
|
|
86
|
+
const isManaged = certificateManager instanceof OPCUACertificateManager && certificateManager.isPrivateKeyManaged();
|
|
87
|
+
if (isManaged) {
|
|
88
|
+
const privateKey = await resolvePrivateKeyAfterRotation(certificateManager, server.privateKeyFile);
|
|
89
|
+
server.setProvider(new ResolvedCertificateKeyPairProvider(server.certificateFile, server.privateKeyFile, privateKey));
|
|
90
|
+
const provider = server.getCertificateChainProvider();
|
|
91
|
+
for (const endpoint of server.endpoints) {
|
|
92
|
+
endpoint.setCertificateProvider(provider);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
server.invalidateCachedCertificates();
|
|
97
|
+
for (const endpoint of server.endpoints) {
|
|
98
|
+
endpoint.invalidateCertificates();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Deferred step, called after the ApplyChanges method response has been
|
|
104
|
+
* sent (so the admin client gets its answer before its own channel is
|
|
105
|
+
* affected).
|
|
106
|
+
*
|
|
107
|
+
* With `closeChannelsOnApplyChanges` (the default) every existing secure
|
|
108
|
+
* channel is shut down immediately, forcing all connected clients to
|
|
109
|
+
* reconnect with the new certificate right away. Without it, existing
|
|
110
|
+
* channels are left alone and continue — including OpenSecureChannel
|
|
111
|
+
* *Renews* — under the certificate/key pair each channel is bound to,
|
|
112
|
+
* while new connections use the new pair. See
|
|
113
|
+
* {@link InstallPushCertificateManagementOnServerOptions.closeChannelsOnApplyChanges}
|
|
114
|
+
* for when each is appropriate.
|
|
115
|
+
*
|
|
116
|
+
* Either way the endpoints, suspended in `onCertificateAboutToChange`,
|
|
117
|
+
* are resumed here.
|
|
46
118
|
*/
|
|
47
|
-
async function onApplyChangesCompleted(server) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
119
|
+
async function onApplyChangesCompleted(server, closeChannels) {
|
|
120
|
+
if (closeChannels) {
|
|
121
|
+
doDebug && debugLog(chalk.yellow(" onApplyChangesCompleted => shutting down channels"));
|
|
122
|
+
await server.shutdownChannels();
|
|
123
|
+
doDebug && debugLog(chalk.yellow(" onApplyChangesCompleted => channels shut down"));
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
doDebug &&
|
|
127
|
+
debugLog(chalk.yellow(" onApplyChangesCompleted => leaving existing channels open (bound to their original pair)"));
|
|
128
|
+
}
|
|
51
129
|
doDebug && debugLog(chalk.yellow(" onApplyChangesCompleted => resuming end points"));
|
|
52
130
|
await server.resumeEndPoints();
|
|
53
131
|
doDebug && debugLog(chalk.yellow(" onApplyChangesCompleted => end points resumed"));
|
|
54
|
-
|
|
132
|
+
if (closeChannels) {
|
|
133
|
+
// c8 ignore next
|
|
134
|
+
doDebug && debugLog(chalk.yellow("channels have been closed -> client should reconnect "));
|
|
135
|
+
}
|
|
55
136
|
}
|
|
56
137
|
/**
|
|
57
138
|
* Redirect the server's certificate provider to the cert manager's
|
|
@@ -62,20 +143,26 @@ async function install() {
|
|
|
62
143
|
doDebug && debugLog("install push certificate management", this.serverCertificateManager.rootDir);
|
|
63
144
|
const certFile = path.join(this.serverCertificateManager.rootDir, CERT_PEM_RELATIVE_PATH);
|
|
64
145
|
const keyFile = this.serverCertificateManager.privateKey;
|
|
65
|
-
// Inject a new disk provider pointing at the cert manager's
|
|
66
|
-
//
|
|
67
|
-
//
|
|
146
|
+
// Inject a new disk provider pointing at the cert manager's paths. The
|
|
147
|
+
// server's certificateFile/privateKeyFile getters now automatically
|
|
148
|
+
// return the new paths. If the key turns out to be passphrase-encrypted,
|
|
149
|
+
// resolvePrivateKeyProviderIfNeeded() below immediately replaces this
|
|
150
|
+
// with a resolved, in-memory provider.
|
|
68
151
|
this.setProvider(new DiskCertificateKeyPairProvider(certFile, keyFile));
|
|
69
152
|
// Delegate to the base server's createDefaultCertificate() which
|
|
70
153
|
// handles DNS (fqdn + hostname + configured), IPs (auto + configured),
|
|
71
154
|
// proper subject via makeSubject(), mutex locking, and file checks.
|
|
72
155
|
await this.createDefaultCertificate();
|
|
73
|
-
//
|
|
74
|
-
//
|
|
75
|
-
|
|
156
|
+
// Resolve the (possibly passphrase-encrypted) private key once,
|
|
157
|
+
// asynchronously, and install the resolved provider — a synchronous
|
|
158
|
+
// disk re-read (the old invalidateCachedCertificates() behavior) cannot
|
|
159
|
+
// decrypt an encrypted key. For a plaintext key this just replaces the
|
|
160
|
+
// disk provider above with an equivalent resolved one.
|
|
161
|
+
await resolvePrivateKeyProviderIfNeeded(this, this.serverCertificateManager, false);
|
|
76
162
|
}
|
|
77
|
-
export async function installPushCertificateManagementOnServer(server) {
|
|
78
|
-
|
|
163
|
+
export async function installPushCertificateManagementOnServer(server, options) {
|
|
164
|
+
const closeChannelsOnApplyChanges = options?.closeChannelsOnApplyChanges ?? true;
|
|
165
|
+
if (!server.engine?.addressSpace) {
|
|
79
166
|
throw new Error("Server must have a valid address space. " +
|
|
80
167
|
"You need to call installPushCertificateManagementOnServer after server has been initialized");
|
|
81
168
|
}
|
|
@@ -91,10 +178,14 @@ export async function installPushCertificateManagementOnServer(server) {
|
|
|
91
178
|
" serverCertificateManager");
|
|
92
179
|
}
|
|
93
180
|
const cm = server.serverCertificateManager;
|
|
94
|
-
|
|
95
|
-
|
|
181
|
+
// Reuse the server's own provider (installed by install() above, and
|
|
182
|
+
// already resolved if the key is passphrase-encrypted) rather than
|
|
183
|
+
// constructing a fresh DiskCertificateKeyPairProvider from the file
|
|
184
|
+
// paths — a plain disk provider would re-read the file and fail
|
|
185
|
+
// synchronously on an encrypted key.
|
|
186
|
+
const provider = server.getCertificateChainProvider();
|
|
96
187
|
for (const endpoint of server.endpoints) {
|
|
97
|
-
endpoint.setCertificateProvider(
|
|
188
|
+
endpoint.setCertificateProvider(provider);
|
|
98
189
|
}
|
|
99
190
|
await installPushCertificateManagement(server.engine.addressSpace, {
|
|
100
191
|
applicationGroup: cm,
|
|
@@ -119,11 +210,11 @@ export async function installPushCertificateManagementOnServer(server) {
|
|
|
119
210
|
});
|
|
120
211
|
});
|
|
121
212
|
serverConfigurationPriv.$pushCertificateManager.on("applyChangesCompleted", () => {
|
|
122
|
-
// Fire-and-forget: schedule channel teardown + endpoint
|
|
213
|
+
// Fire-and-forget: schedule (optional) channel teardown + endpoint
|
|
123
214
|
// resumption AFTER the method response is sent.
|
|
124
215
|
setImmediate(async () => {
|
|
125
216
|
try {
|
|
126
|
-
await onApplyChangesCompleted(server);
|
|
217
|
+
await onApplyChangesCompleted(server, closeChannelsOnApplyChanges);
|
|
127
218
|
}
|
|
128
219
|
catch (err) {
|
|
129
220
|
errorLog("onApplyChangesCompleted error:", err.message);
|
|
@@ -259,7 +350,8 @@ function installCertificateRelaxationHook(server) {
|
|
|
259
350
|
if (!isRelaxableCertificateError(statusCode)) {
|
|
260
351
|
return statusCode;
|
|
261
352
|
}
|
|
262
|
-
doDebug &&
|
|
353
|
+
doDebug &&
|
|
354
|
+
warningLog(`[NoConfiguration] Relaxing certificate check:`, `${statusCode.toString()} → Good`, "(server is awaiting GDS provisioning)");
|
|
263
355
|
// Auto-trust the leaf certificate; issuer CAs go to issuers/
|
|
264
356
|
await autoTrustCertificateChain(server, certificate);
|
|
265
357
|
return StatusCodes.Good;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install_push_certificate_management.js","sourceRoot":"","sources":["../../source/server/install_push_certificate_management.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,
|
|
1
|
+
{"version":3,"file":"install_push_certificate_management.js","sourceRoot":"","sources":["../../source/server/install_push_certificate_management.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,7 +49,7 @@ function trustListIsAlreadyOpened(trustList) {
|
|
|
49
49
|
return false;
|
|
50
50
|
}
|
|
51
51
|
const dataValue = openCountNode.readValue();
|
|
52
|
-
if (!dataValue
|
|
52
|
+
if (!dataValue?.value) {
|
|
53
53
|
return false;
|
|
54
54
|
}
|
|
55
55
|
const openCount = dataValue.value.value;
|
|
@@ -147,9 +147,9 @@ async function _initializeLastUpdateTimeFromFilesystem(trustList) {
|
|
|
147
147
|
}
|
|
148
148
|
trustList.$$initaliseMTimePromise = (async () => {
|
|
149
149
|
const startTime = Date.now();
|
|
150
|
-
|
|
151
|
-
// Note: Removed abortHandler from registerShutdownTask because AddressSpace
|
|
152
|
-
// does not have an unregister mechanism, which causes `_shutdownTasks` to leak
|
|
150
|
+
const isAborted = false;
|
|
151
|
+
// Note: Removed abortHandler from registerShutdownTask because AddressSpace
|
|
152
|
+
// does not have an unregister mechanism, which causes `_shutdownTasks` to leak
|
|
153
153
|
// continuously if promoteTrustList is called multiple times.
|
|
154
154
|
// Sequential scanning is fast enough that it won't block shutdown significantly.
|
|
155
155
|
try {
|
|
@@ -394,7 +394,6 @@ function verificationStatusToStatusCode(status) {
|
|
|
394
394
|
return StatusCodes.BadCertificateUntrusted;
|
|
395
395
|
case VerificationStatus.BadSecurityChecksFailed:
|
|
396
396
|
return StatusCodes.BadSecurityChecksFailed;
|
|
397
|
-
case VerificationStatus.BadCertificateInvalid:
|
|
398
397
|
default:
|
|
399
398
|
return StatusCodes.BadCertificateInvalid;
|
|
400
399
|
}
|
|
@@ -561,7 +560,8 @@ export async function promoteTrustList(trustList) {
|
|
|
561
560
|
}
|
|
562
561
|
}
|
|
563
562
|
catch (err) {
|
|
564
|
-
|
|
563
|
+
// c8 ignore next
|
|
564
|
+
doDebug && debugLog("could not release trust list backing file", filename, err.message);
|
|
565
565
|
}
|
|
566
566
|
});
|
|
567
567
|
// Store filename for use in _closeAndUpdate
|