@naylence/advanced-security 0.3.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 (304) hide show
  1. package/LICENSE +33 -0
  2. package/NOTICE +5 -0
  3. package/README.md +101 -0
  4. package/dist/browser/index.js +157043 -0
  5. package/dist/browser/index.js.map +1 -0
  6. package/dist/cjs/browser.js +6 -0
  7. package/dist/cjs/browser.js.map +1 -0
  8. package/dist/cjs/index.js +7 -0
  9. package/dist/cjs/index.js.map +1 -0
  10. package/dist/cjs/naylence/fame/factory-manifest.js +24 -0
  11. package/dist/cjs/naylence/fame/factory-manifest.js.map +1 -0
  12. package/dist/cjs/naylence/fame/security/cert/ca-service-client.js +284 -0
  13. package/dist/cjs/naylence/fame/security/cert/ca-service-client.js.map +1 -0
  14. package/dist/cjs/naylence/fame/security/cert/ca-service-factory.js +65 -0
  15. package/dist/cjs/naylence/fame/security/cert/ca-service-factory.js.map +1 -0
  16. package/dist/cjs/naylence/fame/security/cert/ca-types.js +36 -0
  17. package/dist/cjs/naylence/fame/security/cert/ca-types.js.map +1 -0
  18. package/dist/cjs/naylence/fame/security/cert/default-ca-service-factory.js +70 -0
  19. package/dist/cjs/naylence/fame/security/cert/default-ca-service-factory.js.map +1 -0
  20. package/dist/cjs/naylence/fame/security/cert/default-ca-service.js +270 -0
  21. package/dist/cjs/naylence/fame/security/cert/default-ca-service.js.map +1 -0
  22. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager-factory.js +77 -0
  23. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager-factory.js.map +1 -0
  24. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager.js +675 -0
  25. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager.js.map +1 -0
  26. package/dist/cjs/naylence/fame/security/cert/grants.js +5 -0
  27. package/dist/cjs/naylence/fame/security/cert/grants.js.map +1 -0
  28. package/dist/cjs/naylence/fame/security/cert/index.js +52 -0
  29. package/dist/cjs/naylence/fame/security/cert/index.js.map +1 -0
  30. package/dist/cjs/naylence/fame/security/cert/internal-ca-service.js +793 -0
  31. package/dist/cjs/naylence/fame/security/cert/internal-ca-service.js.map +1 -0
  32. package/dist/cjs/naylence/fame/security/cert/util.js +120 -0
  33. package/dist/cjs/naylence/fame/security/cert/util.js.map +1 -0
  34. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js +89 -0
  35. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js.map +1 -0
  36. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager.js +732 -0
  37. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager.js.map +1 -0
  38. package/dist/cjs/naylence/fame/security/encryption/channel/index.js +8 -0
  39. package/dist/cjs/naylence/fame/security/encryption/channel/index.js.map +1 -0
  40. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager-factory.js +117 -0
  41. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager-factory.js.map +1 -0
  42. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager.js +325 -0
  43. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager.js.map +1 -0
  44. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager-factory.js +57 -0
  45. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager-factory.js.map +1 -0
  46. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager.js +282 -0
  47. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager.js.map +1 -0
  48. package/dist/cjs/naylence/fame/security/encryption/encryption-manager-registry.js +173 -0
  49. package/dist/cjs/naylence/fame/security/encryption/encryption-manager-registry.js.map +1 -0
  50. package/dist/cjs/naylence/fame/security/encryption/index.js +16 -0
  51. package/dist/cjs/naylence/fame/security/encryption/index.js.map +1 -0
  52. package/dist/cjs/naylence/fame/security/encryption/sealed/index.js +8 -0
  53. package/dist/cjs/naylence/fame/security/encryption/sealed/index.js.map +1 -0
  54. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js +86 -0
  55. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js.map +1 -0
  56. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js +546 -0
  57. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js.map +1 -0
  58. package/dist/cjs/naylence/fame/security/index.js +11 -0
  59. package/dist/cjs/naylence/fame/security/index.js.map +1 -0
  60. package/dist/cjs/naylence/fame/security/keys/index.js +9 -0
  61. package/dist/cjs/naylence/fame/security/keys/index.js.map +1 -0
  62. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager-factory.js +40 -0
  63. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager-factory.js.map +1 -0
  64. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager.js +441 -0
  65. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager.js.map +1 -0
  66. package/dist/cjs/naylence/fame/security/register-advanced-security-factories.js +131 -0
  67. package/dist/cjs/naylence/fame/security/register-advanced-security-factories.js.map +1 -0
  68. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-signer-factory.js +71 -0
  69. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-signer-factory.js.map +1 -0
  70. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js +31 -0
  71. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js.map +1 -0
  72. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier.js +176 -0
  73. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier.js.map +1 -0
  74. package/dist/cjs/naylence/fame/stickiness/aft-helper.js +77 -0
  75. package/dist/cjs/naylence/fame/stickiness/aft-helper.js.map +1 -0
  76. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js +69 -0
  77. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js.map +1 -0
  78. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js +451 -0
  79. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js.map +1 -0
  80. package/dist/cjs/naylence/fame/stickiness/aft-model.js +62 -0
  81. package/dist/cjs/naylence/fame/stickiness/aft-model.js.map +1 -0
  82. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js +54 -0
  83. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js.map +1 -0
  84. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager.js +208 -0
  85. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager.js.map +1 -0
  86. package/dist/cjs/naylence/fame/stickiness/aft-signer.js +154 -0
  87. package/dist/cjs/naylence/fame/stickiness/aft-signer.js.map +1 -0
  88. package/dist/cjs/naylence/fame/stickiness/aft-utils.js +95 -0
  89. package/dist/cjs/naylence/fame/stickiness/aft-utils.js.map +1 -0
  90. package/dist/cjs/naylence/fame/stickiness/aft-verifier.js +297 -0
  91. package/dist/cjs/naylence/fame/stickiness/aft-verifier.js.map +1 -0
  92. package/dist/cjs/naylence/fame/stickiness/index.js +40 -0
  93. package/dist/cjs/naylence/fame/stickiness/index.js.map +1 -0
  94. package/dist/cjs/naylence/fame/stickiness/stickiness-mode.js +28 -0
  95. package/dist/cjs/naylence/fame/stickiness/stickiness-mode.js.map +1 -0
  96. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service-factory.js +97 -0
  97. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service-factory.js.map +1 -0
  98. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service.js +216 -0
  99. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service.js.map +1 -0
  100. package/dist/cjs/naylence/fame/welcome/index.js +9 -0
  101. package/dist/cjs/naylence/fame/welcome/index.js.map +1 -0
  102. package/dist/cjs/plugin.js +41 -0
  103. package/dist/cjs/plugin.js.map +1 -0
  104. package/dist/esm/browser.js +3 -0
  105. package/dist/esm/browser.js.map +1 -0
  106. package/dist/esm/index.js +4 -0
  107. package/dist/esm/index.js.map +1 -0
  108. package/dist/esm/naylence/fame/factory-manifest.js +21 -0
  109. package/dist/esm/naylence/fame/factory-manifest.js.map +1 -0
  110. package/dist/esm/naylence/fame/security/cert/ca-server.js +153 -0
  111. package/dist/esm/naylence/fame/security/cert/ca-server.js.map +1 -0
  112. package/dist/esm/naylence/fame/security/cert/ca-service-client.js +278 -0
  113. package/dist/esm/naylence/fame/security/cert/ca-service-client.js.map +1 -0
  114. package/dist/esm/naylence/fame/security/cert/ca-service-factory.js +61 -0
  115. package/dist/esm/naylence/fame/security/cert/ca-service-factory.js.map +1 -0
  116. package/dist/esm/naylence/fame/security/cert/ca-types.js +31 -0
  117. package/dist/esm/naylence/fame/security/cert/ca-types.js.map +1 -0
  118. package/dist/esm/naylence/fame/security/cert/default-ca-service-factory.js +66 -0
  119. package/dist/esm/naylence/fame/security/cert/default-ca-service-factory.js.map +1 -0
  120. package/dist/esm/naylence/fame/security/cert/default-ca-service.js +233 -0
  121. package/dist/esm/naylence/fame/security/cert/default-ca-service.js.map +1 -0
  122. package/dist/esm/naylence/fame/security/cert/default-certificate-manager-factory.js +73 -0
  123. package/dist/esm/naylence/fame/security/cert/default-certificate-manager-factory.js.map +1 -0
  124. package/dist/esm/naylence/fame/security/cert/default-certificate-manager.js +638 -0
  125. package/dist/esm/naylence/fame/security/cert/default-certificate-manager.js.map +1 -0
  126. package/dist/esm/naylence/fame/security/cert/grants.js +2 -0
  127. package/dist/esm/naylence/fame/security/cert/grants.js.map +1 -0
  128. package/dist/esm/naylence/fame/security/cert/index.js +12 -0
  129. package/dist/esm/naylence/fame/security/cert/index.js.map +1 -0
  130. package/dist/esm/naylence/fame/security/cert/internal-ca-service.js +750 -0
  131. package/dist/esm/naylence/fame/security/cert/internal-ca-service.js.map +1 -0
  132. package/dist/esm/naylence/fame/security/cert/util.js +116 -0
  133. package/dist/esm/naylence/fame/security/cert/util.js.map +1 -0
  134. package/dist/esm/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js +85 -0
  135. package/dist/esm/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js.map +1 -0
  136. package/dist/esm/naylence/fame/security/encryption/channel/channel-encryption-manager.js +728 -0
  137. package/dist/esm/naylence/fame/security/encryption/channel/channel-encryption-manager.js.map +1 -0
  138. package/dist/esm/naylence/fame/security/encryption/channel/index.js +3 -0
  139. package/dist/esm/naylence/fame/security/encryption/channel/index.js.map +1 -0
  140. package/dist/esm/naylence/fame/security/encryption/composite-encryption-manager-factory.js +113 -0
  141. package/dist/esm/naylence/fame/security/encryption/composite-encryption-manager-factory.js.map +1 -0
  142. package/dist/esm/naylence/fame/security/encryption/composite-encryption-manager.js +321 -0
  143. package/dist/esm/naylence/fame/security/encryption/composite-encryption-manager.js.map +1 -0
  144. package/dist/esm/naylence/fame/security/encryption/default-secure-channel-manager-factory.js +53 -0
  145. package/dist/esm/naylence/fame/security/encryption/default-secure-channel-manager-factory.js.map +1 -0
  146. package/dist/esm/naylence/fame/security/encryption/default-secure-channel-manager.js +278 -0
  147. package/dist/esm/naylence/fame/security/encryption/default-secure-channel-manager.js.map +1 -0
  148. package/dist/esm/naylence/fame/security/encryption/encryption-manager-registry.js +167 -0
  149. package/dist/esm/naylence/fame/security/encryption/encryption-manager-registry.js.map +1 -0
  150. package/dist/esm/naylence/fame/security/encryption/index.js +7 -0
  151. package/dist/esm/naylence/fame/security/encryption/index.js.map +1 -0
  152. package/dist/esm/naylence/fame/security/encryption/sealed/index.js +3 -0
  153. package/dist/esm/naylence/fame/security/encryption/sealed/index.js.map +1 -0
  154. package/dist/esm/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js +82 -0
  155. package/dist/esm/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js.map +1 -0
  156. package/dist/esm/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js +542 -0
  157. package/dist/esm/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js.map +1 -0
  158. package/dist/esm/naylence/fame/security/index.js +6 -0
  159. package/dist/esm/naylence/fame/security/index.js.map +1 -0
  160. package/dist/esm/naylence/fame/security/keys/index.js +3 -0
  161. package/dist/esm/naylence/fame/security/keys/index.js.map +1 -0
  162. package/dist/esm/naylence/fame/security/keys/x5c-key-manager-factory.js +36 -0
  163. package/dist/esm/naylence/fame/security/keys/x5c-key-manager-factory.js.map +1 -0
  164. package/dist/esm/naylence/fame/security/keys/x5c-key-manager.js +405 -0
  165. package/dist/esm/naylence/fame/security/keys/x5c-key-manager.js.map +1 -0
  166. package/dist/esm/naylence/fame/security/register-advanced-security-factories.js +95 -0
  167. package/dist/esm/naylence/fame/security/register-advanced-security-factories.js.map +1 -0
  168. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-signer-factory.js +34 -0
  169. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-signer-factory.js.map +1 -0
  170. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js +27 -0
  171. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js.map +1 -0
  172. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier.js +172 -0
  173. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier.js.map +1 -0
  174. package/dist/esm/naylence/fame/stickiness/aft-helper.js +72 -0
  175. package/dist/esm/naylence/fame/stickiness/aft-helper.js.map +1 -0
  176. package/dist/esm/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js +65 -0
  177. package/dist/esm/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js.map +1 -0
  178. package/dist/esm/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js +447 -0
  179. package/dist/esm/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js.map +1 -0
  180. package/dist/esm/naylence/fame/stickiness/aft-model.js +54 -0
  181. package/dist/esm/naylence/fame/stickiness/aft-model.js.map +1 -0
  182. package/dist/esm/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js +50 -0
  183. package/dist/esm/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js.map +1 -0
  184. package/dist/esm/naylence/fame/stickiness/aft-replica-stickiness-manager.js +203 -0
  185. package/dist/esm/naylence/fame/stickiness/aft-replica-stickiness-manager.js.map +1 -0
  186. package/dist/esm/naylence/fame/stickiness/aft-signer.js +147 -0
  187. package/dist/esm/naylence/fame/stickiness/aft-signer.js.map +1 -0
  188. package/dist/esm/naylence/fame/stickiness/aft-utils.js +90 -0
  189. package/dist/esm/naylence/fame/stickiness/aft-utils.js.map +1 -0
  190. package/dist/esm/naylence/fame/stickiness/aft-verifier.js +290 -0
  191. package/dist/esm/naylence/fame/stickiness/aft-verifier.js.map +1 -0
  192. package/dist/esm/naylence/fame/stickiness/index.js +11 -0
  193. package/dist/esm/naylence/fame/stickiness/index.js.map +1 -0
  194. package/dist/esm/naylence/fame/stickiness/stickiness-mode.js +24 -0
  195. package/dist/esm/naylence/fame/stickiness/stickiness-mode.js.map +1 -0
  196. package/dist/esm/naylence/fame/welcome/advanced-welcome-service-factory.js +93 -0
  197. package/dist/esm/naylence/fame/welcome/advanced-welcome-service-factory.js.map +1 -0
  198. package/dist/esm/naylence/fame/welcome/advanced-welcome-service.js +212 -0
  199. package/dist/esm/naylence/fame/welcome/advanced-welcome-service.js.map +1 -0
  200. package/dist/esm/naylence/fame/welcome/index.js +3 -0
  201. package/dist/esm/naylence/fame/welcome/index.js.map +1 -0
  202. package/dist/esm/plugin.js +37 -0
  203. package/dist/esm/plugin.js.map +1 -0
  204. package/dist/types/browser.d.ts +2 -0
  205. package/dist/types/browser.d.ts.map +1 -0
  206. package/dist/types/index.d.ts +4 -0
  207. package/dist/types/index.d.ts.map +1 -0
  208. package/dist/types/naylence/fame/factory-manifest.d.ts +9 -0
  209. package/dist/types/naylence/fame/factory-manifest.d.ts.map +1 -0
  210. package/dist/types/naylence/fame/security/cert/ca-server.d.ts +19 -0
  211. package/dist/types/naylence/fame/security/cert/ca-server.d.ts.map +1 -0
  212. package/dist/types/naylence/fame/security/cert/ca-service-client.d.ts +75 -0
  213. package/dist/types/naylence/fame/security/cert/ca-service-client.d.ts.map +1 -0
  214. package/dist/types/naylence/fame/security/cert/ca-service-factory.d.ts +43 -0
  215. package/dist/types/naylence/fame/security/cert/ca-service-factory.d.ts.map +1 -0
  216. package/dist/types/naylence/fame/security/cert/ca-types.d.ts +97 -0
  217. package/dist/types/naylence/fame/security/cert/ca-types.d.ts.map +1 -0
  218. package/dist/types/naylence/fame/security/cert/default-ca-service-factory.d.ts +55 -0
  219. package/dist/types/naylence/fame/security/cert/default-ca-service-factory.d.ts.map +1 -0
  220. package/dist/types/naylence/fame/security/cert/default-ca-service.d.ts +84 -0
  221. package/dist/types/naylence/fame/security/cert/default-ca-service.d.ts.map +1 -0
  222. package/dist/types/naylence/fame/security/cert/default-certificate-manager-factory.d.ts +25 -0
  223. package/dist/types/naylence/fame/security/cert/default-certificate-manager-factory.d.ts.map +1 -0
  224. package/dist/types/naylence/fame/security/cert/default-certificate-manager.d.ts +38 -0
  225. package/dist/types/naylence/fame/security/cert/default-certificate-manager.d.ts.map +1 -0
  226. package/dist/types/naylence/fame/security/cert/grants.d.ts +2 -0
  227. package/dist/types/naylence/fame/security/cert/grants.d.ts.map +1 -0
  228. package/dist/types/naylence/fame/security/cert/index.d.ts +11 -0
  229. package/dist/types/naylence/fame/security/cert/index.d.ts.map +1 -0
  230. package/dist/types/naylence/fame/security/cert/internal-ca-service.d.ts +132 -0
  231. package/dist/types/naylence/fame/security/cert/internal-ca-service.d.ts.map +1 -0
  232. package/dist/types/naylence/fame/security/cert/util.d.ts +35 -0
  233. package/dist/types/naylence/fame/security/cert/util.d.ts.map +1 -0
  234. package/dist/types/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.d.ts +29 -0
  235. package/dist/types/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.d.ts.map +1 -0
  236. package/dist/types/naylence/fame/security/encryption/channel/channel-encryption-manager.d.ts +51 -0
  237. package/dist/types/naylence/fame/security/encryption/channel/channel-encryption-manager.d.ts.map +1 -0
  238. package/dist/types/naylence/fame/security/encryption/channel/index.d.ts +3 -0
  239. package/dist/types/naylence/fame/security/encryption/channel/index.d.ts.map +1 -0
  240. package/dist/types/naylence/fame/security/encryption/composite-encryption-manager-factory.d.ts +32 -0
  241. package/dist/types/naylence/fame/security/encryption/composite-encryption-manager-factory.d.ts.map +1 -0
  242. package/dist/types/naylence/fame/security/encryption/composite-encryption-manager.d.ts +52 -0
  243. package/dist/types/naylence/fame/security/encryption/composite-encryption-manager.d.ts.map +1 -0
  244. package/dist/types/naylence/fame/security/encryption/default-secure-channel-manager-factory.d.ts +23 -0
  245. package/dist/types/naylence/fame/security/encryption/default-secure-channel-manager-factory.d.ts.map +1 -0
  246. package/dist/types/naylence/fame/security/encryption/default-secure-channel-manager.d.ts +37 -0
  247. package/dist/types/naylence/fame/security/encryption/default-secure-channel-manager.d.ts.map +1 -0
  248. package/dist/types/naylence/fame/security/encryption/encryption-manager-registry.d.ts +34 -0
  249. package/dist/types/naylence/fame/security/encryption/encryption-manager-registry.d.ts.map +1 -0
  250. package/dist/types/naylence/fame/security/encryption/index.d.ts +7 -0
  251. package/dist/types/naylence/fame/security/encryption/index.d.ts.map +1 -0
  252. package/dist/types/naylence/fame/security/encryption/sealed/index.d.ts +3 -0
  253. package/dist/types/naylence/fame/security/encryption/sealed/index.d.ts.map +1 -0
  254. package/dist/types/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.d.ts +28 -0
  255. package/dist/types/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.d.ts.map +1 -0
  256. package/dist/types/naylence/fame/security/encryption/sealed/x25519-encryption-manager.d.ts +43 -0
  257. package/dist/types/naylence/fame/security/encryption/sealed/x25519-encryption-manager.d.ts.map +1 -0
  258. package/dist/types/naylence/fame/security/index.d.ts +6 -0
  259. package/dist/types/naylence/fame/security/index.d.ts.map +1 -0
  260. package/dist/types/naylence/fame/security/keys/index.d.ts +3 -0
  261. package/dist/types/naylence/fame/security/keys/index.d.ts.map +1 -0
  262. package/dist/types/naylence/fame/security/keys/x5c-key-manager-factory.d.ts +19 -0
  263. package/dist/types/naylence/fame/security/keys/x5c-key-manager-factory.d.ts.map +1 -0
  264. package/dist/types/naylence/fame/security/keys/x5c-key-manager.d.ts +39 -0
  265. package/dist/types/naylence/fame/security/keys/x5c-key-manager.d.ts.map +1 -0
  266. package/dist/types/naylence/fame/security/register-advanced-security-factories.d.ts +8 -0
  267. package/dist/types/naylence/fame/security/register-advanced-security-factories.d.ts.map +1 -0
  268. package/dist/types/naylence/fame/security/signing/eddsa-envelope-signer-factory.d.ts +20 -0
  269. package/dist/types/naylence/fame/security/signing/eddsa-envelope-signer-factory.d.ts.map +1 -0
  270. package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier-factory.d.ts +21 -0
  271. package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier-factory.d.ts.map +1 -0
  272. package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier.d.ts +17 -0
  273. package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier.d.ts.map +1 -0
  274. package/dist/types/naylence/fame/stickiness/aft-helper.d.ts +29 -0
  275. package/dist/types/naylence/fame/stickiness/aft-helper.d.ts.map +1 -0
  276. package/dist/types/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.d.ts +25 -0
  277. package/dist/types/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.d.ts.map +1 -0
  278. package/dist/types/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.d.ts +33 -0
  279. package/dist/types/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.d.ts.map +1 -0
  280. package/dist/types/naylence/fame/stickiness/aft-model.d.ts +33 -0
  281. package/dist/types/naylence/fame/stickiness/aft-model.d.ts.map +1 -0
  282. package/dist/types/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.d.ts +23 -0
  283. package/dist/types/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.d.ts.map +1 -0
  284. package/dist/types/naylence/fame/stickiness/aft-replica-stickiness-manager.d.ts +31 -0
  285. package/dist/types/naylence/fame/stickiness/aft-replica-stickiness-manager.d.ts.map +1 -0
  286. package/dist/types/naylence/fame/stickiness/aft-signer.d.ts +55 -0
  287. package/dist/types/naylence/fame/stickiness/aft-signer.d.ts.map +1 -0
  288. package/dist/types/naylence/fame/stickiness/aft-utils.d.ts +4 -0
  289. package/dist/types/naylence/fame/stickiness/aft-utils.d.ts.map +1 -0
  290. package/dist/types/naylence/fame/stickiness/aft-verifier.d.ts +50 -0
  291. package/dist/types/naylence/fame/stickiness/aft-verifier.d.ts.map +1 -0
  292. package/dist/types/naylence/fame/stickiness/index.d.ts +15 -0
  293. package/dist/types/naylence/fame/stickiness/index.d.ts.map +1 -0
  294. package/dist/types/naylence/fame/stickiness/stickiness-mode.d.ts +7 -0
  295. package/dist/types/naylence/fame/stickiness/stickiness-mode.d.ts.map +1 -0
  296. package/dist/types/naylence/fame/welcome/advanced-welcome-service-factory.d.ts +21 -0
  297. package/dist/types/naylence/fame/welcome/advanced-welcome-service-factory.d.ts.map +1 -0
  298. package/dist/types/naylence/fame/welcome/advanced-welcome-service.d.ts +21 -0
  299. package/dist/types/naylence/fame/welcome/advanced-welcome-service.d.ts.map +1 -0
  300. package/dist/types/naylence/fame/welcome/index.d.ts +3 -0
  301. package/dist/types/naylence/fame/welcome/index.d.ts.map +1 -0
  302. package/dist/types/plugin.d.ts +11 -0
  303. package/dist/types/plugin.d.ts.map +1 -0
  304. package/package.json +130 -0
@@ -0,0 +1,278 @@
1
+ /**
2
+ * Certificate client for requesting certificates from a CA signing service.
3
+ *
4
+ * Provides async HTTP client to request certificates from the CA signing service.
5
+ */
6
+ import { CertificateRequestError } from "./ca-types.js";
7
+ // Simple logger for now - TODO: integrate with runtime logging
8
+ const logger = {
9
+ debug: (_event, _meta) => {
10
+ // console.log(`[DEBUG] ${event}`, meta);
11
+ },
12
+ error: (_event, _meta) => {
13
+ console.error(`[ERROR] ${_event}`, _meta);
14
+ },
15
+ };
16
+ export const ENV_VAR_FAME_CA_SERVICE_URL = "FAME_CA_SERVICE_URL";
17
+ /**
18
+ * Extract certificate information from a PEM certificate.
19
+ *
20
+ * Uses node-forge to parse X.509 certificates and extract metadata.
21
+ *
22
+ * @param _certPem - Certificate in PEM format (prefixed with underscore as currently unused)
23
+ * @returns Certificate information object
24
+ */
25
+ export function extractCertificateInfo(_certPem) {
26
+ try {
27
+ // TODO: Implement using node-forge or similar library
28
+ // For now, return a placeholder
29
+ return {
30
+ subject: "TODO: Parse certificate",
31
+ issuer: "TODO: Parse certificate",
32
+ serialNumber: "TODO",
33
+ validFrom: new Date().toISOString(),
34
+ validUntil: new Date(Date.now() + 365 * 24 * 60 * 60 * 1000).toISOString(),
35
+ status: "unknown",
36
+ };
37
+ }
38
+ catch (error) {
39
+ return {
40
+ subject: "",
41
+ issuer: "",
42
+ serialNumber: "",
43
+ validFrom: "",
44
+ validUntil: "",
45
+ status: "unknown",
46
+ error: `Failed to parse certificate: ${error}`,
47
+ };
48
+ }
49
+ }
50
+ /**
51
+ * Format certificate information in human-readable format.
52
+ *
53
+ * @param certPem - Certificate in PEM format
54
+ * @param certType - Type description for logging (e.g., "Certificate", "CA Certificate")
55
+ * @returns Formatted string with certificate details
56
+ */
57
+ export function formatCertificateInfo(certPem, certType = "Certificate") {
58
+ const info = extractCertificateInfo(certPem);
59
+ if (info.error) {
60
+ return `=== ${certType} Information ===\n${info.error}`;
61
+ }
62
+ const lines = [
63
+ `=== ${certType} Information ===`,
64
+ `Subject: ${info.subject}`,
65
+ `Issuer: ${info.issuer}`,
66
+ `Serial Number: ${info.serialNumber}`,
67
+ `Valid From: ${info.validFrom}`,
68
+ `Valid Until: ${info.validUntil}`,
69
+ ];
70
+ if (info.subjectAlternativeNames && info.subjectAlternativeNames.length > 0) {
71
+ lines.push(`Subject Alternative Names: ${info.subjectAlternativeNames.join(", ")}`);
72
+ }
73
+ if (info.spiffeId) {
74
+ lines.push(`SPIFFE ID: ${info.spiffeId}`);
75
+ }
76
+ if (info.nodeSid) {
77
+ lines.push(`Node SID: ${info.nodeSid}`);
78
+ }
79
+ if (info.nodeId) {
80
+ lines.push(`Node ID: ${info.nodeId}`);
81
+ }
82
+ if (info.logicalHosts && info.logicalHosts.length > 0) {
83
+ lines.push(`Logical Hosts: ${info.logicalHosts.join(", ")}`);
84
+ }
85
+ // Add validity status
86
+ if (info.status === "valid" && info.daysRemaining !== undefined) {
87
+ if (info.daysRemaining > 0) {
88
+ lines.push(`Status: Valid (${info.daysRemaining} days remaining)`);
89
+ }
90
+ else if (info.hoursRemaining !== undefined && info.hoursRemaining > 0) {
91
+ if (info.minutesRemaining !== undefined && info.minutesRemaining > 0) {
92
+ lines.push(`Status: Valid (${info.hoursRemaining} hours, ${info.minutesRemaining} minutes remaining)`);
93
+ }
94
+ else {
95
+ lines.push(`Status: Valid (${info.hoursRemaining} hours remaining)`);
96
+ }
97
+ }
98
+ else if (info.minutesRemaining !== undefined) {
99
+ lines.push(`Status: Valid (${info.minutesRemaining} minutes remaining)`);
100
+ }
101
+ }
102
+ else if (info.status === "expired") {
103
+ lines.push("Status: Expired");
104
+ }
105
+ else if (info.status === "not_yet_valid") {
106
+ lines.push("Status: Not yet valid");
107
+ }
108
+ return lines.join("\n");
109
+ }
110
+ /**
111
+ * Client for requesting certificates from a CA signing service.
112
+ */
113
+ export class CAServiceClient {
114
+ /**
115
+ * Create a new CA service client.
116
+ *
117
+ * @param connectionGrant - HTTP connection grant with CA service URL
118
+ * @param timeoutSeconds - Request timeout in seconds (default: 30)
119
+ */
120
+ constructor(connectionGrant, timeoutSeconds = 30.0) {
121
+ this.authHeader = null;
122
+ if (!connectionGrant || typeof connectionGrant.url !== "string") {
123
+ throw new Error("connectionGrant must have a valid url property");
124
+ }
125
+ this.connectionGrant = connectionGrant;
126
+ this.timeoutSeconds = timeoutSeconds;
127
+ }
128
+ /**
129
+ * Set the authorization header for outbound requests.
130
+ *
131
+ * @param authHeader - Authorization header value (e.g., "Bearer token")
132
+ */
133
+ setAuthHeader(authHeader) {
134
+ this.authHeader = authHeader;
135
+ }
136
+ /**
137
+ * Request a certificate from the CA service.
138
+ *
139
+ * @param csrPem - Certificate Signing Request in PEM format
140
+ * @param requesterId - ID of the node requesting the certificate
141
+ * @param physicalPath - Physical path for the node (optional)
142
+ * @param logicals - Logicals the node will serve (optional)
143
+ * @returns Tuple of [certificatePem, certificateChainPem]
144
+ * @throws {CertificateRequestError} If the request fails
145
+ */
146
+ async requestCertificate(csrPem, requesterId, physicalPath, logicals) {
147
+ const requestData = {
148
+ csr_pem: csrPem,
149
+ requester_id: requesterId,
150
+ physical_path: physicalPath,
151
+ logicals: logicals || [],
152
+ };
153
+ const url = `${this.connectionGrant.url.replace(/\/$/, "")}/sign`;
154
+ logger.debug("requesting_certificate", {
155
+ requester_id: requesterId,
156
+ ca_service_url: url,
157
+ physical_path: physicalPath,
158
+ logicals,
159
+ });
160
+ // Prepare headers
161
+ const headers = {
162
+ "Content-Type": "application/json",
163
+ };
164
+ if (this.authHeader) {
165
+ headers["Authorization"] = this.authHeader;
166
+ }
167
+ try {
168
+ // Create abort controller for timeout
169
+ const controller = new AbortController();
170
+ const timeoutId = setTimeout(() => controller.abort(), this.timeoutSeconds * 1000);
171
+ try {
172
+ const response = await fetch(url, {
173
+ method: "POST",
174
+ headers,
175
+ body: JSON.stringify(requestData),
176
+ signal: controller.signal,
177
+ });
178
+ clearTimeout(timeoutId);
179
+ if (response.ok) {
180
+ const result = await response.json();
181
+ const certificatePem = result.certificate_pem;
182
+ const certificateChainPem = result.certificate_chain_pem || certificatePem;
183
+ logger.debug("certificate_request_successful", {
184
+ requester_id: requesterId,
185
+ expires_at: result.expires_at,
186
+ });
187
+ // Extract and log certificate information with structured logging
188
+ const certInfo = extractCertificateInfo(certificatePem);
189
+ logger.debug("certificate_details", {
190
+ requester_id: requesterId,
191
+ certificate_type: "issued_certificate",
192
+ ...certInfo,
193
+ });
194
+ // If we have a separate certificate chain, also log its details
195
+ if (certificateChainPem !== certificatePem) {
196
+ // Extract individual certificates from the chain
197
+ const chainCerts = certificateChainPem
198
+ .split("-----END CERTIFICATE-----\n")
199
+ .slice(0, -1);
200
+ for (let i = 0; i < chainCerts.length; i++) {
201
+ const certBlock = chainCerts[i];
202
+ if (certBlock && certBlock.trim()) {
203
+ const certPemBlock = certBlock + "-----END CERTIFICATE-----\n";
204
+ if (i === 0) {
205
+ // First cert in chain is usually the issued certificate
206
+ if (certPemBlock.trim() !== certificatePem.trim()) {
207
+ const chainCertInfo = extractCertificateInfo(certPemBlock);
208
+ logger.debug("certificate_chain_details", {
209
+ requester_id: requesterId,
210
+ certificate_type: "certificate_chain",
211
+ chain_index: i,
212
+ ...chainCertInfo,
213
+ });
214
+ }
215
+ }
216
+ else {
217
+ // Subsequent certs are intermediate/root CAs
218
+ const caCertInfo = extractCertificateInfo(certPemBlock);
219
+ logger.debug("certificate_chain_details", {
220
+ requester_id: requesterId,
221
+ certificate_type: "ca_certificate",
222
+ chain_index: i,
223
+ ...caCertInfo,
224
+ });
225
+ }
226
+ }
227
+ }
228
+ }
229
+ return [certificatePem, certificateChainPem];
230
+ }
231
+ else {
232
+ let errorDetail = "Unknown error";
233
+ try {
234
+ const bodyText = await response.text();
235
+ try {
236
+ const errorData = JSON.parse(bodyText);
237
+ errorDetail = errorData.detail || bodyText;
238
+ }
239
+ catch {
240
+ errorDetail = bodyText;
241
+ }
242
+ }
243
+ catch {
244
+ // Body read failed entirely
245
+ errorDetail = `HTTP ${response.status}`;
246
+ }
247
+ logger.error("certificate_request_failed", {
248
+ requester_id: requesterId,
249
+ status_code: response.status,
250
+ error: errorDetail,
251
+ });
252
+ throw new CertificateRequestError(`Certificate request failed (HTTP ${response.status}): ${errorDetail}`);
253
+ }
254
+ }
255
+ finally {
256
+ clearTimeout(timeoutId);
257
+ }
258
+ }
259
+ catch (error) {
260
+ if (error instanceof CertificateRequestError) {
261
+ throw error;
262
+ }
263
+ if (error instanceof Error && error.name === "AbortError") {
264
+ logger.error("certificate_request_timeout", {
265
+ requester_id: requesterId,
266
+ timeout_seconds: this.timeoutSeconds,
267
+ });
268
+ throw new CertificateRequestError(`Certificate request timed out after ${this.timeoutSeconds} seconds`);
269
+ }
270
+ logger.error("certificate_request_network_error", {
271
+ requester_id: requesterId,
272
+ error: String(error),
273
+ });
274
+ throw new CertificateRequestError(`Network error requesting certificate: ${error}`);
275
+ }
276
+ }
277
+ }
278
+ //# sourceMappingURL=ca-service-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ca-service-client.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/ca-service-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Factory pattern for creating CA service instances.
3
+ *
4
+ * Provides a unified way to create CAService implementations from configuration.
5
+ */
6
+ import { AbstractResourceFactory, createDefaultResource, createResource, } from "@naylence/factory";
7
+ /**
8
+ * Factory for creating CAService instances.
9
+ *
10
+ * Supports multiple CAService implementations through the factory pattern.
11
+ */
12
+ export class CAServiceFactory extends AbstractResourceFactory {
13
+ /**
14
+ * Create a CAService instance from configuration.
15
+ *
16
+ * @param config - Optional CAService configuration or dictionary
17
+ * @param options - Additional creation options
18
+ * @returns Configured CAService instance
19
+ */
20
+ static async createCAService(config, options) {
21
+ if (!config) {
22
+ // Use default CA service
23
+ const service = await createDefaultResource("CAServiceFactory", config, options);
24
+ if (!service) {
25
+ throw new Error("No default CA service factory registered");
26
+ }
27
+ return service;
28
+ }
29
+ if (typeof config === "object" && !("type" in config)) {
30
+ // No type specified, use default
31
+ const service = await createDefaultResource("CAServiceFactory", config, options);
32
+ if (!service) {
33
+ throw new Error("No default CA service factory registered");
34
+ }
35
+ return service;
36
+ }
37
+ // Create from specific type
38
+ const configObj = config instanceof Object && "type" in config
39
+ ? config
40
+ : { type: "CAService", ...config };
41
+ const service = await createResource("CAServiceFactory", configObj, options);
42
+ if (!service) {
43
+ throw new Error(`Failed to create CA service of type "${configObj.type}"`);
44
+ }
45
+ return service;
46
+ }
47
+ }
48
+ /**
49
+ * Base type for CA service factories.
50
+ */
51
+ export const CA_SERVICE_FACTORY_BASE_TYPE = "CAServiceFactory";
52
+ /**
53
+ * Factory metadata for CAServiceFactory.
54
+ */
55
+ export const FACTORY_META = {
56
+ factoryId: "CAServiceFactory",
57
+ factoryType: CAServiceFactory,
58
+ resourceType: "CAService",
59
+ description: "Factory for creating Certificate Authority (CA) service instances",
60
+ };
61
+ //# sourceMappingURL=ca-service-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ca-service-factory.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/ca-service-factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAU3B;;;;GAIG;AACH,MAAM,OAAgB,gBAEpB,SAAQ,uBAAqC;IAC7C;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,eAAe,CAC1B,MAAkD,EAClD,OAA+B;QAE/B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,yBAAyB;YACzB,MAAM,OAAO,GAAG,MAAM,qBAAqB,CACzC,kBAAkB,EAClB,MAAM,EACN,OAAO,CACR,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,OAAoB,CAAC;QAC9B,CAAC;QAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,CAAC;YACtD,iCAAiC;YACjC,MAAM,OAAO,GAAG,MAAM,qBAAqB,CACzC,kBAAkB,EAClB,MAAM,EACN,OAAO,CACR,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,OAAoB,CAAC;QAC9B,CAAC;QAED,4BAA4B;QAC5B,MAAM,SAAS,GACb,MAAM,YAAY,MAAM,IAAI,MAAM,IAAI,MAAM;YAC1C,CAAC,CAAE,MAA0B;YAC7B,CAAC,CAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,EAAsB,CAAC;QAE5D,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,kBAAkB,EAClB,SAAS,EACT,OAAO,CACR,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,wCAAwC,SAAS,CAAC,IAAI,GAAG,CAC1D,CAAC;QACJ,CAAC;QACD,OAAO,OAAoB,CAAC;IAC9B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,kBAAkB,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS,EAAE,kBAAkB;IAC7B,WAAW,EAAE,gBAAgB;IAC7B,YAAY,EAAE,WAAW;IACzB,WAAW,EACT,mEAAmE;CACtE,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Certificate Authority (CA) types and interfaces.
3
+ *
4
+ * Provides type definitions for CA service operations, certificate signing requests,
5
+ * and certificate issuance responses.
6
+ */
7
+ /**
8
+ * Abstract CA signing service interface.
9
+ *
10
+ * Defines the contract for certificate authority services that can issue
11
+ * certificates from certificate signing requests.
12
+ */
13
+ export class CAService {
14
+ /**
15
+ * Optional authorizer for request authentication.
16
+ */
17
+ get authorizer() {
18
+ return null;
19
+ }
20
+ }
21
+ /**
22
+ * Error thrown when a certificate request fails.
23
+ */
24
+ export class CertificateRequestError extends Error {
25
+ constructor(message) {
26
+ super(message);
27
+ this.name = "CertificateRequestError";
28
+ Object.setPrototypeOf(this, CertificateRequestError.prototype);
29
+ }
30
+ }
31
+ //# sourceMappingURL=ca-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ca-types.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/ca-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyCH;;;;;GAKG;AACH,MAAM,OAAgB,SAAS;IAC7B;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;CAWF;AAED;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;CACF"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Factory for creating DefaultCAService instances.
3
+ *
4
+ * Provides the default CA service implementation with environment variable support.
5
+ */
6
+ import { AbstractResourceFactory } from "@naylence/factory";
7
+ import { DefaultCAService } from "./default-ca-service.js";
8
+ /**
9
+ * Factory metadata for DefaultCAServiceFactory.
10
+ */
11
+ export const FACTORY_META = {
12
+ base: "CAServiceFactory",
13
+ key: "DefaultCAService",
14
+ };
15
+ /**
16
+ * Normalize configuration from snake_case or camelCase to standard format.
17
+ */
18
+ function normalizeConfig(config) {
19
+ if (!config) {
20
+ return { type: "DefaultCAService" };
21
+ }
22
+ const { type: _ignoredType, ...rest } = config;
23
+ return {
24
+ ...rest,
25
+ type: "DefaultCAService",
26
+ };
27
+ }
28
+ /**
29
+ * Factory for creating DefaultCAService instances.
30
+ */
31
+ export class DefaultCAServiceFactory extends AbstractResourceFactory {
32
+ constructor() {
33
+ super(...arguments);
34
+ this.type = "DefaultCAService";
35
+ this.isDefault = true;
36
+ this.priority = 100;
37
+ }
38
+ /**
39
+ * Create a DefaultCAService instance.
40
+ *
41
+ * @param config - DefaultCAService configuration
42
+ * @returns Configured DefaultCAService instance
43
+ */
44
+ async create(config, ..._factoryArgs) {
45
+ const normalizedConfig = normalizeConfig(config);
46
+ // Extract configuration with snake_case fallbacks
47
+ const caCertPem = normalizedConfig.caCertPem ?? normalizedConfig.ca_cert_pem;
48
+ const caKeyPem = normalizedConfig.caKeyPem ?? normalizedConfig.ca_key_pem;
49
+ const intermediateChainPem = normalizedConfig.intermediateChainPem ??
50
+ normalizedConfig.intermediate_chain_pem;
51
+ const signingCertPem = normalizedConfig.signingCertPem ?? normalizedConfig.signing_cert_pem;
52
+ const signingKeyPem = normalizedConfig.signingKeyPem ?? normalizedConfig.signing_key_pem;
53
+ // TODO: Create authorizer from config when AuthorizerFactory is available
54
+ const authorizer = undefined;
55
+ return new DefaultCAService({
56
+ caCertPem,
57
+ caKeyPem,
58
+ intermediateChainPem,
59
+ signingCertPem,
60
+ signingKeyPem,
61
+ authorizer,
62
+ });
63
+ }
64
+ }
65
+ export default DefaultCAServiceFactory;
66
+ //# sourceMappingURL=default-ca-service-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-ca-service-factory.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/default-ca-service-factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAgC3D;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,kBAAkB;IACxB,GAAG,EAAE,kBAAkB;CACf,CAAC;AAEX;;GAEG;AACH,SAAS,eAAe,CACtB,MAAgE;IAEhE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;IACtC,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,MAAiC,CAAC;IAC1E,OAAO;QACL,GAAG,IAAI;QACP,IAAI,EAAE,kBAAkB;KACC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,uBAG5C;IAHD;;QAIkB,SAAI,GAAG,kBAAkB,CAAC;QAC1B,cAAS,GAAG,IAAI,CAAC;QACjB,aAAQ,GAAG,GAAG,CAAC;IAsCjC,CAAC;IApCC;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CACjB,MAAgE,EAChE,GAAG,YAAuB;QAE1B,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAEjD,kDAAkD;QAClD,MAAM,SAAS,GACb,gBAAgB,CAAC,SAAS,IAAI,gBAAgB,CAAC,WAAW,CAAC;QAC7D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,IAAI,gBAAgB,CAAC,UAAU,CAAC;QAC1E,MAAM,oBAAoB,GACxB,gBAAgB,CAAC,oBAAoB;YACrC,gBAAgB,CAAC,sBAAsB,CAAC;QAC1C,MAAM,cAAc,GAClB,gBAAgB,CAAC,cAAc,IAAI,gBAAgB,CAAC,gBAAgB,CAAC;QACvE,MAAM,aAAa,GACjB,gBAAgB,CAAC,aAAa,IAAI,gBAAgB,CAAC,eAAe,CAAC;QAErE,0EAA0E;QAC1E,MAAM,UAAU,GAA2B,SAAS,CAAC;QAErD,OAAO,IAAI,gBAAgB,CAAC;YAC1B,SAAS;YACT,QAAQ;YACR,oBAAoB;YACpB,cAAc;YACd,aAAa;YACb,UAAU;SACX,CAAC,CAAC;IACL,CAAC;CACF;AAED,eAAe,uBAAuB,CAAC"}