node-opcua-server-configuration 2.165.2 → 2.167.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.
Files changed (24) hide show
  1. package/dist/clientTools/push_certificate_management_client.d.ts +2 -2
  2. package/dist/clientTools/push_certificate_management_client.js +9 -2
  3. package/dist/clientTools/push_certificate_management_client.js.map +1 -1
  4. package/dist/server/install_push_certitifate_management.d.ts +2 -6
  5. package/dist/server/install_push_certitifate_management.js +52 -86
  6. package/dist/server/install_push_certitifate_management.js.map +1 -1
  7. package/dist/server/promote_trust_list.js +31 -2
  8. package/dist/server/promote_trust_list.js.map +1 -1
  9. package/dist/server/push_certificate_manager/create_signing_request.js +3 -3
  10. package/dist/server/push_certificate_manager/create_signing_request.js.map +1 -1
  11. package/dist/server/push_certificate_manager/update_certificate.js +12 -3
  12. package/dist/server/push_certificate_manager/update_certificate.js.map +1 -1
  13. package/dist/server/push_certificate_manager_helpers.js +3 -3
  14. package/dist/server/push_certificate_manager_helpers.js.map +1 -1
  15. package/dist/server/trust_list_server.js +9 -3
  16. package/dist/server/trust_list_server.js.map +1 -1
  17. package/package.json +23 -23
  18. package/source/clientTools/push_certificate_management_client.ts +16 -4
  19. package/source/server/install_push_certitifate_management.ts +62 -119
  20. package/source/server/promote_trust_list.ts +32 -2
  21. package/source/server/push_certificate_manager/create_signing_request.ts +3 -3
  22. package/source/server/push_certificate_manager/update_certificate.ts +16 -5
  23. package/source/server/push_certificate_manager_helpers.ts +3 -3
  24. package/source/server/trust_list_server.ts +9 -3
@@ -1 +1 @@
1
- {"version":3,"file":"push_certificate_manager_helpers.js","sourceRoot":"","sources":["../../source/server/push_certificate_manager_helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push_certificate_manager_helpers.js","sourceRoot":"","sources":["../../source/server/push_certificate_manager_helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAGH,qCAAqC,EAMxC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAkC,MAAM,+BAA+B,CAAC;AAEnG,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAoB,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAChH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAgB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,mCAAmC,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,EACH,gCAAgC,EAEnC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExE,MAAM,QAAQ,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAAC;AACtD,MAAM,UAAU,GAAG,eAAe,CAAC,qBAAqB,CAAC,CAAC;AAC1D,MAAM,QAAQ,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAAC;AAEtD,SAAS,QAAQ,CAAC,OAA4B,EAAE,QAAkB,EAAE,gBAAkC;IAClG,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,gBAAgB,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAgB;IAC/C,MAAM,mBAAmB,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAChH,MAAM,uBAAuB,GAAG,mBAA2D,CAAC;IAC5F,IAAI,uBAAuB,CAAC,uBAAuB,EAAE,CAAC;QAClD,OAAO,uBAAuB,CAAC,uBAAuB,CAAC;IAC3D,CAAC;IACD,gEAAgE;IAChE,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAEhC,cAAyB,EACzB,OAAwB;IAExB,MAAM,yBAAyB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,wBAAwB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,kBAAkB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,2BAA2B,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAEvC,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EAAE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QACjF,UAAU,CAAC,gDAAgD,CAAC,CAAC;QAC7D,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,kBAAkB,EAAE,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChF,UAAU,CAAC,+CAA+C,CAAC,CAAC;QAC5D,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,kBAAkB,EAAE,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1E,UAAU,CAAC,yCAAyC,CAAC,CAAC;QACtD,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,kBAAkB,EAAE,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,2BAA2B,EAAE,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QACpF,UAAU,CAAC,mDAAmD,CAAC,CAAC;QAChE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,kBAAkB,EAAE,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QACxE,UAAU,CAAC,8CAA8C,CAAC,CAAC;QAC3D,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,kBAAkB,EAAE,CAAC;IAC1D,CAAC;IAED,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,2BAA2B,EAAE,CAAC;IACnE,CAAC;IAED,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,mBAAmB,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,KAAe,CAAC;IACrE,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,KAAe,CAAC;IACnE,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAe,CAAC;IACvD,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,KAAgB,CAAC;IAC1E,MAAM,KAAK,GAAG,YAAY,CAAC,KAAe,CAAC;IAE3C,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC1B,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,iBAAiB,EAAE,CAAC;IACzD,CAAC;IACD,MAAM,MAAM,GAA+B,MAAM,sBAAsB,CAAC,oBAAoB,CACxF,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,KAAK,CACR,CAAC;IAEF,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;QAChC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,gBAAgB,GAAG;QACrB,eAAe,EAAE;YACb;gBACI,QAAQ,EAAE,QAAQ,CAAC,UAAU;gBAC7B,KAAK,EAAE,MAAM,CAAC,yBAAyB;aAC1C;SACJ;QACD,UAAU,EAAE,MAAM,CAAC,UAAU;KAChC,CAAC;IACF,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,kBAAkB,CAE7B,cAAyB,EACzB,OAAwB;IAExB,MAAM,kBAAkB,GAAW,cAAc,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC;IACrE,MAAM,iBAAiB,GAAW,cAAc,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC;IACpE,MAAM,WAAW,GAAW,cAAc,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC;IAC9D,MAAM,kBAAkB,GAAa,cAAc,CAAC,CAAC,CAAC,CAAC,KAAiB,CAAC;IACzE,MAAM,gBAAgB,GAAa,cAAc,CAAC,CAAC,CAAC,CAAC,KAAiB,CAAC;IACvE,MAAM,UAAU,GAAW,cAAc,CAAC,CAAC,CAAC,CAAC,KAAmB,CAAC;IAEjE,0FAA0F;IAC1F,sCAAsC;IACtC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,2BAA2B,EAAE,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,mBAAmB,EAAE,CAAC;IAC3D,CAAC;IAED,IAAI,gBAAgB,IAAI,gBAAgB,KAAK,EAAE,IAAI,gBAAgB,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1F,QAAQ,CAAC,oDAAoD,gBAAgB,EAAE,CAAC,CAAC;QACjF,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,kBAAkB,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC1B,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,iBAAiB,EAAE,CAAC;IACzD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,iBAAiB,CACzD,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,CACb,CAAC;IAEF,kDAAkD;IAElD,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;QAChC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7C,CAAC;IACD,MAAM,gBAAgB,GAAG;QACrB,eAAe,EAAE;YACb;gBACI,QAAQ,EAAE,QAAQ,CAAC,OAAO;gBAC1B,KAAK,EAAE,MAAM,CAAC,oBAAoB,IAAI,KAAK;aAC9C;SACJ;QACD,UAAU,EAAE,MAAM,CAAC,UAAU;KAChC,CAAC;IACF,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,gBAAgB,CAE3B,eAA0B,EAC1B,OAAwB;IAExB,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,2BAA2B,EAAE,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,mBAAmB,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC1B,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,iBAAiB,EAAE,CAAC;IACzD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,eAAe,EAAE,CAAC;IAE9D,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;QAChC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7C,CAAC;IAED,OAAO;QACH,eAAe,EAAE;YACb;gBACI,SAAS,EAAE,gBAAgB,CAAC,KAAK;gBACjC,QAAQ,EAAE,QAAQ,CAAC,UAAU;gBAC7B,KAAK,EAAE,MAAM,CAAC,YAAY;aAC7B;SACJ;QACD,UAAU,EAAE,WAAW,CAAC,IAAI;KAC/B,CAAC;AACN,CAAC;AAED,KAAK,UAAU,aAAa,CAExB,eAA0B,EAC1B,OAAwB;IAExB,yFAAyF;IACzF,uCAAuC;IACvC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,2BAA2B,EAAE,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,mBAAmB,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC1B,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,iBAAiB,EAAE,CAAC;IACzD,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACtE,OAAO,EAAE,UAAU,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,sBAAsB,CAAC,kBAAsC;IAClE,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC,CAAC,4BAA4B;AAC3G,CAAC;AACD,KAAK,UAAU,cAAc,CAAC,kBAAsC;IAChE,IAAI,CAAC;QACD,MAAM,eAAe,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;QACnE,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,MAAM,yBAAyB,CAAC,eAAe,CAAC,CAAC;YACrE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,UAAU,CAAC,sBAAsB,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,gBAAoC,EAAE,kBAAuC;IACvG,IAAI,kBAAkB,EAAE,CAAC;QACrB,MAAM,eAAe,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;QACnE,MAAM,cAAc,GAAG,6BAA6B,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;QACxF,cAAc,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;YACxC,QAAQ,CAAC,8BAA8B,EAAE,eAAe,CAAC,CAAC;YAC1D,sBAAsB,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,UAAU,sBAAsB;QACjC,IAAI,CAAC;YACD,QAAQ,CAAC,wBAAwB,EAAE,gBAAgB,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3E,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;YACrF,IAAI,kBAAkB,IAAI,kBAAkB,EAAE,CAAC;gBAC3C,MAAM,oBAAoB,GAAG,kBAA+D,CAAC;gBAC7F,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAAC,CAAC;gBAC7D,oBAAoB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,UAAU,CAAC,8BAA8B,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QACvE,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC;IACnD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtB,OAAO;IACX,CAAC;IACD,MAAM,SAAS,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACnE,IAAI,SAAS,EAAE,CAAC;QACX,SAAqE,CAAC,oBAAoB,GAAG,kBAAkB,CAAC;IACrH,CAAC;IACD,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;IACrF,IAAI,kBAAkB,EAAE,CAAC;QAEjB,kBACH,CAAC,oBAAoB,GAAG,kBAAkB,CAAC;QAC5C,yBAAyB;QACzB,MAAM,OAAO,GAAG,WAAW,CAAC,sBAAsB,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QAC/D,YAAY,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAChE,sBAAsB,EAAE,CAAC;IAC7B,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,YAA0B,EAAE,OAA4C;IACpG,MAAM,mBAAmB,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAC7E,qBAAqB,CACC,CAAC;IAE3B,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,kBAAkB,CACpF,yBAAyB,CACC,CAAC;IAC/B,IAAI,uBAAuB,EAAE,CAAC;QAC1B,oBAAoB,CAAC,uBAAuB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,kBAAkB,CAC9E,uBAAuB,CACG,CAAC;IAC/B,IAAI,iBAAiB,EAAE,CAAC;QACpB,oBAAoB,CAAC,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACpE,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,WAA4B;IACpD,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO;IACX,CAAC;IACD,MAAM,YAAY,GAAoB,WAAW,CAAC,MAAyB,CAAC;IAC5E,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,OAAO;IACX,CAAC;IACD,MAAM,UAAU,GAAG,WAAW,CAAC,gBAAgB,CAAC,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IACxF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,WAAW,CAAC,YAAY,CAAC;YACrB,aAAa,EAAE,aAAa;YAC5B,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,SAAS,EAAE,KAAK;SACnB,CAAC,CAAC;IACP,CAAC;IACD,YAAY,CAAC,gBAAgB,CAAC,YAAY,CAAC,aAAa,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IACjG,IAAI,YAAY,CAAC,MAAM,CAAC,SAAS,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;QACxF,OAAO;IACX,CAAC;IACD,kBAAkB,CAAC,YAAY,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,gBAAoC;IAC9E,MAAM,SAAS,GAAG,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAgB,CAAC;IAC9E,IAAI,SAAS,EAAE,CAAC;QACZ,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;QAElE,oBAAoB;QACpB,qCAAqC,CAAC,SAAS,EAAE,gCAAgC,EAAE;YAC/E,UAAU,EAAE,mBAAmB,CAAC,sBAAsB,CAAC;YACvD,WAAW,EAAE,gBAAgB;YAC7B,eAAe,EAAE,IAAI;YACrB,WAAW,EAAE,gBAAgB;YAC7B,SAAS,EAAE,MAAM,CAAC,UAAU;YAC5B,WAAW,EAAE,MAAM,CAAC,UAAU;YAC9B,SAAS,EAAE,CAAC,iBAAiB,CAAC;YAC9B,aAAa,EAAE,oBAAoB;YACnC,cAAc,EAAE,aAAa,CAAC,gCAAgC,CAAC;SAClE,CAAC,CAAC;IACP,CAAC;IACD,gBAAgB,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IACxE,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;AACzC,CAAC;AAID,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAClD,YAA0B,EAC1B,OAA4C;IAE5C,YAAY,CAAC,iCAAiC,EAAE,CAAC;IAEjD,MAAM,mBAAmB,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAC7E,qBAAqB,CACC,CAAC;IAE3B,MAAM,uBAAuB,GAAG,mBAAgD,CAAC;IACjF,IAAI,uBAAuB,CAAC,uBAAuB,EAAE,CAAC;QAClD,QAAQ,CAAC,sDAAsD,CAAC,CAAC;QACjE,OAAO;IACX,CAAC;IAED,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,eAAe,GAAG,sBAAsB,CAAC,kBAAkB,CAAC;IAEjH,SAAS,yBAAyB,CAAC,mBAA6B;QAC5D,mBAAmB,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,CAAC;QACjE,mBAAmB,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAEvE,MAAM,SAAS,GAAG,mBAAmB,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QACtE,SAAS,EAAE,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;QACvD,SAAS,EAAE,qBAAqB,CAAC,sBAAsB,CAAC,eAAe,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;QAErH,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;QACzF,oBAAoB,EAAE,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;QAClE,oBAAoB,EAAE,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;QAEnE,MAAM,eAAe,GAAG,mBAAmB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAC/E,eAAe,EAAE,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;QAC7D,eAAe,EAAE,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;QAE9D,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;QACnF,iBAAiB,EAAE,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;QAC/D,iBAAiB,EAAE,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;QAEhE,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;QACtF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,OAAO;QACX,CAAC;QACD,iBAAiB,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,CAAC;QAC/D,iBAAiB,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAErE,SAAS,+BAA+B,CAAC,KAAe;YACpD,MAAM,SAAS,GAAG,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACxD,IAAI,SAAS,EAAE,CAAC;gBACZ,mCAAmC,CAAC,SAAS,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,aAAa,EAAE,EAAE,CAAC;YACpD,KAAK,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;YAClD,KAAK,CAAC,qBAAqB,CAAC,sBAAsB,CAAC,eAAe,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;YAChH,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;gBACvC,+BAA+B,CAAC,KAAiB,CAAC,CAAC;YACvD,CAAC;QACL,CAAC;IACL,CAAC;IACD,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;IAE/C,uBAAuB,CAAC,uBAAuB,GAAG,IAAI,gCAAgC,CAAC,OAAO,CAAC,CAAC;IAEhG,mBAAmB,CAAC,0BAA0B,CAAC,kBAAkB,CAAC;QAC9D,SAAS,EAAE,gBAAgB,CAAC,KAAK;QACjC,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,KAAK,EAAE,CAAC,KAAK,CAAC;KACjB,CAAC,CAAC;IAEH,SAAS,6BAA6B,CAAC,YAA0B;QAC7D,MAAM,uBAAuB,GAAG,YAAY,CAAC,cAAc,CACvD,yBAAyB,CACe,CAAC;QAC7C,IAAI,CAAC,uBAAuB,IAAI,uBAAuB,CAAC,oBAAoB,CAAC,OAAO,EAAE,EAAE,CAAC;YACrF,OAAO;QACX,CAAC;QACD,uBAAuB,CAAC,oBAAoB,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QAC/E,uBAAuB,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACrE,uBAAuB,CAAC,iBAAiB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACzE,uBAAuB,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACnE,CAAC;IAED,6BAA6B,CAAC,YAAY,CAAC,CAAC;IAE5C,mBAAmB,CAAC,oBAAoB,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAC3E,mBAAmB,CAAC,iBAAiB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACrE,mBAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACjE,mBAAmB,CAAC,YAAY,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IAE5D,MAAM,EAAE,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;IAEjE,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,CAAC;IACpH,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC3B,OAAO;IACX,CAAC;IACD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,iBAAiB,CAAC,kBAAkB,CAAe,CAAC;IACrG,gBAAgB,CAAC,kBAAkB,CAAC;QAChC,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,SAAS,EAAE,gBAAgB,CAAC,KAAK;QACjC,KAAK,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC;KAC5E,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,YAAY,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;IACjF,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACxB,OAAO;IACX,CAAC;IAED,KAAK,MAAM,gBAAgB,IAAI,EAAE,EAAE,CAAC;QAChC,IAAI,gBAAgB,CAAC,SAAS,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YAClD,SAAS;QACb,CAAC;QACD,MAAM,CAAC,GAAG,gBAA4B,CAAC;QACvC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACzD,SAAS;QACb,CAAC;QACD,MAAM,uBAAuB,CAAC,gBAAsC,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,sBAAsB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC"}
@@ -1,10 +1,15 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { BinaryStream } from "node-opcua-binary-stream";
4
- import { readCertificate, readCertificateRevocationList } from "node-opcua-crypto";
4
+ import { readCertificateChainAsync, readCertificateRevocationList } from "node-opcua-crypto";
5
5
  import { make_errorLog } from "node-opcua-debug";
6
6
  import { TrustListDataType } from "node-opcua-types";
7
7
  const errorLog = make_errorLog("TrustListServer");
8
+ /**
9
+ * Read all certificate (chains) and CRLs in a folder
10
+ * @param folder
11
+ * @returns
12
+ */
8
13
  async function readAll(folder) {
9
14
  const results = [];
10
15
  const files = await fs.promises.readdir(folder);
@@ -12,8 +17,9 @@ async function readAll(folder) {
12
17
  const file = path.join(folder, f);
13
18
  const ext = path.extname(file);
14
19
  if (ext === ".der" || ext === ".pem") {
15
- const buf = await readCertificate(file);
16
- results.push(buf);
20
+ const chain = await readCertificateChainAsync(file);
21
+ const concatenated = Buffer.concat(chain);
22
+ results.push(concatenated);
17
23
  }
18
24
  else if (ext === ".crl") {
19
25
  // Strict validation: only accept valid CRL files
@@ -1 +1 @@
1
- {"version":3,"file":"trust_list_server.js","sourceRoot":"","sources":["../../source/server/trust_list_server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trust_list_server.js","sourceRoot":"","sources":["../../source/server/trust_list_server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-server-configuration",
3
- "version": "2.165.2",
3
+ "version": "2.167.0",
4
4
  "description": "pure nodejs OPCUA SDK - module server-configuration",
5
5
  "scripts": {
6
6
  "build": "tsc -b",
@@ -15,35 +15,35 @@
15
15
  "dependencies": {
16
16
  "chalk": "4.1.2",
17
17
  "memfs": "^4.57.1",
18
- "node-opcua-address-space": "2.165.2",
19
- "node-opcua-address-space-base": "2.165.0",
18
+ "node-opcua-address-space": "2.167.0",
19
+ "node-opcua-address-space-base": "2.167.0",
20
20
  "node-opcua-assert": "2.164.0",
21
- "node-opcua-basic-types": "2.165.0",
22
- "node-opcua-binary-stream": "2.165.0",
23
- "node-opcua-certificate-manager": "2.165.2",
24
- "node-opcua-common": "2.165.0",
21
+ "node-opcua-basic-types": "2.167.0",
22
+ "node-opcua-binary-stream": "2.167.0",
23
+ "node-opcua-certificate-manager": "2.167.0",
24
+ "node-opcua-common": "2.167.0",
25
25
  "node-opcua-constants": "2.157.0",
26
- "node-opcua-crypto": "5.3.0",
27
- "node-opcua-data-model": "2.165.0",
26
+ "node-opcua-crypto": "5.3.3",
27
+ "node-opcua-data-model": "2.167.0",
28
28
  "node-opcua-debug": "2.165.0",
29
- "node-opcua-file-transfer": "2.165.2",
30
- "node-opcua-hostname": "2.165.0",
31
- "node-opcua-nodeid": "2.165.0",
32
- "node-opcua-pki": "6.10.1",
33
- "node-opcua-pseudo-session": "2.165.2",
34
- "node-opcua-secure-channel": "2.165.2",
35
- "node-opcua-server": "2.165.2",
36
- "node-opcua-service-translate-browse-path": "2.165.0",
37
- "node-opcua-status-code": "2.165.0",
38
- "node-opcua-types": "2.165.0",
39
- "node-opcua-variant": "2.165.0"
29
+ "node-opcua-file-transfer": "2.167.0",
30
+ "node-opcua-hostname": "2.167.0",
31
+ "node-opcua-nodeid": "2.167.0",
32
+ "node-opcua-pki": "6.12.0",
33
+ "node-opcua-pseudo-session": "2.167.0",
34
+ "node-opcua-secure-channel": "2.167.0",
35
+ "node-opcua-server": "2.167.0",
36
+ "node-opcua-service-translate-browse-path": "2.167.0",
37
+ "node-opcua-status-code": "2.167.0",
38
+ "node-opcua-types": "2.167.0",
39
+ "node-opcua-variant": "2.167.0"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/mocha": "^10.0.10",
43
43
  "bcryptjs": "3.0.3",
44
44
  "mocha": "11.7.5",
45
- "node-opcua-client": "2.165.2",
46
- "node-opcua-data-value": "2.165.0",
45
+ "node-opcua-client": "2.167.0",
46
+ "node-opcua-data-value": "2.167.0",
47
47
  "node-opcua-leak-detector": "2.165.0",
48
48
  "node-opcua-nodesets": "2.163.1"
49
49
  },
@@ -62,7 +62,7 @@
62
62
  "internet of things"
63
63
  ],
64
64
  "homepage": "http://node-opcua.github.io/",
65
- "gitHead": "4002059a60bf085329c59f5f404f73415f4b640a",
65
+ "gitHead": "5decfa86ee53a36ecd3bb454e7bf6e3dd27c7a4e",
66
66
  "files": [
67
67
  "dist",
68
68
  "source"
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import type { ByteString } from "node-opcua-basic-types";
5
5
  import { BinaryStream } from "node-opcua-binary-stream";
6
- import type { Certificate } from "node-opcua-crypto/web";
6
+ import { combine_der, type Certificate } from "node-opcua-crypto/web";
7
7
  import { AttributeIds, coerceQualifiedName, type QualifiedNameLike } from "node-opcua-data-model";
8
8
  import { ClientFile, OpenFileMode } from "node-opcua-file-transfer";
9
9
  import { NodeId, resolveNodeId } from "node-opcua-nodeid";
@@ -141,11 +141,23 @@ export class TrustListClient extends ClientFile implements ITrustList {
141
141
  return callMethodResult.outputArguments?.[0].value as boolean;
142
142
  }
143
143
 
144
- async addCertificate(certificate: Certificate, isTrustedCertificate: boolean): Promise<StatusCode> {
144
+ async addCertificate(
145
+ certificateChain: Certificate | Certificate[],
146
+ isTrustedCertificate: boolean
147
+ ): Promise<StatusCode> {
145
148
  await this.ensureInitialized();
146
149
 
150
+ if (Array.isArray(certificateChain)) {
151
+ if (certificateChain.length === 0) {
152
+ return StatusCodes.BadInvalidArgument;
153
+ }
154
+ }
155
+
156
+ const compositeCertificate: Buffer =
157
+ Array.isArray(certificateChain) ? combine_der(certificateChain) : certificateChain;
158
+
147
159
  const inputArguments: VariantLike[] = [
148
- { dataType: DataType.ByteString, value: certificate },
160
+ { dataType: DataType.ByteString, value: compositeCertificate },
149
161
  { dataType: DataType.Boolean, value: !!isTrustedCertificate }
150
162
  ];
151
163
  const methodToCall: CallMethodRequestLike = {
@@ -211,7 +223,7 @@ export class CertificateGroup {
211
223
  constructor(
212
224
  public session: IBasicSessionAsync,
213
225
  public nodeId: NodeId
214
- ) {}
226
+ ) { }
215
227
  async getCertificateTypes(): Promise<NodeId[]> {
216
228
  const browsePathResult = await this.session.translateBrowsePath(makeBrowsePath(this.nodeId, "/CertificateTypes"));
217
229
  if (browsePathResult.statusCode.isNotGood()) {
@@ -9,9 +9,9 @@ import chalk from "chalk";
9
9
  import type { AddressSpace, UAServerConfiguration } from "node-opcua-address-space";
10
10
  import { assert } from "node-opcua-assert";
11
11
  import type { OPCUACertificateManager } from "node-opcua-certificate-manager";
12
- import type { ICertificateKeyPairProviderPriv } from "node-opcua-common";
12
+ import { type ICertificateKeyPairProvider, invalidateCachedSecrets } from "node-opcua-common";
13
13
  import { readPrivateKey } from "node-opcua-crypto";
14
- import { type Certificate, convertPEMtoDER, type PrivateKey, split_der } from "node-opcua-crypto/web";
14
+ import { type Certificate, combine_der, convertPEMtoDER, type PrivateKey, split_der } from "node-opcua-crypto/web";
15
15
  import { checkDebugFlag, make_debugLog, make_errorLog } from "node-opcua-debug";
16
16
  import { getFullyQualifiedDomainName, getIpAddresses } from "node-opcua-hostname";
17
17
  import type { OPCUAServer, OPCUAServerEndPoint } from "node-opcua-server";
@@ -20,117 +20,26 @@ import type { ApplicationDescriptionOptions } from "node-opcua-types";
20
20
  import { installPushCertificateManagement } from "./push_certificate_manager_helpers.js";
21
21
  import type { ActionQueue, PushCertificateManagerServerImpl } from "./push_certificate_manager_server_impl.js";
22
22
 
23
- // node 14 onward : import { readFile } from "fs/promises";
24
- const { readFile } = fs.promises;
25
-
26
23
  const debugLog = make_debugLog("ServerConfiguration");
27
24
  const errorLog = make_errorLog("ServerConfiguration");
28
25
  const doDebug = checkDebugFlag("ServerConfiguration");
29
26
 
30
- export interface OPCUAServerPartial extends ICertificateKeyPairProviderPriv {
27
+ export interface OPCUAServerPartial extends ICertificateKeyPairProvider {
31
28
  serverInfo?: ApplicationDescriptionOptions;
32
29
  serverCertificateManager: OPCUACertificateManager;
33
30
  privateKeyFile: string;
34
31
  certificateFile: string;
35
- $$certificate: null | Certificate;
36
- $$certificateChain: null | Certificate;
37
- $$privateKey: null | PrivateKey;
38
32
  engine: { addressSpace?: AddressSpace };
39
33
  }
40
34
 
41
- function getCertificate(this: OPCUAServerPartial): Certificate {
42
- if (!this.$$certificate) {
43
- const certificateChain = getCertificateChain.call(this);
44
- this.$$certificate = split_der(certificateChain)[0];
45
- }
46
- return this.$$certificate;
47
- }
48
-
49
- function getCertificateChain(this: OPCUAServerPartial): Certificate {
50
- if (!this.$$certificateChain) {
51
- throw new Error("internal Error. cannot find $$certificateChain");
52
- }
53
- return this.$$certificateChain;
54
- }
55
-
56
- function getPrivateKey(this: OPCUAServerPartial): PrivateKey {
57
- // c8 ignore next
58
- if (!this.$$privateKey) {
59
- throw new Error("internal Error. cannot find $$privateKey");
60
- }
61
- return this.$$privateKey;
62
- }
63
-
64
-
65
-
66
- /**
67
- *
68
- */
69
- async function install(this: OPCUAServerPartial): Promise<void> {
70
- doDebug && debugLog("install push certificate management", this.serverCertificateManager.rootDir);
71
-
72
- Object.defineProperty(this, "privateKeyFile", {
73
- get: () => this.serverCertificateManager.privateKey,
74
- configurable: true
75
- });
76
- Object.defineProperty(this, "certificateFile", {
77
- get: () => path.join(this.serverCertificateManager.rootDir, "own/certs/certificate.pem"),
78
- configurable: true
79
- });
80
-
81
- if (!this.$$privateKey) {
82
- this.$$privateKey = readPrivateKey(this.serverCertificateManager.privateKey);
83
- }
84
-
85
- if (!this.$$certificateChain) {
86
- const certificateFile = this.certificateFile;
87
-
88
- if (!fs.existsSync(certificateFile)) {
89
- // this is the first time server is launch
90
- // let's create a default self signed certificate with limited validity
91
-
92
- const fqdn = await getFullyQualifiedDomainName();
93
- const ipAddresses = await getIpAddresses();
94
-
95
- const applicationUri = (this.serverInfo ? this.serverInfo.applicationUri : null) || "uri:MISSING";
96
-
97
- const options = {
98
- applicationUri,
99
-
100
- dns: [fqdn],
101
- ip: ipAddresses,
102
-
103
- subject: `/CN=${applicationUri};/L=Paris`,
104
-
105
- startDate: new Date(),
106
-
107
- validity: 365 * 5, // five year
108
-
109
- /* */
110
- outputFile: certificateFile
111
- };
112
-
113
- doDebug && debugLog("creating self signed certificate", options);
114
- await this.serverCertificateManager.createSelfSignedCertificate(options);
115
- }
116
- const certificatePEM = await readFile(certificateFile, "utf8");
117
-
118
- this.$$certificateChain = convertPEMtoDER(certificatePEM);
119
-
120
- // await this.serverCertificateManager.trustCertificate( this.$$certificateChain);
121
- }
122
- }
123
-
124
- function getCertificateChainEP(this: OPCUAServerEndPoint): Certificate {
35
+ function getCertificateChainEP(this: OPCUAServerEndPoint): Certificate[] {
125
36
  const certificateFile = path.join(this.certificateManager.rootDir, "own/certs/certificate.pem");
126
37
  const certificatePEM = fs.readFileSync(certificateFile, "utf8");
127
- const $$certificateChain = convertPEMtoDER(certificatePEM);
128
- return $$certificateChain;
38
+ return split_der(convertPEMtoDER(certificatePEM));
129
39
  }
130
40
 
131
41
  function getPrivateKeyEP(this: OPCUAServerEndPoint): PrivateKey {
132
- const privateKey = readPrivateKey(this.certificateManager.privateKey);
133
- return privateKey;
42
+ return readPrivateKey(this.certificateManager.privateKey);
134
43
  }
135
44
 
136
45
  async function onCertificateAboutToChange(server: OPCUAServer) {
@@ -143,28 +52,18 @@ async function onCertificateAboutToChange(server: OPCUAServer) {
143
52
  * onCertificateChange is called when the serverConfiguration notifies
144
53
  * that the server certificate and/or private key has changed.
145
54
  *
146
- * this function suspends all endpoint listeners and stop all existing channels
147
- * then start all endpoint listener
55
+ * This function invalidates the cached secrets so that the next
56
+ * getCertificate() / getPrivateKey() call re-reads from disk,
57
+ * then shuts down all channels and resumes endpoints.
148
58
  *
149
59
  * @param server
150
60
  */
151
61
  async function onCertificateChange(server: OPCUAServer) {
152
62
  doDebug && debugLog("on CertificateChanged");
153
63
 
154
- const _server = server as unknown as OPCUAServerPartial;
155
-
156
- _server.$$privateKey = readPrivateKey(server.serverCertificateManager.privateKey);
157
- const certificateFile = path.join(server.serverCertificateManager.rootDir, "own/certs/certificate.pem");
158
- const certificatePEM = fs.readFileSync(certificateFile, "utf8");
159
-
160
- const privateKeyFile = server.serverCertificateManager.privateKey;
161
- const privateKey = readPrivateKey(privateKeyFile);
162
- // also reread the private key
163
-
164
- _server.$$certificateChain = convertPEMtoDER(certificatePEM);
165
- _server.$$privateKey = privateKey;
166
- // note : $$certificate will be reconstructed on demand
167
- _server.$$certificate = split_der(_server.$$certificateChain)[0];
64
+ // Invalidate the cached certificate chain and private key.
65
+ // The SecretHolder will re-read from disk on next access.
66
+ invalidateCachedSecrets(server);
168
67
 
169
68
  setTimeout(async () => {
170
69
  try {
@@ -184,12 +83,60 @@ async function onCertificateChange(server: OPCUAServer) {
184
83
  }, 2000);
185
84
  }
186
85
 
86
+ /**
87
+ * Install push certificate management on the server.
88
+ *
89
+ * This redirects `getCertificate`, `getCertificateChain` and
90
+ * `getPrivateKey` to read from the serverCertificateManager's
91
+ * PEM files, and wires up the push certificate management
92
+ * address-space nodes.
93
+ */
94
+ async function install(this: OPCUAServerPartial): Promise<void> {
95
+ doDebug && debugLog("install push certificate management", this.serverCertificateManager.rootDir);
96
+
97
+ Object.defineProperty(this, "privateKeyFile", {
98
+ get: () => this.serverCertificateManager.privateKey,
99
+ configurable: true
100
+ });
101
+ Object.defineProperty(this, "certificateFile", {
102
+ get: () => path.join(this.serverCertificateManager.rootDir, "own/certs/certificate.pem"),
103
+ configurable: true
104
+ });
105
+
106
+ const certificateFile = this.certificateFile;
107
+ if (!fs.existsSync(certificateFile)) {
108
+ // this is the first time server is launched
109
+ // let's create a default self signed certificate with limited validity
110
+ const fqdn = getFullyQualifiedDomainName();
111
+ const ipAddresses = getIpAddresses();
112
+
113
+ const applicationUri = (this.serverInfo ? this.serverInfo.applicationUri : null) || "uri:MISSING";
114
+
115
+ const options = {
116
+ applicationUri,
117
+ dns: [fqdn],
118
+ ip: ipAddresses,
119
+ subject: `/CN=${applicationUri};/L=Paris`,
120
+ startDate: new Date(),
121
+ validity: 365 * 5, // five years
122
+ outputFile: certificateFile
123
+ };
124
+
125
+ doDebug && debugLog("creating self signed certificate", options);
126
+ await this.serverCertificateManager.createSelfSignedCertificate(options);
127
+ }
128
+
129
+ // Invalidate any previously cached secrets so that
130
+ // getCertificateChain() / getPrivateKey() will re-read from disk.
131
+ invalidateCachedSecrets(this);
132
+ }
133
+
187
134
  interface UAServerConfigurationEx extends UAServerConfiguration {
188
135
  $pushCertificateManager: PushCertificateManagerServerImpl;
189
136
  }
190
137
 
191
138
  type OPCUAServerEndPointEx = typeof OPCUAServerEndPoint & {
192
- _certificateChain: Buffer | null;
139
+ _certificateChain: Certificate[] | null;
193
140
  _privateKey: PrivateKey | null;
194
141
  };
195
142
 
@@ -202,10 +149,6 @@ export async function installPushCertificateManagementOnServer(server: OPCUAServ
202
149
  }
203
150
  await install.call(server as unknown as OPCUAServerPartial);
204
151
 
205
- server.getCertificate = getCertificate;
206
- server.getCertificateChain = getCertificateChain;
207
- server.getPrivateKey = getPrivateKey;
208
-
209
152
  for (const endpoint of server.endpoints) {
210
153
  const endpointPriv: OPCUAServerEndPointEx = endpoint as unknown as OPCUAServerEndPointEx;
211
154
  endpointPriv._certificateChain = null;
@@ -216,7 +159,7 @@ export async function installPushCertificateManagementOnServer(server: OPCUAServ
216
159
 
217
160
  for (const e of endpoint.endpointDescriptions()) {
218
161
  Object.defineProperty(e, "serverCertificate", {
219
- get: () => endpoint.getCertificate(),
162
+ get: () => combine_der(endpoint.getCertificateChain()),
220
163
  configurable: true
221
164
  });
222
165
  }
@@ -289,6 +289,36 @@ async function _closeAndUpdate(
289
289
  };
290
290
  }
291
291
 
292
+ /**
293
+ * Map a `VerificationStatus` returned by the PKI layer to the
294
+ * corresponding OPC UA `StatusCode`.
295
+ */
296
+ function verificationStatusToStatusCode(status: VerificationStatus): StatusCode {
297
+ switch (status) {
298
+ case VerificationStatus.BadCertificateChainIncomplete:
299
+ return StatusCodes.BadCertificateChainIncomplete;
300
+ case VerificationStatus.BadCertificateRevoked:
301
+ return StatusCodes.BadCertificateRevoked;
302
+ case VerificationStatus.BadCertificateIssuerRevoked:
303
+ return StatusCodes.BadCertificateIssuerRevoked;
304
+ case VerificationStatus.BadCertificateRevocationUnknown:
305
+ return StatusCodes.BadCertificateRevocationUnknown;
306
+ case VerificationStatus.BadCertificateIssuerRevocationUnknown:
307
+ return StatusCodes.BadCertificateIssuerRevocationUnknown;
308
+ case VerificationStatus.BadCertificateTimeInvalid:
309
+ return StatusCodes.BadCertificateTimeInvalid;
310
+ case VerificationStatus.BadCertificateIssuerTimeInvalid:
311
+ return StatusCodes.BadCertificateIssuerTimeInvalid;
312
+ case VerificationStatus.BadCertificateUntrusted:
313
+ return StatusCodes.BadCertificateUntrusted;
314
+ case VerificationStatus.BadSecurityChecksFailed:
315
+ return StatusCodes.BadSecurityChecksFailed;
316
+ case VerificationStatus.BadCertificateInvalid:
317
+ default:
318
+ return StatusCodes.BadCertificateInvalid;
319
+ }
320
+ }
321
+
292
322
  // in TrustList
293
323
  async function _addCertificate(
294
324
  this: UAMethod,
@@ -331,7 +361,7 @@ async function _addCertificate(
331
361
 
332
362
  if (status !== VerificationStatus.Good) {
333
363
  warningLog("Certificate validation failed:", status);
334
- return { statusCode: StatusCodes.BadCertificateInvalid };
364
+ return { statusCode: verificationStatusToStatusCode(status) };
335
365
  }
336
366
 
337
367
  updateLastUpdateTime(trustList);
@@ -477,7 +507,7 @@ export async function promoteTrustList(trustList: UATrustList) {
477
507
  callback(err, { statusCode: StatusCodes.BadInternalError });
478
508
  });
479
509
  } else {
480
- warningLog("certificateManager is not defined on trustlist do something to update the document before we open it");
510
+ warningLog("certificateManager is not defined on trustlist do something to update the trust list document before we open it");
481
511
  return _open_asyncExecutionFunction.call(this, inputArgs, context, callback);
482
512
  }
483
513
  }
@@ -2,7 +2,7 @@ import crypto from "node:crypto";
2
2
  import fs from "node:fs";
3
3
  import path from "node:path";
4
4
  import { CertificateManager } from "node-opcua-certificate-manager";
5
- import { convertPEMtoDER, type DirectoryName, exploreCertificate, readCertificate } from "node-opcua-crypto";
5
+ import { convertPEMtoDER, exploreCertificate, readCertificateChain, type DirectoryName } from "node-opcua-crypto";
6
6
  import { checkDebugFlag, make_debugLog, make_errorLog, make_warningLog } from "node-opcua-debug";
7
7
  import { NodeId, resolveNodeId, sameNodeId } from "node-opcua-nodeid";
8
8
  import type { SubjectOptions } from "node-opcua-pki";
@@ -70,8 +70,8 @@ export async function executeCreateSigningRequest(
70
70
  if (!subjectName) {
71
71
  const currentCertificateFilename = path.join(certificateManager.rootDir, "own/certs/certificate.pem");
72
72
  try {
73
- const certificate = readCertificate(currentCertificateFilename);
74
- const e = exploreCertificate(certificate);
73
+ const certificate = readCertificateChain(currentCertificateFilename);
74
+ const e = exploreCertificate(certificate[0]);
75
75
  subjectName = subjectToString(e.tbsCertificate.subject as SubjectOptions & DirectoryName);
76
76
  warningLog("reusing existing certificate subjectName = ", subjectName);
77
77
  } catch (err) {
@@ -3,7 +3,7 @@ import path from "node:path";
3
3
  import { assert } from "node-opcua-assert";
4
4
  import type { ByteString } from "node-opcua-basic-types";
5
5
  import type { CertificateManager, OPCUACertificateManager } from "node-opcua-certificate-manager";
6
- import { readPrivateKey } from "node-opcua-crypto";
6
+ import { readPrivateKey, exploreCertificate } from "node-opcua-crypto";
7
7
  import {
8
8
  certificateMatchesPrivateKey,
9
9
  coercePEMorDerToPrivateKey,
@@ -19,7 +19,7 @@ import { StatusCodes } from "node-opcua-status-code";
19
19
  import type { UpdateCertificateResult } from "../../push_certificate_manager.js";
20
20
  import { validateCertificateAndChain } from "../certificate_validation.js";
21
21
  import type { PushCertificateManagerInternalContext } from "./internal_context.js";
22
- import { resolveCertificateGroupContext, validateCertificateType } from "./util.js";
22
+ import { resolveCertificateGroupContext, validateCertificateType, findCertificateGroupName } from "./util.js";
23
23
 
24
24
  const warningLog = make_warningLog("ServerConfiguration");
25
25
  const debugLog = make_debugLog("ServerConfiguration");
@@ -107,9 +107,20 @@ export async function executeUpdateCertificate(
107
107
  const { certificateManager, allowedTypes } = context;
108
108
 
109
109
  if (!validateCertificateType(certificate, certificateTypeId, allowedTypes ?? [], warningLog)) {
110
- warningLog(
111
- `Certificate type ${certificateTypeId} does not match expected certificateTypeId \n allowed types: ${allowedTypes?.map((t) => t.toString()).join(", ")} \n certificate: ${certificate.toString("base64")}`
112
- );
110
+ try {
111
+ const info = exploreCertificate(certificate);
112
+ const groupName = findCertificateGroupName(certificateGroupId);
113
+ const certInfoStr = `subject: ${info.tbsCertificate.subject.commonName}, issuer: ${info.tbsCertificate.issuer.commonName}, validFrom: ${info.tbsCertificate.validity.notBefore.toISOString()}, validTo: ${info.tbsCertificate.validity.notAfter.toISOString()}`;
114
+
115
+ warningLog(
116
+ `Certificate type ${certificateTypeId} does not match expected certificateTypeId for group '${groupName}' (${certificateGroupId.toString()})\n allowed types: ${allowedTypes?.map((t) => t.toString()).join(", ")} \n provided certificate: ${certInfoStr}`
117
+ );
118
+ } catch (err) {
119
+ // Fallback if certificate parsing fails
120
+ warningLog(
121
+ `Certificate type ${certificateTypeId} does not match expected certificateTypeId for group '${certificateGroupId.toString()}'\n allowed types: ${allowedTypes?.map((t) => t.toString()).join(", ")} \n certificate could not be explored. ${(err as Error).message}`
122
+ );
123
+ }
113
124
  return { statusCode: StatusCodes.BadCertificateInvalid, applyChangesRequired: false };
114
125
  }
115
126
 
@@ -17,7 +17,7 @@ import {
17
17
  import { EventNotifierFlags, type UAObject, type UAVariable } from "node-opcua-address-space-base";
18
18
  import type { ByteString, UAString } from "node-opcua-basic-types";
19
19
  import { ObjectIds, ObjectTypeIds } from "node-opcua-constants";
20
- import { type Certificate, readCertificate } from "node-opcua-crypto";
20
+ import { readCertificateChainAsync, type Certificate } from "node-opcua-crypto";
21
21
  import { AccessRestrictionsFlag, BrowseDirection, coerceQualifiedName, NodeClass } from "node-opcua-data-model";
22
22
  import { make_debugLog, make_errorLog, make_warningLog } from "node-opcua-debug";
23
23
  import { NodeId, resolveNodeId } from "node-opcua-nodeid";
@@ -258,8 +258,8 @@ async function getCertificate(certificateManager: CertificateManager): Promise<C
258
258
  try {
259
259
  const certificateFile = getCertificateFilename(certificateManager);
260
260
  if (fs.existsSync(certificateFile)) {
261
- const certificate = await readCertificate(certificateFile);
262
- return certificate;
261
+ const certificate = await readCertificateChainAsync(certificateFile);
262
+ return certificate[0];
263
263
  }
264
264
  return null;
265
265
  } catch (err) {