@naylence/advanced-security 0.3.7-test.112 → 0.3.7-test.114

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 (421) hide show
  1. package/package.json +1 -1
  2. package/dist/browser/index.cjs +0 -9864
  3. package/dist/browser/index.mjs +0 -9811
  4. package/dist/cjs/advanced-security-isomorphic.js +0 -82
  5. package/dist/cjs/advanced-security-isomorphic.js.map +0 -1
  6. package/dist/cjs/browser.js +0 -25
  7. package/dist/cjs/browser.js.map +0 -1
  8. package/dist/cjs/index.js +0 -2
  9. package/dist/cjs/index.js.map +0 -1
  10. package/dist/cjs/install-env.js +0 -2
  11. package/dist/cjs/install-env.js.map +0 -1
  12. package/dist/cjs/naylence/fame/factory-manifest.js +0 -39
  13. package/dist/cjs/naylence/fame/factory-manifest.js.map +0 -1
  14. package/dist/cjs/naylence/fame/security/cert/browser-csr.js +0 -103
  15. package/dist/cjs/naylence/fame/security/cert/browser-csr.js.map +0 -1
  16. package/dist/cjs/naylence/fame/security/cert/ca-server-cli.js +0 -30
  17. package/dist/cjs/naylence/fame/security/cert/ca-server-cli.js.map +0 -1
  18. package/dist/cjs/naylence/fame/security/cert/ca-server.js +0 -223
  19. package/dist/cjs/naylence/fame/security/cert/ca-server.js.map +0 -1
  20. package/dist/cjs/naylence/fame/security/cert/ca-service-client.js +0 -585
  21. package/dist/cjs/naylence/fame/security/cert/ca-service-client.js.map +0 -1
  22. package/dist/cjs/naylence/fame/security/cert/ca-service-factory.js +0 -61
  23. package/dist/cjs/naylence/fame/security/cert/ca-service-factory.js.map +0 -1
  24. package/dist/cjs/naylence/fame/security/cert/ca-types.js +0 -39
  25. package/dist/cjs/naylence/fame/security/cert/ca-types.js.map +0 -1
  26. package/dist/cjs/naylence/fame/security/cert/csr-types.js +0 -2
  27. package/dist/cjs/naylence/fame/security/cert/csr-types.js.map +0 -1
  28. package/dist/cjs/naylence/fame/security/cert/default-ca-service-factory.js +0 -66
  29. package/dist/cjs/naylence/fame/security/cert/default-ca-service-factory.js.map +0 -1
  30. package/dist/cjs/naylence/fame/security/cert/default-ca-service.js +0 -364
  31. package/dist/cjs/naylence/fame/security/cert/default-ca-service.js.map +0 -1
  32. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager-factory.js +0 -73
  33. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager-factory.js.map +0 -1
  34. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager.js +0 -815
  35. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager.js.map +0 -1
  36. package/dist/cjs/naylence/fame/security/cert/grants.js +0 -2
  37. package/dist/cjs/naylence/fame/security/cert/grants.js.map +0 -1
  38. package/dist/cjs/naylence/fame/security/cert/index.js +0 -18
  39. package/dist/cjs/naylence/fame/security/cert/index.js.map +0 -1
  40. package/dist/cjs/naylence/fame/security/cert/internal-ca-service.js +0 -741
  41. package/dist/cjs/naylence/fame/security/cert/internal-ca-service.js.map +0 -1
  42. package/dist/cjs/naylence/fame/security/cert/node-ed25519-csr.js +0 -156
  43. package/dist/cjs/naylence/fame/security/cert/node-ed25519-csr.js.map +0 -1
  44. package/dist/cjs/naylence/fame/security/cert/oid-constants.js +0 -7
  45. package/dist/cjs/naylence/fame/security/cert/oid-constants.js.map +0 -1
  46. package/dist/cjs/naylence/fame/security/cert/trust-store/anchor-utils.js +0 -119
  47. package/dist/cjs/naylence/fame/security/cert/trust-store/anchor-utils.js.map +0 -1
  48. package/dist/cjs/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.js +0 -82
  49. package/dist/cjs/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.js.map +0 -1
  50. package/dist/cjs/naylence/fame/security/cert/trust-store/env-provider.js +0 -168
  51. package/dist/cjs/naylence/fame/security/cert/trust-store/env-provider.js.map +0 -1
  52. package/dist/cjs/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js +0 -257
  53. package/dist/cjs/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js.map +0 -1
  54. package/dist/cjs/naylence/fame/security/cert/trust-store/http-bundle-provider.js +0 -497
  55. package/dist/cjs/naylence/fame/security/cert/trust-store/http-bundle-provider.js.map +0 -1
  56. package/dist/cjs/naylence/fame/security/cert/trust-store/http-signed-bundle-provider.js +0 -2
  57. package/dist/cjs/naylence/fame/security/cert/trust-store/http-signed-bundle-provider.js.map +0 -1
  58. package/dist/cjs/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.js +0 -61
  59. package/dist/cjs/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.js.map +0 -1
  60. package/dist/cjs/naylence/fame/security/cert/trust-store/static-bundle-provider.js +0 -44
  61. package/dist/cjs/naylence/fame/security/cert/trust-store/static-bundle-provider.js.map +0 -1
  62. package/dist/cjs/naylence/fame/security/cert/trust-store/trust-store-provider-factory.js +0 -40
  63. package/dist/cjs/naylence/fame/security/cert/trust-store/trust-store-provider-factory.js.map +0 -1
  64. package/dist/cjs/naylence/fame/security/cert/trust-store/trust-store-provider.js +0 -2
  65. package/dist/cjs/naylence/fame/security/cert/trust-store/trust-store-provider.js.map +0 -1
  66. package/dist/cjs/naylence/fame/security/cert/util.js +0 -515
  67. package/dist/cjs/naylence/fame/security/cert/util.js.map +0 -1
  68. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js +0 -85
  69. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js.map +0 -1
  70. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager.js +0 -743
  71. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager.js.map +0 -1
  72. package/dist/cjs/naylence/fame/security/encryption/channel/index.js +0 -3
  73. package/dist/cjs/naylence/fame/security/encryption/channel/index.js.map +0 -1
  74. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager-factory.js +0 -113
  75. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager-factory.js.map +0 -1
  76. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager.js +0 -321
  77. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager.js.map +0 -1
  78. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager-factory.js +0 -53
  79. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager-factory.js.map +0 -1
  80. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager.js +0 -278
  81. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager.js.map +0 -1
  82. package/dist/cjs/naylence/fame/security/encryption/encryption-manager-registry.js +0 -167
  83. package/dist/cjs/naylence/fame/security/encryption/encryption-manager-registry.js.map +0 -1
  84. package/dist/cjs/naylence/fame/security/encryption/index.js +0 -7
  85. package/dist/cjs/naylence/fame/security/encryption/index.js.map +0 -1
  86. package/dist/cjs/naylence/fame/security/encryption/sealed/index.js +0 -3
  87. package/dist/cjs/naylence/fame/security/encryption/sealed/index.js.map +0 -1
  88. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js +0 -82
  89. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js.map +0 -1
  90. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js +0 -542
  91. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js.map +0 -1
  92. package/dist/cjs/naylence/fame/security/index.js +0 -6
  93. package/dist/cjs/naylence/fame/security/index.js.map +0 -1
  94. package/dist/cjs/naylence/fame/security/keys/index.js +0 -3
  95. package/dist/cjs/naylence/fame/security/keys/index.js.map +0 -1
  96. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager-factory.js +0 -36
  97. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager-factory.js.map +0 -1
  98. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager.js +0 -405
  99. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager.js.map +0 -1
  100. package/dist/cjs/naylence/fame/security/register-advanced-security-factories.js +0 -283
  101. package/dist/cjs/naylence/fame/security/register-advanced-security-factories.js.map +0 -1
  102. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-signer-factory.js +0 -34
  103. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-signer-factory.js.map +0 -1
  104. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js +0 -33
  105. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js.map +0 -1
  106. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier.js +0 -189
  107. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier.js.map +0 -1
  108. package/dist/cjs/naylence/fame/stickiness/aft-helper.js +0 -72
  109. package/dist/cjs/naylence/fame/stickiness/aft-helper.js.map +0 -1
  110. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js +0 -65
  111. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js.map +0 -1
  112. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js +0 -447
  113. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js.map +0 -1
  114. package/dist/cjs/naylence/fame/stickiness/aft-model.js +0 -54
  115. package/dist/cjs/naylence/fame/stickiness/aft-model.js.map +0 -1
  116. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js +0 -50
  117. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js.map +0 -1
  118. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager.js +0 -203
  119. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager.js.map +0 -1
  120. package/dist/cjs/naylence/fame/stickiness/aft-signer.js +0 -147
  121. package/dist/cjs/naylence/fame/stickiness/aft-signer.js.map +0 -1
  122. package/dist/cjs/naylence/fame/stickiness/aft-utils.js +0 -90
  123. package/dist/cjs/naylence/fame/stickiness/aft-utils.js.map +0 -1
  124. package/dist/cjs/naylence/fame/stickiness/aft-verifier.js +0 -290
  125. package/dist/cjs/naylence/fame/stickiness/aft-verifier.js.map +0 -1
  126. package/dist/cjs/naylence/fame/stickiness/index.js +0 -11
  127. package/dist/cjs/naylence/fame/stickiness/index.js.map +0 -1
  128. package/dist/cjs/naylence/fame/stickiness/stickiness-mode.js +0 -24
  129. package/dist/cjs/naylence/fame/stickiness/stickiness-mode.js.map +0 -1
  130. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service-factory.js +0 -93
  131. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service-factory.js.map +0 -1
  132. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service.js +0 -212
  133. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service.js.map +0 -1
  134. package/dist/cjs/naylence/fame/welcome/index.js +0 -3
  135. package/dist/cjs/naylence/fame/welcome/index.js.map +0 -1
  136. package/dist/cjs/node.js +0 -11
  137. package/dist/cjs/node.js.map +0 -1
  138. package/dist/cjs/plugin.js +0 -39
  139. package/dist/cjs/plugin.js.map +0 -1
  140. package/dist/cjs/version.js +0 -8
  141. package/dist/cjs/version.js.map +0 -1
  142. package/dist/esm/advanced-security-isomorphic.js +0 -82
  143. package/dist/esm/advanced-security-isomorphic.js.map +0 -1
  144. package/dist/esm/browser.js +0 -25
  145. package/dist/esm/browser.js.map +0 -1
  146. package/dist/esm/index.js +0 -2
  147. package/dist/esm/index.js.map +0 -1
  148. package/dist/esm/install-env.js +0 -2
  149. package/dist/esm/install-env.js.map +0 -1
  150. package/dist/esm/naylence/fame/factory-manifest.js +0 -39
  151. package/dist/esm/naylence/fame/factory-manifest.js.map +0 -1
  152. package/dist/esm/naylence/fame/security/cert/browser-csr.js +0 -103
  153. package/dist/esm/naylence/fame/security/cert/browser-csr.js.map +0 -1
  154. package/dist/esm/naylence/fame/security/cert/ca-server-cli.js +0 -30
  155. package/dist/esm/naylence/fame/security/cert/ca-server-cli.js.map +0 -1
  156. package/dist/esm/naylence/fame/security/cert/ca-server.js +0 -223
  157. package/dist/esm/naylence/fame/security/cert/ca-server.js.map +0 -1
  158. package/dist/esm/naylence/fame/security/cert/ca-service-client.js +0 -585
  159. package/dist/esm/naylence/fame/security/cert/ca-service-client.js.map +0 -1
  160. package/dist/esm/naylence/fame/security/cert/ca-service-factory.js +0 -61
  161. package/dist/esm/naylence/fame/security/cert/ca-service-factory.js.map +0 -1
  162. package/dist/esm/naylence/fame/security/cert/ca-types.js +0 -39
  163. package/dist/esm/naylence/fame/security/cert/ca-types.js.map +0 -1
  164. package/dist/esm/naylence/fame/security/cert/csr-types.js +0 -2
  165. package/dist/esm/naylence/fame/security/cert/csr-types.js.map +0 -1
  166. package/dist/esm/naylence/fame/security/cert/default-ca-service-factory.js +0 -66
  167. package/dist/esm/naylence/fame/security/cert/default-ca-service-factory.js.map +0 -1
  168. package/dist/esm/naylence/fame/security/cert/default-ca-service.js +0 -364
  169. package/dist/esm/naylence/fame/security/cert/default-ca-service.js.map +0 -1
  170. package/dist/esm/naylence/fame/security/cert/default-certificate-manager-factory.js +0 -73
  171. package/dist/esm/naylence/fame/security/cert/default-certificate-manager-factory.js.map +0 -1
  172. package/dist/esm/naylence/fame/security/cert/default-certificate-manager.js +0 -815
  173. package/dist/esm/naylence/fame/security/cert/default-certificate-manager.js.map +0 -1
  174. package/dist/esm/naylence/fame/security/cert/grants.js +0 -2
  175. package/dist/esm/naylence/fame/security/cert/grants.js.map +0 -1
  176. package/dist/esm/naylence/fame/security/cert/index.js +0 -18
  177. package/dist/esm/naylence/fame/security/cert/index.js.map +0 -1
  178. package/dist/esm/naylence/fame/security/cert/internal-ca-service.js +0 -741
  179. package/dist/esm/naylence/fame/security/cert/internal-ca-service.js.map +0 -1
  180. package/dist/esm/naylence/fame/security/cert/node-ed25519-csr.js +0 -156
  181. package/dist/esm/naylence/fame/security/cert/node-ed25519-csr.js.map +0 -1
  182. package/dist/esm/naylence/fame/security/cert/oid-constants.js +0 -7
  183. package/dist/esm/naylence/fame/security/cert/oid-constants.js.map +0 -1
  184. package/dist/esm/naylence/fame/security/cert/trust-store/anchor-utils.js +0 -119
  185. package/dist/esm/naylence/fame/security/cert/trust-store/anchor-utils.js.map +0 -1
  186. package/dist/esm/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.js +0 -82
  187. package/dist/esm/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.js.map +0 -1
  188. package/dist/esm/naylence/fame/security/cert/trust-store/env-provider.js +0 -168
  189. package/dist/esm/naylence/fame/security/cert/trust-store/env-provider.js.map +0 -1
  190. package/dist/esm/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js +0 -257
  191. package/dist/esm/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js.map +0 -1
  192. package/dist/esm/naylence/fame/security/cert/trust-store/http-bundle-provider.js +0 -497
  193. package/dist/esm/naylence/fame/security/cert/trust-store/http-bundle-provider.js.map +0 -1
  194. package/dist/esm/naylence/fame/security/cert/trust-store/http-signed-bundle-provider.js +0 -2
  195. package/dist/esm/naylence/fame/security/cert/trust-store/http-signed-bundle-provider.js.map +0 -1
  196. package/dist/esm/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.js +0 -61
  197. package/dist/esm/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.js.map +0 -1
  198. package/dist/esm/naylence/fame/security/cert/trust-store/static-bundle-provider.js +0 -44
  199. package/dist/esm/naylence/fame/security/cert/trust-store/static-bundle-provider.js.map +0 -1
  200. package/dist/esm/naylence/fame/security/cert/trust-store/trust-store-provider-factory.js +0 -40
  201. package/dist/esm/naylence/fame/security/cert/trust-store/trust-store-provider-factory.js.map +0 -1
  202. package/dist/esm/naylence/fame/security/cert/trust-store/trust-store-provider.js +0 -2
  203. package/dist/esm/naylence/fame/security/cert/trust-store/trust-store-provider.js.map +0 -1
  204. package/dist/esm/naylence/fame/security/cert/util.js +0 -515
  205. package/dist/esm/naylence/fame/security/cert/util.js.map +0 -1
  206. package/dist/esm/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js +0 -85
  207. package/dist/esm/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js.map +0 -1
  208. package/dist/esm/naylence/fame/security/encryption/channel/channel-encryption-manager.js +0 -743
  209. package/dist/esm/naylence/fame/security/encryption/channel/channel-encryption-manager.js.map +0 -1
  210. package/dist/esm/naylence/fame/security/encryption/channel/index.js +0 -3
  211. package/dist/esm/naylence/fame/security/encryption/channel/index.js.map +0 -1
  212. package/dist/esm/naylence/fame/security/encryption/composite-encryption-manager-factory.js +0 -113
  213. package/dist/esm/naylence/fame/security/encryption/composite-encryption-manager-factory.js.map +0 -1
  214. package/dist/esm/naylence/fame/security/encryption/composite-encryption-manager.js +0 -321
  215. package/dist/esm/naylence/fame/security/encryption/composite-encryption-manager.js.map +0 -1
  216. package/dist/esm/naylence/fame/security/encryption/default-secure-channel-manager-factory.js +0 -53
  217. package/dist/esm/naylence/fame/security/encryption/default-secure-channel-manager-factory.js.map +0 -1
  218. package/dist/esm/naylence/fame/security/encryption/default-secure-channel-manager.js +0 -278
  219. package/dist/esm/naylence/fame/security/encryption/default-secure-channel-manager.js.map +0 -1
  220. package/dist/esm/naylence/fame/security/encryption/encryption-manager-registry.js +0 -167
  221. package/dist/esm/naylence/fame/security/encryption/encryption-manager-registry.js.map +0 -1
  222. package/dist/esm/naylence/fame/security/encryption/index.js +0 -7
  223. package/dist/esm/naylence/fame/security/encryption/index.js.map +0 -1
  224. package/dist/esm/naylence/fame/security/encryption/sealed/index.js +0 -3
  225. package/dist/esm/naylence/fame/security/encryption/sealed/index.js.map +0 -1
  226. package/dist/esm/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js +0 -82
  227. package/dist/esm/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js.map +0 -1
  228. package/dist/esm/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js +0 -542
  229. package/dist/esm/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js.map +0 -1
  230. package/dist/esm/naylence/fame/security/index.js +0 -6
  231. package/dist/esm/naylence/fame/security/index.js.map +0 -1
  232. package/dist/esm/naylence/fame/security/keys/index.js +0 -3
  233. package/dist/esm/naylence/fame/security/keys/index.js.map +0 -1
  234. package/dist/esm/naylence/fame/security/keys/x5c-key-manager-factory.js +0 -36
  235. package/dist/esm/naylence/fame/security/keys/x5c-key-manager-factory.js.map +0 -1
  236. package/dist/esm/naylence/fame/security/keys/x5c-key-manager.js +0 -405
  237. package/dist/esm/naylence/fame/security/keys/x5c-key-manager.js.map +0 -1
  238. package/dist/esm/naylence/fame/security/register-advanced-security-factories.js +0 -283
  239. package/dist/esm/naylence/fame/security/register-advanced-security-factories.js.map +0 -1
  240. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-signer-factory.js +0 -34
  241. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-signer-factory.js.map +0 -1
  242. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js +0 -33
  243. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js.map +0 -1
  244. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier.js +0 -189
  245. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier.js.map +0 -1
  246. package/dist/esm/naylence/fame/stickiness/aft-helper.js +0 -72
  247. package/dist/esm/naylence/fame/stickiness/aft-helper.js.map +0 -1
  248. package/dist/esm/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js +0 -65
  249. package/dist/esm/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js.map +0 -1
  250. package/dist/esm/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js +0 -447
  251. package/dist/esm/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js.map +0 -1
  252. package/dist/esm/naylence/fame/stickiness/aft-model.js +0 -54
  253. package/dist/esm/naylence/fame/stickiness/aft-model.js.map +0 -1
  254. package/dist/esm/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js +0 -50
  255. package/dist/esm/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js.map +0 -1
  256. package/dist/esm/naylence/fame/stickiness/aft-replica-stickiness-manager.js +0 -203
  257. package/dist/esm/naylence/fame/stickiness/aft-replica-stickiness-manager.js.map +0 -1
  258. package/dist/esm/naylence/fame/stickiness/aft-signer.js +0 -147
  259. package/dist/esm/naylence/fame/stickiness/aft-signer.js.map +0 -1
  260. package/dist/esm/naylence/fame/stickiness/aft-utils.js +0 -90
  261. package/dist/esm/naylence/fame/stickiness/aft-utils.js.map +0 -1
  262. package/dist/esm/naylence/fame/stickiness/aft-verifier.js +0 -290
  263. package/dist/esm/naylence/fame/stickiness/aft-verifier.js.map +0 -1
  264. package/dist/esm/naylence/fame/stickiness/index.js +0 -11
  265. package/dist/esm/naylence/fame/stickiness/index.js.map +0 -1
  266. package/dist/esm/naylence/fame/stickiness/stickiness-mode.js +0 -24
  267. package/dist/esm/naylence/fame/stickiness/stickiness-mode.js.map +0 -1
  268. package/dist/esm/naylence/fame/welcome/advanced-welcome-service-factory.js +0 -93
  269. package/dist/esm/naylence/fame/welcome/advanced-welcome-service-factory.js.map +0 -1
  270. package/dist/esm/naylence/fame/welcome/advanced-welcome-service.js +0 -212
  271. package/dist/esm/naylence/fame/welcome/advanced-welcome-service.js.map +0 -1
  272. package/dist/esm/naylence/fame/welcome/index.js +0 -3
  273. package/dist/esm/naylence/fame/welcome/index.js.map +0 -1
  274. package/dist/esm/node.js +0 -11
  275. package/dist/esm/node.js.map +0 -1
  276. package/dist/esm/plugin.js +0 -39
  277. package/dist/esm/plugin.js.map +0 -1
  278. package/dist/esm/version.js +0 -8
  279. package/dist/esm/version.js.map +0 -1
  280. package/dist/node/index.cjs +0 -9855
  281. package/dist/node/index.mjs +0 -9800
  282. package/dist/node/node.cjs +0 -10139
  283. package/dist/node/node.mjs +0 -10046
  284. package/dist/types/advanced-security-isomorphic.d.ts +0 -24
  285. package/dist/types/advanced-security-isomorphic.d.ts.map +0 -1
  286. package/dist/types/browser.d.ts +0 -19
  287. package/dist/types/browser.d.ts.map +0 -1
  288. package/dist/types/index.d.ts +0 -2
  289. package/dist/types/index.d.ts.map +0 -1
  290. package/dist/types/install-env.d.ts +0 -3
  291. package/dist/types/install-env.d.ts.map +0 -1
  292. package/dist/types/naylence/fame/factory-manifest.d.ts +0 -11
  293. package/dist/types/naylence/fame/factory-manifest.d.ts.map +0 -1
  294. package/dist/types/naylence/fame/security/cert/browser-csr.d.ts +0 -9
  295. package/dist/types/naylence/fame/security/cert/browser-csr.d.ts.map +0 -1
  296. package/dist/types/naylence/fame/security/cert/ca-server-cli.d.ts +0 -3
  297. package/dist/types/naylence/fame/security/cert/ca-server-cli.d.ts.map +0 -1
  298. package/dist/types/naylence/fame/security/cert/ca-server.d.ts +0 -19
  299. package/dist/types/naylence/fame/security/cert/ca-server.d.ts.map +0 -1
  300. package/dist/types/naylence/fame/security/cert/ca-service-client.d.ts +0 -75
  301. package/dist/types/naylence/fame/security/cert/ca-service-client.d.ts.map +0 -1
  302. package/dist/types/naylence/fame/security/cert/ca-service-factory.d.ts +0 -43
  303. package/dist/types/naylence/fame/security/cert/ca-service-factory.d.ts.map +0 -1
  304. package/dist/types/naylence/fame/security/cert/ca-types.d.ts +0 -129
  305. package/dist/types/naylence/fame/security/cert/ca-types.d.ts.map +0 -1
  306. package/dist/types/naylence/fame/security/cert/csr-types.d.ts +0 -5
  307. package/dist/types/naylence/fame/security/cert/csr-types.d.ts.map +0 -1
  308. package/dist/types/naylence/fame/security/cert/default-ca-service-factory.d.ts +0 -55
  309. package/dist/types/naylence/fame/security/cert/default-ca-service-factory.d.ts.map +0 -1
  310. package/dist/types/naylence/fame/security/cert/default-ca-service.d.ts +0 -85
  311. package/dist/types/naylence/fame/security/cert/default-ca-service.d.ts.map +0 -1
  312. package/dist/types/naylence/fame/security/cert/default-certificate-manager-factory.d.ts +0 -25
  313. package/dist/types/naylence/fame/security/cert/default-certificate-manager-factory.d.ts.map +0 -1
  314. package/dist/types/naylence/fame/security/cert/default-certificate-manager.d.ts +0 -70
  315. package/dist/types/naylence/fame/security/cert/default-certificate-manager.d.ts.map +0 -1
  316. package/dist/types/naylence/fame/security/cert/grants.d.ts +0 -2
  317. package/dist/types/naylence/fame/security/cert/grants.d.ts.map +0 -1
  318. package/dist/types/naylence/fame/security/cert/index.d.ts +0 -19
  319. package/dist/types/naylence/fame/security/cert/index.d.ts.map +0 -1
  320. package/dist/types/naylence/fame/security/cert/internal-ca-service.d.ts +0 -129
  321. package/dist/types/naylence/fame/security/cert/internal-ca-service.d.ts.map +0 -1
  322. package/dist/types/naylence/fame/security/cert/node-ed25519-csr.d.ts +0 -9
  323. package/dist/types/naylence/fame/security/cert/node-ed25519-csr.d.ts.map +0 -1
  324. package/dist/types/naylence/fame/security/cert/oid-constants.d.ts +0 -7
  325. package/dist/types/naylence/fame/security/cert/oid-constants.d.ts.map +0 -1
  326. package/dist/types/naylence/fame/security/cert/trust-store/anchor-utils.d.ts +0 -12
  327. package/dist/types/naylence/fame/security/cert/trust-store/anchor-utils.d.ts.map +0 -1
  328. package/dist/types/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.d.ts +0 -29
  329. package/dist/types/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.d.ts.map +0 -1
  330. package/dist/types/naylence/fame/security/cert/trust-store/env-provider.d.ts +0 -7
  331. package/dist/types/naylence/fame/security/cert/trust-store/env-provider.d.ts.map +0 -1
  332. package/dist/types/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.d.ts +0 -9
  333. package/dist/types/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.d.ts.map +0 -1
  334. package/dist/types/naylence/fame/security/cert/trust-store/http-bundle-provider.d.ts +0 -35
  335. package/dist/types/naylence/fame/security/cert/trust-store/http-bundle-provider.d.ts.map +0 -1
  336. package/dist/types/naylence/fame/security/cert/trust-store/http-signed-bundle-provider.d.ts +0 -2
  337. package/dist/types/naylence/fame/security/cert/trust-store/http-signed-bundle-provider.d.ts.map +0 -1
  338. package/dist/types/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.d.ts +0 -23
  339. package/dist/types/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.d.ts.map +0 -1
  340. package/dist/types/naylence/fame/security/cert/trust-store/static-bundle-provider.d.ts +0 -15
  341. package/dist/types/naylence/fame/security/cert/trust-store/static-bundle-provider.d.ts.map +0 -1
  342. package/dist/types/naylence/fame/security/cert/trust-store/trust-store-provider-factory.d.ts +0 -28
  343. package/dist/types/naylence/fame/security/cert/trust-store/trust-store-provider-factory.d.ts.map +0 -1
  344. package/dist/types/naylence/fame/security/cert/trust-store/trust-store-provider.d.ts +0 -43
  345. package/dist/types/naylence/fame/security/cert/trust-store/trust-store-provider.d.ts.map +0 -1
  346. package/dist/types/naylence/fame/security/cert/util.d.ts +0 -25
  347. package/dist/types/naylence/fame/security/cert/util.d.ts.map +0 -1
  348. package/dist/types/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.d.ts +0 -29
  349. package/dist/types/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.d.ts.map +0 -1
  350. package/dist/types/naylence/fame/security/encryption/channel/channel-encryption-manager.d.ts +0 -51
  351. package/dist/types/naylence/fame/security/encryption/channel/channel-encryption-manager.d.ts.map +0 -1
  352. package/dist/types/naylence/fame/security/encryption/channel/index.d.ts +0 -3
  353. package/dist/types/naylence/fame/security/encryption/channel/index.d.ts.map +0 -1
  354. package/dist/types/naylence/fame/security/encryption/composite-encryption-manager-factory.d.ts +0 -32
  355. package/dist/types/naylence/fame/security/encryption/composite-encryption-manager-factory.d.ts.map +0 -1
  356. package/dist/types/naylence/fame/security/encryption/composite-encryption-manager.d.ts +0 -52
  357. package/dist/types/naylence/fame/security/encryption/composite-encryption-manager.d.ts.map +0 -1
  358. package/dist/types/naylence/fame/security/encryption/default-secure-channel-manager-factory.d.ts +0 -23
  359. package/dist/types/naylence/fame/security/encryption/default-secure-channel-manager-factory.d.ts.map +0 -1
  360. package/dist/types/naylence/fame/security/encryption/default-secure-channel-manager.d.ts +0 -37
  361. package/dist/types/naylence/fame/security/encryption/default-secure-channel-manager.d.ts.map +0 -1
  362. package/dist/types/naylence/fame/security/encryption/encryption-manager-registry.d.ts +0 -34
  363. package/dist/types/naylence/fame/security/encryption/encryption-manager-registry.d.ts.map +0 -1
  364. package/dist/types/naylence/fame/security/encryption/index.d.ts +0 -7
  365. package/dist/types/naylence/fame/security/encryption/index.d.ts.map +0 -1
  366. package/dist/types/naylence/fame/security/encryption/sealed/index.d.ts +0 -3
  367. package/dist/types/naylence/fame/security/encryption/sealed/index.d.ts.map +0 -1
  368. package/dist/types/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.d.ts +0 -28
  369. package/dist/types/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.d.ts.map +0 -1
  370. package/dist/types/naylence/fame/security/encryption/sealed/x25519-encryption-manager.d.ts +0 -43
  371. package/dist/types/naylence/fame/security/encryption/sealed/x25519-encryption-manager.d.ts.map +0 -1
  372. package/dist/types/naylence/fame/security/index.d.ts +0 -6
  373. package/dist/types/naylence/fame/security/index.d.ts.map +0 -1
  374. package/dist/types/naylence/fame/security/keys/index.d.ts +0 -3
  375. package/dist/types/naylence/fame/security/keys/index.d.ts.map +0 -1
  376. package/dist/types/naylence/fame/security/keys/x5c-key-manager-factory.d.ts +0 -19
  377. package/dist/types/naylence/fame/security/keys/x5c-key-manager-factory.d.ts.map +0 -1
  378. package/dist/types/naylence/fame/security/keys/x5c-key-manager.d.ts +0 -39
  379. package/dist/types/naylence/fame/security/keys/x5c-key-manager.d.ts.map +0 -1
  380. package/dist/types/naylence/fame/security/register-advanced-security-factories.d.ts +0 -8
  381. package/dist/types/naylence/fame/security/register-advanced-security-factories.d.ts.map +0 -1
  382. package/dist/types/naylence/fame/security/signing/eddsa-envelope-signer-factory.d.ts +0 -20
  383. package/dist/types/naylence/fame/security/signing/eddsa-envelope-signer-factory.d.ts.map +0 -1
  384. package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier-factory.d.ts +0 -21
  385. package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier-factory.d.ts.map +0 -1
  386. package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier.d.ts +0 -22
  387. package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier.d.ts.map +0 -1
  388. package/dist/types/naylence/fame/stickiness/aft-helper.d.ts +0 -29
  389. package/dist/types/naylence/fame/stickiness/aft-helper.d.ts.map +0 -1
  390. package/dist/types/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.d.ts +0 -25
  391. package/dist/types/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.d.ts.map +0 -1
  392. package/dist/types/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.d.ts +0 -33
  393. package/dist/types/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.d.ts.map +0 -1
  394. package/dist/types/naylence/fame/stickiness/aft-model.d.ts +0 -33
  395. package/dist/types/naylence/fame/stickiness/aft-model.d.ts.map +0 -1
  396. package/dist/types/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.d.ts +0 -23
  397. package/dist/types/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.d.ts.map +0 -1
  398. package/dist/types/naylence/fame/stickiness/aft-replica-stickiness-manager.d.ts +0 -31
  399. package/dist/types/naylence/fame/stickiness/aft-replica-stickiness-manager.d.ts.map +0 -1
  400. package/dist/types/naylence/fame/stickiness/aft-signer.d.ts +0 -55
  401. package/dist/types/naylence/fame/stickiness/aft-signer.d.ts.map +0 -1
  402. package/dist/types/naylence/fame/stickiness/aft-utils.d.ts +0 -4
  403. package/dist/types/naylence/fame/stickiness/aft-utils.d.ts.map +0 -1
  404. package/dist/types/naylence/fame/stickiness/aft-verifier.d.ts +0 -50
  405. package/dist/types/naylence/fame/stickiness/aft-verifier.d.ts.map +0 -1
  406. package/dist/types/naylence/fame/stickiness/index.d.ts +0 -15
  407. package/dist/types/naylence/fame/stickiness/index.d.ts.map +0 -1
  408. package/dist/types/naylence/fame/stickiness/stickiness-mode.d.ts +0 -7
  409. package/dist/types/naylence/fame/stickiness/stickiness-mode.d.ts.map +0 -1
  410. package/dist/types/naylence/fame/welcome/advanced-welcome-service-factory.d.ts +0 -21
  411. package/dist/types/naylence/fame/welcome/advanced-welcome-service-factory.d.ts.map +0 -1
  412. package/dist/types/naylence/fame/welcome/advanced-welcome-service.d.ts +0 -21
  413. package/dist/types/naylence/fame/welcome/advanced-welcome-service.d.ts.map +0 -1
  414. package/dist/types/naylence/fame/welcome/index.d.ts +0 -3
  415. package/dist/types/naylence/fame/welcome/index.d.ts.map +0 -1
  416. package/dist/types/node.d.ts +0 -11
  417. package/dist/types/node.d.ts.map +0 -1
  418. package/dist/types/plugin.d.ts +0 -11
  419. package/dist/types/plugin.d.ts.map +0 -1
  420. package/dist/types/version.d.ts +0 -6
  421. package/dist/types/version.d.ts.map +0 -1
@@ -1,497 +0,0 @@
1
- import { sha256 } from "@noble/hashes/sha2.js";
2
- import { anchorsToPem, computeSpkiSha256, normalizePem, pemChainToAnchors, toBase64Url, withComputedSpki, } from "./anchor-utils.js";
3
- const DEFAULT_REFRESH_INTERVAL_MS = 86400000; // 24 hours
4
- const MIN_REFRESH_INTERVAL_MS = 60000; // 1 minute
5
- const consoleLogger = {
6
- debug: (...args) => {
7
- if (!isProductionEnvironment()) {
8
- console.debug("[trust-bundle]", ...args);
9
- }
10
- },
11
- warn: (...args) => {
12
- console.warn("[trust-bundle]", ...args);
13
- },
14
- };
15
- function isTruthyFlag(value) {
16
- if (typeof value === "boolean") {
17
- return value;
18
- }
19
- if (typeof value === "string") {
20
- const normalized = value.trim().toLowerCase();
21
- if (!normalized) {
22
- return false;
23
- }
24
- return normalized !== "false" && normalized !== "0";
25
- }
26
- return false;
27
- }
28
- function isCacheDisabled() {
29
- if (isNodeEnvironment() && typeof process !== "undefined") {
30
- const flag = process.env?.NAYLENCE_TRUST_BUNDLE_DISABLE_CACHE;
31
- if (flag !== undefined) {
32
- return isTruthyFlag(flag);
33
- }
34
- }
35
- if (typeof globalThis !== "undefined") {
36
- const globalFlag = globalThis.NAYLENCE_TRUST_BUNDLE_DISABLE_CACHE;
37
- if (globalFlag !== undefined) {
38
- return isTruthyFlag(globalFlag);
39
- }
40
- }
41
- return false;
42
- }
43
- export class HttpBundleProvider {
44
- constructor(options) {
45
- this.lastFetched = 0;
46
- this.etag = null;
47
- this.lastKnownHash = null;
48
- this.version = null;
49
- this.anchors = null;
50
- this.inflight = null;
51
- this.listeners = new Set();
52
- this.initialized = false;
53
- this.pemChain = null;
54
- if (!options.url) {
55
- throw new Error("HTTP trust bundle requires a URL");
56
- }
57
- const parsed = new URL(options.url);
58
- const allowInsecureEnv = isTruthyFlag(getGlobalFlag("FAME_TRUST_BUNDLE_ALLOW_HTTP"));
59
- const allowInsecureOption = options.allowInsecureHttp === true;
60
- this.allowInsecureHttp = allowInsecureEnv || allowInsecureOption;
61
- if (parsed.protocol !== "https:") {
62
- const isLoopbackHost = isLoopbackHostname(parsed.hostname);
63
- const devMode = !isProductionEnvironment();
64
- if (!(this.allowInsecureHttp && devMode && isLoopbackHost)) {
65
- throw new Error("Trust bundle URL must use HTTPS (set allowInsecureHttp or FAME_TRUST_BUNDLE_ALLOW_HTTP for dev-only http)");
66
- }
67
- consoleLogger.warn("Allowing insecure trust bundle URL", {
68
- url: parsed.toString(),
69
- devMode,
70
- isLoopbackHost,
71
- });
72
- }
73
- this.url = parsed;
74
- this.refreshIntervalMs = normalizeRefreshInterval(options.refreshIntervalMs);
75
- this.hashPins = normalizeHashPins(options.hashPins);
76
- this.allowedSpkis = normalizeAllowedSpkis(options.allowedSpkis);
77
- this.allowTofu = options.allowTofu === true;
78
- this.enforceBrowserPins = options.enforcePinsInBrowser !== false;
79
- this.cacheKey =
80
- options.cacheKey ?? computeCacheKey(`${parsed.origin}${parsed.pathname}`);
81
- if (isBrowserEnvironment() && !this.allowTofu && this.enforceBrowserPins) {
82
- if (this.hashPins.length === 0 && this.allowedSpkis.length === 0) {
83
- throw new Error("Browser environments require hash pin, SPKI allowlist, or TOFU");
84
- }
85
- }
86
- }
87
- async getRoots() {
88
- if (!this.initialized) {
89
- await this.initialize();
90
- }
91
- if (this.inflight) {
92
- return this.inflight;
93
- }
94
- const now = Date.now();
95
- const stale = now - this.lastFetched >= this.refreshIntervalMs;
96
- if (stale || !this.anchors) {
97
- this.inflight = this.fetchLatest()
98
- .catch((error) => {
99
- consoleLogger.warn("Trust bundle refresh failed", error);
100
- if (this.anchors) {
101
- return this.anchors;
102
- }
103
- throw error;
104
- })
105
- .finally(() => {
106
- this.inflight = null;
107
- });
108
- return this.inflight;
109
- }
110
- return this.anchors;
111
- }
112
- async getTrustStorePem() {
113
- const anchors = await this.getRoots();
114
- if (!anchors || anchors.length === 0) {
115
- throw new Error("Trust bundle does not contain any certificates");
116
- }
117
- if (!this.pemChain || this.pemChain.trim().length === 0) {
118
- this.pemChain = anchorsToPem(anchors);
119
- }
120
- if (!this.pemChain) {
121
- throw new Error("Trust bundle PEM resolution failed");
122
- }
123
- return this.pemChain;
124
- }
125
- onUpdate(callback) {
126
- this.listeners.add(callback);
127
- return () => {
128
- this.listeners.delete(callback);
129
- };
130
- }
131
- async initialize() {
132
- if (this.initialized) {
133
- return;
134
- }
135
- try {
136
- const cached = await loadCache(this.cacheKey);
137
- if (cached) {
138
- this.applyCachedEntry(cached);
139
- consoleLogger.debug("Loaded trust bundle from cache", {
140
- url: this.url.href,
141
- anchorCount: cached.anchors.length,
142
- });
143
- }
144
- }
145
- catch (error) {
146
- consoleLogger.warn("Failed to load cached trust bundle", error);
147
- }
148
- this.initialized = true;
149
- }
150
- applyCachedEntry(entry) {
151
- this.anchors = withComputedSpki(entry.anchors);
152
- this.etag = entry.etag;
153
- this.lastFetched = entry.fetchedAt;
154
- this.lastKnownHash = entry.hash;
155
- this.version = entry.version;
156
- this.pemChain = this.anchors ? anchorsToPem(this.anchors) : null;
157
- }
158
- async fetchLatest() {
159
- const headers = {
160
- "Accept": "application/json, application/pem-certificate-chain, text/plain",
161
- };
162
- if (this.etag) {
163
- headers["If-None-Match"] = this.etag;
164
- }
165
- const response = await fetch(this.url, {
166
- method: "GET",
167
- headers,
168
- cache: "no-store",
169
- });
170
- if (response.status === 304 && this.anchors) {
171
- this.lastFetched = Date.now();
172
- return this.anchors;
173
- }
174
- if (!response.ok) {
175
- throw new Error(`Failed to download trust bundle: ${response.status} ${response.statusText}`);
176
- }
177
- const arrayBuffer = await response.arrayBuffer();
178
- const payload = new Uint8Array(arrayBuffer);
179
- const hash = computeHash(payload);
180
- const pins = this.hashPins.length > 0 ? this.hashPins : null;
181
- if (pins && !pins.includes(hash)) {
182
- throw new Error("Trust bundle hash mismatch");
183
- }
184
- let expectedHash = pins ? hash : null;
185
- if (!pins) {
186
- if (this.lastKnownHash) {
187
- if (this.lastKnownHash !== hash) {
188
- throw new Error("Trust bundle hash changed without pin");
189
- }
190
- expectedHash = hash;
191
- }
192
- else if (this.allowTofu) {
193
- expectedHash = hash;
194
- }
195
- else if (isBrowserEnvironment() && this.enforceBrowserPins) {
196
- throw new Error("Browser download without pins or TOFU is blocked");
197
- }
198
- }
199
- const bundle = parseBundlePayload(payload, this.url.href);
200
- if (bundle.version !== null && this.version !== null) {
201
- if (bundle.version < this.version) {
202
- throw new Error("Trust bundle downgrade detected");
203
- }
204
- }
205
- if (this.allowedSpkis.length > 0) {
206
- enforceSpkiAllowlist(bundle.anchors, this.allowedSpkis);
207
- }
208
- const etagHeader = response.headers.get("etag");
209
- this.anchors = withComputedSpki(bundle.anchors);
210
- this.etag = etagHeader;
211
- this.lastFetched = Date.now();
212
- this.lastKnownHash = expectedHash;
213
- this.version = bundle.version;
214
- this.pemChain = anchorsToPem(this.anchors);
215
- const cacheEntry = {
216
- anchors: this.anchors,
217
- etag: this.etag,
218
- fetchedAt: this.lastFetched,
219
- hash: this.lastKnownHash,
220
- version: this.version,
221
- };
222
- await saveCache(this.cacheKey, cacheEntry);
223
- this.notifyListeners();
224
- return this.anchors;
225
- }
226
- notifyListeners() {
227
- for (const callback of this.listeners) {
228
- try {
229
- callback();
230
- }
231
- catch (error) {
232
- consoleLogger.warn("Trust bundle listener failed", error);
233
- }
234
- }
235
- }
236
- }
237
- function getGlobalFlag(name) {
238
- if (typeof process !== "undefined" && process.env) {
239
- const envValue = process.env[name];
240
- if (envValue !== undefined) {
241
- return envValue;
242
- }
243
- }
244
- if (typeof globalThis !== "undefined") {
245
- return globalThis[name];
246
- }
247
- return undefined;
248
- }
249
- function isLoopbackHostname(hostname) {
250
- if (hostname === "localhost" || hostname === "[::1]") {
251
- return true;
252
- }
253
- if (/^127(?:\.\d{1,3}){3}$/.test(hostname)) {
254
- return true;
255
- }
256
- return false;
257
- }
258
- function parseBundlePayload(payload, sourceUrl) {
259
- const text = bytesToUtf8(payload);
260
- const trimmed = text.trim();
261
- if (trimmed.startsWith("{")) {
262
- const parsed = JSON.parse(trimmed);
263
- const version = typeof parsed.version === "number" ? parsed.version : null;
264
- const roots = Array.isArray(parsed.roots) ? parsed.roots : [];
265
- const anchors = roots
266
- .map((root) => {
267
- const record = root;
268
- const pem = normalizePem(String(record.pem ?? ""));
269
- if (!pem) {
270
- return null;
271
- }
272
- const anchor = {
273
- pem,
274
- ...(typeof record.kid === "string" ? { kid: record.kid } : {}),
275
- ...(typeof record.validUntil === "string"
276
- ? { notAfter: record.validUntil }
277
- : {}),
278
- ...(typeof record.notBefore === "string"
279
- ? { notBefore: record.notBefore }
280
- : {}),
281
- };
282
- return anchor;
283
- })
284
- .filter((anchor) => anchor !== null);
285
- if (anchors.length === 0) {
286
- throw new Error("Trust bundle JSON does not contain any roots");
287
- }
288
- return { anchors, version };
289
- }
290
- if (trimmed.includes("-----BEGIN")) {
291
- return { anchors: pemChainToAnchors(trimmed), version: null };
292
- }
293
- throw new Error(`Unsupported trust bundle format from ${sourceUrl}`);
294
- }
295
- function enforceSpkiAllowlist(anchors, allowlist) {
296
- const missing = [];
297
- for (const anchor of anchors) {
298
- const spki = anchor.spkiSha256 ?? computeSpkiSha256(anchor.pem);
299
- if (!spki || !allowlist.includes(spki)) {
300
- missing.push(anchor.kid ?? spki ?? "unknown");
301
- }
302
- }
303
- if (missing.length > 0) {
304
- throw new Error(`Trust bundle contains roots not present in SPKI allowlist: ${missing.join(",")}`);
305
- }
306
- }
307
- function normalizeHashPins(pins) {
308
- if (!pins || pins.length === 0) {
309
- return [];
310
- }
311
- return pins
312
- .map((pin) => pin.trim())
313
- .filter((pin) => pin.length > 0)
314
- .map((pin) => {
315
- if (/^[0-9a-fA-F]{64}$/u.test(pin)) {
316
- return hexToBase64Url(pin);
317
- }
318
- return pin;
319
- });
320
- }
321
- function normalizeAllowedSpkis(entries) {
322
- if (!entries || entries.length === 0) {
323
- return [];
324
- }
325
- return entries.map((entry) => entry.trim()).filter((entry) => entry.length);
326
- }
327
- function normalizeRefreshInterval(value) {
328
- if (typeof value !== "number" || Number.isNaN(value) || value <= 0) {
329
- return DEFAULT_REFRESH_INTERVAL_MS;
330
- }
331
- return Math.max(MIN_REFRESH_INTERVAL_MS, Math.floor(value));
332
- }
333
- function computeHash(payload) {
334
- const digest = sha256(payload);
335
- return toBase64Url(digest);
336
- }
337
- function hexToBase64Url(hex) {
338
- const bytes = new Uint8Array(hex.length / 2);
339
- for (let index = 0; index < bytes.length; index += 1) {
340
- bytes[index] = parseInt(hex.slice(index * 2, index * 2 + 2), 16);
341
- }
342
- return toBase64Url(bytes);
343
- }
344
- function bytesToUtf8(data) {
345
- if (typeof TextDecoder !== "undefined") {
346
- return new TextDecoder().decode(data);
347
- }
348
- if (typeof Buffer !== "undefined") {
349
- return Buffer.from(data).toString("utf8");
350
- }
351
- return String.fromCharCode(...Array.from(data));
352
- }
353
- function computeCacheKey(value) {
354
- const digest = sha256(new TextEncoder().encode(value));
355
- return Array.from(digest)
356
- .map((byte) => byte.toString(16).padStart(2, "0"))
357
- .join("");
358
- }
359
- async function loadCache(key) {
360
- if (isCacheDisabled()) {
361
- return null;
362
- }
363
- if (isNodeEnvironment()) {
364
- return loadCacheFromFile(key);
365
- }
366
- return loadCacheFromBrowser(key);
367
- }
368
- async function saveCache(key, entry) {
369
- if (isCacheDisabled()) {
370
- return;
371
- }
372
- if (isNodeEnvironment()) {
373
- await saveCacheToFile(key, entry);
374
- }
375
- else {
376
- await saveCacheToBrowser(key, entry);
377
- }
378
- }
379
- async function loadCacheFromFile(key) {
380
- try {
381
- const { default: path } = await import("node:path");
382
- const fs = await import("node:fs/promises");
383
- const os = await import("node:os");
384
- const dir = path.join(os.homedir(), ".naylence", "trust-bundles");
385
- const filePath = path.join(dir, `${key}.json`);
386
- const content = await fs.readFile(filePath, "utf8");
387
- const parsed = JSON.parse(content);
388
- return parsed;
389
- }
390
- catch (error) {
391
- if (error?.code === "ENOENT") {
392
- return null;
393
- }
394
- throw error;
395
- }
396
- }
397
- async function saveCacheToFile(key, entry) {
398
- const { default: path } = await import("node:path");
399
- const fs = await import("node:fs/promises");
400
- const os = await import("node:os");
401
- const dir = path.join(os.homedir(), ".naylence", "trust-bundles");
402
- await fs.mkdir(dir, { recursive: true });
403
- const filePath = path.join(dir, `${key}.json`);
404
- const payload = JSON.stringify(entry, null, 2);
405
- await fs.writeFile(filePath, payload, "utf8");
406
- }
407
- const BROWSER_CACHE_NAMESPACE = "naylence.trustBundles";
408
- async function loadCacheFromBrowser(key) {
409
- const store = await openBrowserStore();
410
- if (!store) {
411
- return null;
412
- }
413
- return store.get(key);
414
- }
415
- async function saveCacheToBrowser(key, entry) {
416
- const store = await openBrowserStore();
417
- if (!store) {
418
- return;
419
- }
420
- await store.set(key, entry);
421
- }
422
- async function openBrowserStore() {
423
- if (typeof indexedDB !== "undefined") {
424
- return openIndexedDbStore();
425
- }
426
- if (typeof localStorage !== "undefined") {
427
- return {
428
- async get(key) {
429
- const payload = localStorage.getItem(`${BROWSER_CACHE_NAMESPACE}:${key}`);
430
- if (!payload) {
431
- return null;
432
- }
433
- return JSON.parse(payload);
434
- },
435
- async set(key, value) {
436
- localStorage.setItem(`${BROWSER_CACHE_NAMESPACE}:${key}`, JSON.stringify(value));
437
- },
438
- };
439
- }
440
- return null;
441
- }
442
- async function openIndexedDbStore() {
443
- return new Promise((resolve) => {
444
- const request = indexedDB.open("naylence_trust_bundles", 1);
445
- request.onupgradeneeded = () => {
446
- const db = request.result;
447
- if (!db.objectStoreNames.contains("bundles")) {
448
- db.createObjectStore("bundles");
449
- }
450
- };
451
- request.onsuccess = () => {
452
- const db = request.result;
453
- resolve({
454
- get: (key) => new Promise((storeResolve, storeReject) => {
455
- const transaction = db.transaction("bundles", "readonly");
456
- const store = transaction.objectStore("bundles");
457
- const getRequest = store.get(key);
458
- getRequest.onsuccess = () => {
459
- storeResolve(getRequest.result ?? null);
460
- };
461
- getRequest.onerror = () => {
462
- storeReject(getRequest.error ?? new Error("IndexedDB get failed"));
463
- };
464
- }),
465
- set: (key, value) => new Promise((storeResolve, storeReject) => {
466
- const transaction = db.transaction("bundles", "readwrite");
467
- const store = transaction.objectStore("bundles");
468
- const putRequest = store.put(value, key);
469
- putRequest.onsuccess = () => {
470
- storeResolve();
471
- };
472
- putRequest.onerror = () => {
473
- storeReject(putRequest.error ?? new Error("IndexedDB put failed"));
474
- };
475
- }),
476
- });
477
- };
478
- request.onerror = () => {
479
- consoleLogger.warn("IndexedDB unavailable for trust bundle caching", request.error);
480
- resolve(null);
481
- };
482
- });
483
- }
484
- function isBrowserEnvironment() {
485
- return typeof window !== "undefined" && typeof window.document !== "undefined";
486
- }
487
- function isNodeEnvironment() {
488
- return (typeof process !== "undefined" &&
489
- typeof process.versions !== "undefined" &&
490
- typeof process.versions.node === "string");
491
- }
492
- function isProductionEnvironment() {
493
- return (typeof process !== "undefined" &&
494
- typeof process.env !== "undefined" &&
495
- process.env.NODE_ENV === "production");
496
- }
497
- //# sourceMappingURL=http-bundle-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-bundle-provider.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/cert/trust-store/http-bundle-provider.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export { HttpBundleProvider } from "./http-bundle-provider.js";
2
- //# sourceMappingURL=http-signed-bundle-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-signed-bundle-provider.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/cert/trust-store/http-signed-bundle-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -1,61 +0,0 @@
1
- import { TRUST_STORE_PROVIDER_FACTORY_BASE_TYPE, TrustStoreProviderFactory, } from "./trust-store-provider-factory.js";
2
- import { createTrustStoreProviderFromEnv } from "./env-provider.js";
3
- export const FACTORY_META = {
4
- base: TRUST_STORE_PROVIDER_FACTORY_BASE_TYPE,
5
- key: "EnvTrustStoreProvider",
6
- isDefault: isNodeEnvironment(),
7
- priority: isNodeEnvironment() ? 100 : 0,
8
- };
9
- export class EnvTrustStoreProviderFactory extends TrustStoreProviderFactory {
10
- constructor() {
11
- super(...arguments);
12
- this.type = "EnvTrustStoreProvider";
13
- this.isDefault = FACTORY_META.isDefault;
14
- this.priority = FACTORY_META.priority;
15
- }
16
- async create(config, ...factoryArgs) {
17
- const normalizedConfig = this.normalizeConfig(config);
18
- const dependencies = this.extractDependencies(factoryArgs);
19
- const envOverride = normalizedConfig.env ?? dependencies?.env ?? null;
20
- const requirePinsInBrowser = normalizedConfig.requirePinsInBrowser ?? false;
21
- const provider = await createTrustStoreProviderFromEnv({
22
- env: envOverride ?? undefined,
23
- requirePinsInBrowser,
24
- });
25
- if (provider) {
26
- return provider;
27
- }
28
- return this.createUnconfiguredProvider("Trust store is not configured. For Node.js, set FAME_CA_CERTS to a PEM string, a file path, a data URI, or an HTTPS URL.");
29
- }
30
- normalizeConfig(config) {
31
- if (!config) {
32
- return {
33
- type: "EnvTrustStoreProvider",
34
- };
35
- }
36
- if (config.type === "EnvTrustStoreProvider") {
37
- return config;
38
- }
39
- return {
40
- ...config,
41
- type: "EnvTrustStoreProvider",
42
- };
43
- }
44
- extractDependencies(factoryArgs) {
45
- if (factoryArgs.length === 0) {
46
- return null;
47
- }
48
- const candidate = factoryArgs[0];
49
- if (candidate && typeof candidate === "object") {
50
- return candidate;
51
- }
52
- return null;
53
- }
54
- }
55
- function isNodeEnvironment() {
56
- return (typeof process !== "undefined" &&
57
- typeof process.versions !== "undefined" &&
58
- typeof process.versions.node === "string");
59
- }
60
- export default EnvTrustStoreProviderFactory;
61
- //# sourceMappingURL=node-trust-store-provider-factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node-trust-store-provider-factory.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sCAAsC,EACtC,yBAAyB,GAG1B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAQpE,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,sCAAsC;IAC5C,GAAG,EAAE,uBAAuB;IAC5B,SAAS,EAAE,iBAAiB,EAAE;IAC9B,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC/B,CAAC;AAEX,MAAM,OAAO,4BAA6B,SAAQ,yBAAsD;IAAxG;;QACkB,SAAI,GAAG,uBAAuB,CAAC;QAC/B,cAAS,GAAG,YAAY,CAAC,SAAS,CAAC;QACnC,aAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;IA2DnD,CAAC;IAzDQ,KAAK,CAAC,MAAM,CACjB,MAAqE,EACrE,GAAG,WAAsB;QAEzB,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAE3D,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,IAAI,YAAY,EAAE,GAAG,IAAI,IAAI,CAAC;QACtE,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,oBAAoB,IAAI,KAAK,CAAC;QAE5E,MAAM,QAAQ,GAAG,MAAM,+BAA+B,CAAC;YACrD,GAAG,EAAE,WAAW,IAAI,SAAS;YAC7B,oBAAoB;SACrB,CAAC,CAAC;QAEH,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,IAAI,CAAC,0BAA0B,CACpC,0HAA0H,CAC3H,CAAC;IACJ,CAAC;IAEO,eAAe,CACrB,MAAqE;QAErE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,IAAI,EAAE,uBAAuB;aAC9B,CAAC;QACJ,CAAC;QAED,IAAK,MAAsC,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YAC7E,OAAO,MAAqC,CAAC;QAC/C,CAAC;QAED,OAAO;YACL,GAAG,MAAM;YACT,IAAI,EAAE,uBAAuB;SACC,CAAC;IACnC,CAAC;IAEO,mBAAmB,CACzB,WAA+B;QAE/B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,SAA2C,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,SAAS,iBAAiB;IACxB,OAAO,CACL,OAAO,OAAO,KAAK,WAAW;QAC9B,OAAO,OAAO,CAAC,QAAQ,KAAK,WAAW;QACvC,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAC1C,CAAC;AACJ,CAAC;AAED,eAAe,4BAA4B,CAAC"}
@@ -1,44 +0,0 @@
1
- import { anchorsToPem, normalizePem, pemChainToAnchors, withComputedSpki, dataUriToPem, } from "./anchor-utils.js";
2
- export class StaticBundleProvider {
3
- constructor(anchors) {
4
- const normalized = Array.from(anchors).map((anchor) => ({
5
- ...anchor,
6
- pem: normalizePem(anchor.pem),
7
- }));
8
- this.anchors = withComputedSpki(normalized);
9
- this.pemChain = anchorsToPem(this.anchors);
10
- }
11
- async getRoots() {
12
- return this.anchors;
13
- }
14
- async getTrustStorePem() {
15
- if (!this.pemChain || this.pemChain.trim().length === 0) {
16
- throw new Error("Static trust bundle is empty");
17
- }
18
- return this.pemChain;
19
- }
20
- }
21
- export async function loadPemFromFile(path) {
22
- if (!isNodeEnvironment()) {
23
- throw new Error("File-based trust bundles are only supported in Node environments");
24
- }
25
- const fs = await import("node:fs/promises");
26
- const contents = await fs.readFile(path, "utf8");
27
- return normalizePem(contents);
28
- }
29
- export function createProviderFromPem(pem) {
30
- return new StaticBundleProvider(pemChainToAnchors(pem));
31
- }
32
- export function createProviderFromDataUri(dataUri) {
33
- const pem = dataUriToPem(dataUri);
34
- if (!pem) {
35
- throw new Error("Invalid data URI for trust bundle");
36
- }
37
- return createProviderFromPem(pem);
38
- }
39
- function isNodeEnvironment() {
40
- return (typeof process !== "undefined" &&
41
- typeof process.versions !== "undefined" &&
42
- typeof process.versions.node === "string");
43
- }
44
- //# sourceMappingURL=static-bundle-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"static-bundle-provider.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/cert/trust-store/static-bundle-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAO3B,MAAM,OAAO,oBAAoB;IAI/B,YAAmB,OAA8B;QAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACtD,GAAG,MAAM;YACT,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC;SAC9B,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,QAAQ;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,gBAAgB;QAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY;IAChD,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,OAAO,IAAI,oBAAoB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO,CACL,OAAO,OAAO,KAAK,WAAW;QAC9B,OAAO,OAAO,CAAC,QAAQ,KAAK,WAAW;QACvC,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAC1C,CAAC;AACJ,CAAC"}