@peculiar/certificates-viewer 4.3.1 → 4.4.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 (501) hide show
  1. package/components/actions.js +1 -0
  2. package/components/actions.js.map +1 -1
  3. package/components/arrow_top.js +1 -0
  4. package/components/arrow_top.js.map +1 -1
  5. package/components/attribute-certificate-viewer.js +23 -22
  6. package/components/attribute-certificate-viewer.js.map +1 -1
  7. package/components/attribute.js +4 -3
  8. package/components/attribute.js.map +1 -1
  9. package/components/button-menu.js +4 -4
  10. package/components/button-menu.js.map +1 -1
  11. package/components/button.js +1 -0
  12. package/components/button.js.map +1 -1
  13. package/components/certificate-chain-viewer.js +64 -0
  14. package/components/certificate-chain-viewer.js.map +1 -0
  15. package/components/certificate-viewer.js +21 -21
  16. package/components/certificate-viewer.js.map +1 -1
  17. package/components/circular-progress.js +12 -6
  18. package/components/circular-progress.js.map +1 -1
  19. package/components/crl-viewer.js +22 -20
  20. package/components/crl-viewer.js.map +1 -1
  21. package/components/cross.js +1 -0
  22. package/components/cross.js.map +1 -1
  23. package/components/csr-viewer.js +13 -10
  24. package/components/csr-viewer.js.map +1 -1
  25. package/components/download.js +1096 -1598
  26. package/components/download.js.map +1 -1
  27. package/components/highlight-words.js +3 -4
  28. package/components/highlight-words.js.map +1 -1
  29. package/components/index.js +1 -0
  30. package/components/index2.js +4 -3
  31. package/components/index2.js.map +1 -1
  32. package/components/issuer_name.js +2 -1
  33. package/components/issuer_name.js.map +1 -1
  34. package/components/miscellaneous.js +21 -20
  35. package/components/miscellaneous.js.map +1 -1
  36. package/components/peculiar-attribute-certificate-viewer.js +1 -0
  37. package/components/peculiar-button-menu.js +1 -0
  38. package/components/peculiar-certificate-chain-viewer.d.ts +11 -0
  39. package/components/peculiar-certificate-chain-viewer.js +12 -0
  40. package/components/peculiar-certificate-chain-viewer.js.map +1 -0
  41. package/components/peculiar-certificate-decoder.js +106 -23
  42. package/components/peculiar-certificate-decoder.js.map +1 -1
  43. package/components/peculiar-certificate-viewer.js +1 -0
  44. package/components/peculiar-certificates-viewer.js +35 -14
  45. package/components/peculiar-certificates-viewer.js.map +1 -1
  46. package/components/peculiar-circular-progress.js +1 -0
  47. package/components/peculiar-crl-viewer.js +1 -0
  48. package/components/peculiar-csr-viewer.js +1 -0
  49. package/components/peculiar-highlight-words.js +1 -0
  50. package/components/peculiar-text-hider.js +3 -3
  51. package/components/peculiar-text-hider.js.map +1 -1
  52. package/components/pkcs10_certificate_request.js +8 -7
  53. package/components/pkcs10_certificate_request.js.map +1 -1
  54. package/components/read_file.js +1 -0
  55. package/components/read_file.js.map +1 -1
  56. package/components/subject_name.js +4 -3
  57. package/components/subject_name.js.map +1 -1
  58. package/dist/cjs/{actions-789906f5.js → actions-Dl4HXXlI.js} +3 -2
  59. package/dist/cjs/actions-Dl4HXXlI.js.map +1 -0
  60. package/dist/cjs/{app-globals-c20ffa41.js → app-globals-BOZYdIuK.js} +2 -1
  61. package/dist/cjs/app-globals-BOZYdIuK.js.map +1 -0
  62. package/dist/cjs/{arrow_top-76e4261e.js → arrow_top-DBMPHVlB.js} +3 -2
  63. package/dist/cjs/arrow_top-DBMPHVlB.js.map +1 -0
  64. package/dist/cjs/{button-87086210.js → button-C5jDF-CZ.js} +3 -2
  65. package/dist/cjs/button-C5jDF-CZ.js.map +1 -0
  66. package/dist/cjs/{certification_request-ad267278.js → certification_request-Bipg1Az7.js} +1119 -1620
  67. package/dist/cjs/certification_request-Bipg1Az7.js.map +1 -0
  68. package/dist/cjs/{cross-bd099933.js → cross-pi7K0cHC.js} +3 -2
  69. package/dist/cjs/cross-pi7K0cHC.js.map +1 -0
  70. package/dist/cjs/{download-820d66ba.js → download-D9skkVoT.js} +3 -2
  71. package/dist/cjs/download-D9skkVoT.js.map +1 -0
  72. package/dist/cjs/index-BO3rFndV.js +2301 -0
  73. package/dist/cjs/index-BO3rFndV.js.map +1 -0
  74. package/dist/cjs/index.cjs.js +11 -12
  75. package/dist/cjs/index.cjs.js.map +1 -1
  76. package/dist/cjs/{link-a3d3799d.js → link-CwLq-Nge.js} +4 -3
  77. package/dist/cjs/link-CwLq-Nge.js.map +1 -0
  78. package/dist/cjs/loader.cjs.js +4 -5
  79. package/dist/cjs/loader.cjs.js.map +1 -1
  80. package/dist/cjs/{miscellaneous-67439e59.js → miscellaneous-C0sOAo-1.js} +25 -24
  81. package/dist/cjs/miscellaneous-C0sOAo-1.js.map +1 -0
  82. package/dist/cjs/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.cjs.js.map +1 -0
  83. package/dist/cjs/{peculiar-attribute-certificate-viewer_3.cjs.entry.js → peculiar-attribute-certificate-viewer_4.cjs.entry.js} +75 -45
  84. package/dist/cjs/peculiar-attribute-certificate-viewer_4.cjs.entry.js.map +1 -0
  85. package/dist/cjs/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.cjs.js.map +1 -0
  86. package/dist/cjs/peculiar-button-menu_3.cjs.entry.js +20 -19
  87. package/dist/cjs/peculiar-button-menu_3.cjs.entry.js.map +1 -1
  88. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +104 -29
  89. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js.map +1 -1
  90. package/dist/cjs/peculiar-certificate-decoder.entry.cjs.js.map +1 -0
  91. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +19 -21
  92. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js.map +1 -1
  93. package/dist/cjs/peculiar-certificate-viewer.entry.cjs.js.map +1 -0
  94. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +43 -24
  95. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js.map +1 -1
  96. package/dist/cjs/peculiar-certificates-viewer.entry.cjs.js.map +1 -0
  97. package/dist/cjs/peculiar-text-hider.cjs.entry.js +6 -8
  98. package/dist/cjs/peculiar-text-hider.cjs.entry.js.map +1 -1
  99. package/dist/cjs/peculiar-text-hider.entry.cjs.js.map +1 -0
  100. package/dist/cjs/peculiar.cjs.js +14 -13
  101. package/dist/cjs/peculiar.cjs.js.map +1 -1
  102. package/dist/cjs/{pkcs10_certificate_request-64898c88.js → pkcs10_certificate_request-BDz0P_px.js} +11 -10
  103. package/dist/cjs/pkcs10_certificate_request-BDz0P_px.js.map +1 -0
  104. package/dist/cjs/{read_file-2e22a97e.js → read_file-DWtcn3zU.js} +2 -1
  105. package/dist/cjs/read_file-DWtcn3zU.js.map +1 -0
  106. package/dist/cjs/{x509_certificate-4b0894c2.js → x509_certificate-DRvXOszL.js} +10 -9
  107. package/dist/cjs/x509_certificate-DRvXOszL.js.map +1 -0
  108. package/dist/cjs/{x509_crl-fc8d41a1.js → x509_crl-DVGVym_S.js} +17 -16
  109. package/dist/cjs/x509_crl-DVGVym_S.js.map +1 -0
  110. package/dist/collection/collection-manifest.json +3 -2
  111. package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js +24 -9
  112. package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js.map +1 -1
  113. package/dist/collection/components/button-menu/button-menu.js +4 -2
  114. package/dist/collection/components/button-menu/button-menu.js.map +1 -1
  115. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.css +1019 -0
  116. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js +99 -0
  117. package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js.map +1 -0
  118. package/dist/collection/components/certificate-decoder/certificate-decoder.css +1 -4
  119. package/dist/collection/components/certificate-decoder/certificate-decoder.js +39 -20
  120. package/dist/collection/components/certificate-decoder/certificate-decoder.js.map +1 -1
  121. package/dist/collection/components/certificate-details-parts/miscellaneous.js.map +1 -1
  122. package/dist/collection/components/certificate-viewer/certificate-viewer.js +26 -10
  123. package/dist/collection/components/certificate-viewer/certificate-viewer.js.map +1 -1
  124. package/dist/collection/components/certificates-viewer/certificates-viewer.js +40 -11
  125. package/dist/collection/components/certificates-viewer/certificates-viewer.js.map +1 -1
  126. package/dist/collection/components/circular-progress/circular-progress.js +14 -4
  127. package/dist/collection/components/circular-progress/circular-progress.js.map +1 -1
  128. package/dist/collection/components/crl-viewer/crl-viewer.js +22 -8
  129. package/dist/collection/components/crl-viewer/crl-viewer.js.map +1 -1
  130. package/dist/collection/components/csr-viewer/csr-viewer.js +20 -7
  131. package/dist/collection/components/csr-viewer/csr-viewer.js.map +1 -1
  132. package/dist/collection/components/highlight-words/highlight-words.js +3 -2
  133. package/dist/collection/components/highlight-words/highlight-words.js.map +1 -1
  134. package/dist/collection/components/text-hider/text-hider.js +1 -1
  135. package/dist/collection/components/text-hider/text-hider.js.map +1 -1
  136. package/dist/collection/constants/oids.js +3 -0
  137. package/dist/collection/constants/oids.js.map +1 -1
  138. package/dist/collection/crypto/index.js +1 -0
  139. package/dist/collection/crypto/index.js.map +1 -1
  140. package/dist/collection/crypto/pem_converter.js +169 -0
  141. package/dist/collection/crypto/pem_converter.js.map +1 -0
  142. package/dist/collection/crypto/pkcs10_certificate_request.js +6 -5
  143. package/dist/collection/crypto/pkcs10_certificate_request.js.map +1 -1
  144. package/dist/collection/crypto/utils.js +18 -21
  145. package/dist/collection/crypto/utils.js.map +1 -1
  146. package/dist/collection/crypto/x509_attribute_certificate.js +6 -5
  147. package/dist/collection/crypto/x509_attribute_certificate.js.map +1 -1
  148. package/dist/collection/crypto/x509_certificate.js +6 -5
  149. package/dist/collection/crypto/x509_certificate.js.map +1 -1
  150. package/dist/collection/crypto/x509_certificates.js +69 -0
  151. package/dist/collection/crypto/x509_certificates.js.map +1 -0
  152. package/dist/collection/crypto/x509_crl.js +6 -5
  153. package/dist/collection/crypto/x509_crl.js.map +1 -1
  154. package/dist/collection/utils/index.js +0 -2
  155. package/dist/collection/utils/index.js.map +1 -1
  156. package/dist/collection/www-copy/index.js +123 -121
  157. package/dist/esm/{actions-aebcbc9d.js → actions-DzoPRObK.js} +3 -2
  158. package/dist/esm/actions-DzoPRObK.js.map +1 -0
  159. package/dist/esm/{app-globals-5e9b67e0.js → app-globals-zVR349KA.js} +2 -1
  160. package/dist/esm/app-globals-zVR349KA.js.map +1 -0
  161. package/dist/esm/{arrow_top-aee1ee02.js → arrow_top-CF9pv-tQ.js} +3 -2
  162. package/dist/esm/arrow_top-CF9pv-tQ.js.map +1 -0
  163. package/dist/esm/{button-a2fabf9a.js → button-Djn8UI82.js} +3 -2
  164. package/dist/esm/button-Djn8UI82.js.map +1 -0
  165. package/dist/esm/{certification_request-a4699dcf.js → certification_request-BTbyumBe.js} +1097 -1599
  166. package/dist/esm/certification_request-BTbyumBe.js.map +1 -0
  167. package/dist/esm/{cross-1377606f.js → cross-DdCuR1F2.js} +3 -2
  168. package/dist/esm/cross-DdCuR1F2.js.map +1 -0
  169. package/dist/esm/{download-14dc1047.js → download-Cqfc-Sxf.js} +3 -2
  170. package/dist/esm/download-Cqfc-Sxf.js.map +1 -0
  171. package/dist/esm/index-DDDrq3In.js +2292 -0
  172. package/dist/esm/index-DDDrq3In.js.map +1 -0
  173. package/dist/esm/index.js +11 -10
  174. package/dist/esm/index.js.map +1 -1
  175. package/dist/esm/{link-7e4e9060.js → link-BfDk078v.js} +4 -3
  176. package/dist/esm/link-BfDk078v.js.map +1 -0
  177. package/dist/esm/loader.js +5 -4
  178. package/dist/esm/loader.js.map +1 -1
  179. package/dist/esm/{miscellaneous-ba1fd2bd.js → miscellaneous-CGtCg3Q9.js} +27 -26
  180. package/dist/esm/miscellaneous-CGtCg3Q9.js.map +1 -0
  181. package/dist/esm/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.js.map +1 -0
  182. package/dist/esm/{peculiar-attribute-certificate-viewer_3.entry.js → peculiar-attribute-certificate-viewer_4.entry.js} +76 -45
  183. package/dist/esm/peculiar-attribute-certificate-viewer_4.entry.js.map +1 -0
  184. package/dist/esm/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.js.map +1 -0
  185. package/dist/esm/peculiar-button-menu_3.entry.js +20 -17
  186. package/dist/esm/peculiar-button-menu_3.entry.js.map +1 -1
  187. package/dist/esm/peculiar-certificate-decoder.entry.js +105 -28
  188. package/dist/esm/peculiar-certificate-decoder.entry.js.map +1 -1
  189. package/dist/esm/peculiar-certificate-viewer.entry.js +19 -19
  190. package/dist/esm/peculiar-certificate-viewer.entry.js.map +1 -1
  191. package/dist/esm/peculiar-certificates-viewer.entry.js +43 -22
  192. package/dist/esm/peculiar-certificates-viewer.entry.js.map +1 -1
  193. package/dist/esm/peculiar-text-hider.entry.js +6 -6
  194. package/dist/esm/peculiar-text-hider.entry.js.map +1 -1
  195. package/dist/esm/peculiar.js +14 -12
  196. package/dist/esm/peculiar.js.map +1 -1
  197. package/dist/esm/{pkcs10_certificate_request-785a4794.js → pkcs10_certificate_request-CrA_WcgY.js} +11 -10
  198. package/dist/esm/pkcs10_certificate_request-CrA_WcgY.js.map +1 -0
  199. package/dist/esm/{read_file-bb0b1450.js → read_file-F2F0McJX.js} +2 -1
  200. package/dist/esm/read_file-F2F0McJX.js.map +1 -0
  201. package/dist/esm/{x509_certificate-05a23c0e.js → x509_certificate-DX7sKoAD.js} +10 -9
  202. package/dist/esm/x509_certificate-DX7sKoAD.js.map +1 -0
  203. package/dist/esm/{x509_crl-26081461.js → x509_crl-DRjoh8Yp.js} +17 -16
  204. package/dist/esm/x509_crl-DRjoh8Yp.js.map +1 -0
  205. package/dist/esm-es5/{actions-aebcbc9d.js → actions-DzoPRObK.js} +2 -2
  206. package/dist/esm-es5/actions-DzoPRObK.js.map +1 -0
  207. package/dist/esm-es5/{app-globals-5e9b67e0.js → app-globals-zVR349KA.js} +1 -1
  208. package/dist/esm-es5/app-globals-zVR349KA.js.map +1 -0
  209. package/dist/esm-es5/{arrow_top-aee1ee02.js → arrow_top-CF9pv-tQ.js} +2 -2
  210. package/dist/esm-es5/arrow_top-CF9pv-tQ.js.map +1 -0
  211. package/dist/esm-es5/{button-a2fabf9a.js → button-Djn8UI82.js} +2 -2
  212. package/dist/esm-es5/button-Djn8UI82.js.map +1 -0
  213. package/dist/esm-es5/certification_request-BTbyumBe.js +142 -0
  214. package/dist/esm-es5/certification_request-BTbyumBe.js.map +1 -0
  215. package/dist/esm-es5/{cross-1377606f.js → cross-DdCuR1F2.js} +2 -2
  216. package/dist/esm-es5/cross-DdCuR1F2.js.map +1 -0
  217. package/dist/esm-es5/{download-14dc1047.js → download-Cqfc-Sxf.js} +2 -2
  218. package/dist/esm-es5/download-Cqfc-Sxf.js.map +1 -0
  219. package/dist/esm-es5/index-DDDrq3In.js +6 -0
  220. package/dist/esm-es5/index-DDDrq3In.js.map +1 -0
  221. package/dist/esm-es5/index.js +1 -1
  222. package/dist/esm-es5/index.js.map +1 -1
  223. package/dist/esm-es5/link-BfDk078v.js +12 -0
  224. package/dist/esm-es5/link-BfDk078v.js.map +1 -0
  225. package/dist/esm-es5/loader.js +2 -2
  226. package/dist/esm-es5/loader.js.map +1 -1
  227. package/dist/esm-es5/{miscellaneous-ba1fd2bd.js → miscellaneous-CGtCg3Q9.js} +15 -15
  228. package/dist/esm-es5/miscellaneous-CGtCg3Q9.js.map +1 -0
  229. package/dist/esm-es5/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.js.map +1 -0
  230. package/dist/esm-es5/peculiar-attribute-certificate-viewer_4.entry.js +110 -0
  231. package/dist/esm-es5/peculiar-attribute-certificate-viewer_4.entry.js.map +1 -0
  232. package/dist/esm-es5/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.js.map +1 -0
  233. package/dist/esm-es5/peculiar-button-menu_3.entry.js +1 -1
  234. package/dist/esm-es5/peculiar-button-menu_3.entry.js.map +1 -1
  235. package/dist/esm-es5/peculiar-certificate-decoder.entry.js +2 -2
  236. package/dist/esm-es5/peculiar-certificate-decoder.entry.js.map +1 -1
  237. package/dist/esm-es5/peculiar-certificate-viewer.entry.js +2 -2
  238. package/dist/esm-es5/peculiar-certificate-viewer.entry.js.map +1 -1
  239. package/dist/esm-es5/peculiar-certificates-viewer.entry.js +2 -2
  240. package/dist/esm-es5/peculiar-certificates-viewer.entry.js.map +1 -1
  241. package/dist/esm-es5/peculiar-text-hider.entry.js +1 -1
  242. package/dist/esm-es5/peculiar-text-hider.entry.js.map +1 -1
  243. package/dist/esm-es5/peculiar.js +1 -1
  244. package/dist/esm-es5/peculiar.js.map +1 -1
  245. package/dist/esm-es5/pkcs10_certificate_request-CrA_WcgY.js +19 -0
  246. package/dist/esm-es5/pkcs10_certificate_request-CrA_WcgY.js.map +1 -0
  247. package/dist/esm-es5/{read_file-bb0b1450.js → read_file-F2F0McJX.js} +1 -1
  248. package/dist/esm-es5/read_file-F2F0McJX.js.map +1 -0
  249. package/dist/esm-es5/x509_certificate-DX7sKoAD.js +12 -0
  250. package/dist/esm-es5/x509_certificate-DX7sKoAD.js.map +1 -0
  251. package/dist/esm-es5/x509_crl-DRjoh8Yp.js +19 -0
  252. package/dist/esm-es5/x509_crl-DRjoh8Yp.js.map +1 -0
  253. package/dist/peculiar/index.esm.js +1 -1
  254. package/dist/peculiar/index.esm.js.map +1 -1
  255. package/dist/peculiar/loader.esm.js.map +1 -0
  256. package/dist/peculiar/p-092074e8.system.entry.js +5 -0
  257. package/dist/peculiar/p-092074e8.system.entry.js.map +1 -0
  258. package/dist/peculiar/p-12d2e080.entry.js +5 -0
  259. package/dist/peculiar/p-12d2e080.entry.js.map +1 -0
  260. package/dist/peculiar/p-1af57833.system.entry.js +5 -0
  261. package/dist/peculiar/p-1af57833.system.entry.js.map +1 -0
  262. package/dist/peculiar/p-1b3855ec.system.entry.js +111 -0
  263. package/dist/peculiar/p-1b3855ec.system.entry.js.map +1 -0
  264. package/dist/peculiar/p-4IvcYmU7.js +19 -0
  265. package/dist/peculiar/p-4IvcYmU7.js.map +1 -0
  266. package/dist/peculiar/{p-9263e7ee.system.entry.js → p-73a75d1e.system.entry.js} +3 -3
  267. package/dist/peculiar/p-73a75d1e.system.entry.js.map +1 -0
  268. package/dist/peculiar/p-7Nmqck4T.system.js.map +1 -0
  269. package/dist/peculiar/p-80fc5538.entry.js +5 -0
  270. package/dist/peculiar/p-80fc5538.entry.js.map +1 -0
  271. package/dist/peculiar/{p-bafd67f3.entry.js → p-85667993.entry.js} +2 -2
  272. package/dist/peculiar/p-85667993.entry.js.map +1 -0
  273. package/dist/peculiar/p-B0CjUC4o.system.js +142 -0
  274. package/dist/peculiar/p-B0CjUC4o.system.js.map +1 -0
  275. package/dist/peculiar/{p-c241e4ba.system.js → p-B2YrZuK2.system.js} +2 -2
  276. package/dist/peculiar/p-B2YrZuK2.system.js.map +1 -0
  277. package/dist/peculiar/p-B7TxZGea.system.js +19 -0
  278. package/dist/peculiar/p-B7TxZGea.system.js.map +1 -0
  279. package/dist/peculiar/{p-243244af.system.js → p-B859JpGw.system.js} +3 -3
  280. package/dist/peculiar/p-B859JpGw.system.js.map +1 -0
  281. package/dist/peculiar/{p-eea904d7.system.js → p-BBgwMHRZ.system.js} +3 -3
  282. package/dist/peculiar/p-BBgwMHRZ.system.js.map +1 -0
  283. package/dist/peculiar/p-BCATfe_H.js +19 -0
  284. package/dist/peculiar/p-BCATfe_H.js.map +1 -0
  285. package/dist/peculiar/p-BFenL1ap.system.js +6 -0
  286. package/dist/peculiar/p-BFenL1ap.system.js.map +1 -0
  287. package/dist/peculiar/{p-ae91d778.js → p-BHBizfwo.js} +3 -3
  288. package/dist/peculiar/p-BHBizfwo.js.map +1 -0
  289. package/dist/peculiar/{p-5a662d6f.system.js → p-BOSH9vjy.system.js} +3 -3
  290. package/dist/{esm-es5/actions-aebcbc9d.js.map → peculiar/p-BOSH9vjy.system.js.map} +1 -1
  291. package/dist/peculiar/{p-8bbee8f4.system.js → p-BP2bmYR2.system.js} +3 -3
  292. package/dist/peculiar/p-BP2bmYR2.system.js.map +1 -0
  293. package/dist/peculiar/{p-9712b827.system.js → p-BRhx1gbw.system.js} +4 -4
  294. package/dist/peculiar/p-BRhx1gbw.system.js.map +1 -0
  295. package/dist/peculiar/p-BTbyumBe.js +142 -0
  296. package/dist/peculiar/p-BTbyumBe.js.map +1 -0
  297. package/dist/peculiar/p-BX9qW3ww.system.js.map +1 -0
  298. package/dist/peculiar/p-BbPo3hge.system.js.map +1 -0
  299. package/dist/peculiar/{p-e6a6e602.js → p-BisXzAqN.js} +2 -2
  300. package/dist/peculiar/p-BisXzAqN.js.map +1 -0
  301. package/dist/peculiar/p-Bw_icgVx.js +19 -0
  302. package/dist/peculiar/p-Bw_icgVx.js.map +1 -0
  303. package/dist/peculiar/p-C_7Koml8.system.js.map +1 -0
  304. package/dist/peculiar/{p-27ca6743.js → p-CeKqQ13Z.js} +4 -4
  305. package/dist/peculiar/p-CeKqQ13Z.js.map +1 -0
  306. package/dist/peculiar/p-CpTwQbPC.js +12 -0
  307. package/dist/peculiar/p-CpTwQbPC.js.map +1 -0
  308. package/dist/peculiar/p-Ct0zEUB_.js +369 -0
  309. package/dist/peculiar/p-Ct0zEUB_.js.map +1 -0
  310. package/dist/peculiar/{p-c2995a63.system.js → p-CwlxH4oM.system.js} +1 -1
  311. package/dist/peculiar/p-CwlxH4oM.system.js.map +1 -0
  312. package/dist/peculiar/p-D13P_msn.system.js.map +1 -0
  313. package/dist/peculiar/{p-55303453.system.js → p-D2QB-8Q6.system.js} +1 -1
  314. package/dist/peculiar/p-D2QB-8Q6.system.js.map +1 -0
  315. package/dist/peculiar/p-D5BWI7FK.system.js +5 -0
  316. package/dist/peculiar/p-D5BWI7FK.system.js.map +1 -0
  317. package/dist/peculiar/p-DDDrq3In.js +6 -0
  318. package/dist/peculiar/p-DDDrq3In.js.map +1 -0
  319. package/dist/peculiar/{p-a9487007.js → p-DhdG07f8.js} +2 -2
  320. package/dist/peculiar/p-DhdG07f8.js.map +1 -0
  321. package/dist/peculiar/{p-99efefea.js → p-DkAhB3Vy.js} +2 -2
  322. package/dist/peculiar/p-DkAhB3Vy.js.map +1 -0
  323. package/dist/peculiar/p-DxdVL_Kj.system.js +13 -0
  324. package/dist/peculiar/p-DxdVL_Kj.system.js.map +1 -0
  325. package/dist/peculiar/{p-25a532a3.js → p-F2F0McJX.js} +1 -1
  326. package/dist/peculiar/p-F2F0McJX.js.map +1 -0
  327. package/dist/peculiar/p-FVz6FuoZ.system.js.map +1 -0
  328. package/dist/peculiar/p-RW7UbzcZ.system.js.map +1 -0
  329. package/dist/peculiar/p-ab220e36.system.entry.js +5 -0
  330. package/dist/peculiar/p-ab220e36.system.entry.js.map +1 -0
  331. package/dist/peculiar/{p-67e82386.entry.js → p-c2a805b3.entry.js} +3 -3
  332. package/dist/peculiar/p-c2a805b3.entry.js.map +1 -0
  333. package/dist/peculiar/p-cae95996.system.entry.js +5 -0
  334. package/dist/peculiar/p-cae95996.system.entry.js.map +1 -0
  335. package/dist/peculiar/p-e7266b0a.entry.js +110 -0
  336. package/dist/peculiar/p-e7266b0a.entry.js.map +1 -0
  337. package/dist/peculiar/p-f4490197.entry.js +5 -0
  338. package/dist/peculiar/p-f4490197.entry.js.map +1 -0
  339. package/dist/peculiar/p-lnQq6VON.system.js +20 -0
  340. package/dist/peculiar/p-lnQq6VON.system.js.map +1 -0
  341. package/dist/peculiar/{p-2bc2abea.system.js → p-vMACJe_C.system.js} +54 -54
  342. package/dist/peculiar/{p-6e2ad7eb.js.map → p-vMACJe_C.system.js.map} +1 -1
  343. package/dist/peculiar/p-wgYkE8CV.system.js +5 -0
  344. package/dist/peculiar/p-wgYkE8CV.system.js.map +1 -0
  345. package/dist/peculiar/{p-dac867e8.js → p-zVR349KA.js} +1 -1
  346. package/dist/peculiar/p-zVR349KA.js.map +1 -0
  347. package/dist/peculiar/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.esm.js.map +1 -0
  348. package/dist/peculiar/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.esm.js.map +1 -0
  349. package/dist/peculiar/peculiar-certificate-decoder.entry.esm.js.map +1 -0
  350. package/dist/peculiar/peculiar-certificate-viewer.entry.esm.js.map +1 -0
  351. package/dist/peculiar/peculiar-certificates-viewer.entry.esm.js.map +1 -0
  352. package/dist/peculiar/{p-b5389885.system.entry.js.map → peculiar-text-hider.entry.esm.js.map} +1 -1
  353. package/dist/peculiar/peculiar.esm.js +1 -1
  354. package/dist/peculiar/peculiar.esm.js.map +1 -1
  355. package/dist/peculiar/peculiar.js +1 -1
  356. package/dist/types/components/certificate-chain-viewer/certificate-chain-viewer.d.ts +21 -0
  357. package/dist/types/components/certificate-decoder/certificate-decoder.d.ts +5 -4
  358. package/dist/types/components/certificate-details-parts/miscellaneous.d.ts +2 -2
  359. package/dist/types/components/typography/typography.d.ts +0 -1
  360. package/dist/types/components.d.ts +33 -4
  361. package/dist/types/constants/oids.d.ts +3 -0
  362. package/dist/types/crypto/index.d.ts +1 -0
  363. package/dist/types/crypto/pem_converter.d.ts +71 -0
  364. package/dist/types/crypto/pkcs10_certificate_request.d.ts +2 -2
  365. package/dist/types/crypto/utils.d.ts +7 -3
  366. package/dist/types/crypto/x509_attribute_certificate.d.ts +2 -2
  367. package/dist/types/crypto/x509_certificate.d.ts +2 -2
  368. package/dist/types/crypto/x509_certificates.d.ts +9 -0
  369. package/dist/types/crypto/x509_crl.d.ts +2 -2
  370. package/dist/types/stencil-public-runtime.d.ts +10 -10
  371. package/dist/types/utils/index.d.ts +0 -2
  372. package/hydrate/index.d.ts +53 -12
  373. package/hydrate/index.js +28615 -18748
  374. package/hydrate/index.mjs +34759 -0
  375. package/hydrate/package.json +7 -1
  376. package/loader/cdn.js +1 -1
  377. package/loader/index.cjs.js +1 -1
  378. package/loader/index.d.ts +3 -0
  379. package/loader/index.es2017.js +1 -1
  380. package/loader/index.js +1 -1
  381. package/package.json +32 -29
  382. package/dist/cjs/actions-789906f5.js.map +0 -1
  383. package/dist/cjs/app-globals-c20ffa41.js.map +0 -1
  384. package/dist/cjs/arrow_top-76e4261e.js.map +0 -1
  385. package/dist/cjs/button-87086210.js.map +0 -1
  386. package/dist/cjs/certification_request-ad267278.js.map +0 -1
  387. package/dist/cjs/cross-bd099933.js.map +0 -1
  388. package/dist/cjs/download-820d66ba.js.map +0 -1
  389. package/dist/cjs/index-e2ae280a.js +0 -2730
  390. package/dist/cjs/index-e2ae280a.js.map +0 -1
  391. package/dist/cjs/link-a3d3799d.js.map +0 -1
  392. package/dist/cjs/miscellaneous-67439e59.js.map +0 -1
  393. package/dist/cjs/peculiar-attribute-certificate-viewer_3.cjs.entry.js.map +0 -1
  394. package/dist/cjs/pkcs10_certificate_request-64898c88.js.map +0 -1
  395. package/dist/cjs/read_file-2e22a97e.js.map +0 -1
  396. package/dist/cjs/x509_certificate-4b0894c2.js.map +0 -1
  397. package/dist/cjs/x509_crl-fc8d41a1.js.map +0 -1
  398. package/dist/collection/utils/validator.js +0 -25
  399. package/dist/collection/utils/validator.js.map +0 -1
  400. package/dist/esm/actions-aebcbc9d.js.map +0 -1
  401. package/dist/esm/app-globals-5e9b67e0.js.map +0 -1
  402. package/dist/esm/arrow_top-aee1ee02.js.map +0 -1
  403. package/dist/esm/button-a2fabf9a.js.map +0 -1
  404. package/dist/esm/certification_request-a4699dcf.js.map +0 -1
  405. package/dist/esm/cross-1377606f.js.map +0 -1
  406. package/dist/esm/download-14dc1047.js.map +0 -1
  407. package/dist/esm/index-ae188432.js +0 -2701
  408. package/dist/esm/index-ae188432.js.map +0 -1
  409. package/dist/esm/link-7e4e9060.js.map +0 -1
  410. package/dist/esm/miscellaneous-ba1fd2bd.js.map +0 -1
  411. package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js.map +0 -1
  412. package/dist/esm/pkcs10_certificate_request-785a4794.js.map +0 -1
  413. package/dist/esm/read_file-bb0b1450.js.map +0 -1
  414. package/dist/esm/x509_certificate-05a23c0e.js.map +0 -1
  415. package/dist/esm/x509_crl-26081461.js.map +0 -1
  416. package/dist/esm-es5/app-globals-5e9b67e0.js.map +0 -1
  417. package/dist/esm-es5/arrow_top-aee1ee02.js.map +0 -1
  418. package/dist/esm-es5/button-a2fabf9a.js.map +0 -1
  419. package/dist/esm-es5/certification_request-a4699dcf.js +0 -135
  420. package/dist/esm-es5/certification_request-a4699dcf.js.map +0 -1
  421. package/dist/esm-es5/cross-1377606f.js.map +0 -1
  422. package/dist/esm-es5/download-14dc1047.js.map +0 -1
  423. package/dist/esm-es5/index-ae188432.js +0 -6
  424. package/dist/esm-es5/index-ae188432.js.map +0 -1
  425. package/dist/esm-es5/link-7e4e9060.js +0 -12
  426. package/dist/esm-es5/link-7e4e9060.js.map +0 -1
  427. package/dist/esm-es5/miscellaneous-ba1fd2bd.js.map +0 -1
  428. package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js +0 -110
  429. package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js.map +0 -1
  430. package/dist/esm-es5/pkcs10_certificate_request-785a4794.js +0 -19
  431. package/dist/esm-es5/pkcs10_certificate_request-785a4794.js.map +0 -1
  432. package/dist/esm-es5/read_file-bb0b1450.js.map +0 -1
  433. package/dist/esm-es5/x509_certificate-05a23c0e.js +0 -12
  434. package/dist/esm-es5/x509_certificate-05a23c0e.js.map +0 -1
  435. package/dist/esm-es5/x509_crl-26081461.js +0 -19
  436. package/dist/esm-es5/x509_crl-26081461.js.map +0 -1
  437. package/dist/peculiar/p-1566ad92.system.entry.js +0 -5
  438. package/dist/peculiar/p-1566ad92.system.entry.js.map +0 -1
  439. package/dist/peculiar/p-243244af.system.js.map +0 -1
  440. package/dist/peculiar/p-25a532a3.js.map +0 -1
  441. package/dist/peculiar/p-27ca6743.js.map +0 -1
  442. package/dist/peculiar/p-2bc2abea.system.js.map +0 -1
  443. package/dist/peculiar/p-32807e5e.js +0 -135
  444. package/dist/peculiar/p-32807e5e.js.map +0 -1
  445. package/dist/peculiar/p-3cb79cd9.js +0 -6
  446. package/dist/peculiar/p-3cb79cd9.js.map +0 -1
  447. package/dist/peculiar/p-4bc5ddbe.js +0 -19
  448. package/dist/peculiar/p-4bc5ddbe.js.map +0 -1
  449. package/dist/peculiar/p-55303453.system.js.map +0 -1
  450. package/dist/peculiar/p-5a662d6f.system.js.map +0 -1
  451. package/dist/peculiar/p-5d1d4a96.entry.js +0 -110
  452. package/dist/peculiar/p-5d1d4a96.entry.js.map +0 -1
  453. package/dist/peculiar/p-67e82386.entry.js.map +0 -1
  454. package/dist/peculiar/p-6e2ad7eb.js +0 -369
  455. package/dist/peculiar/p-713563fb.entry.js +0 -5
  456. package/dist/peculiar/p-713563fb.entry.js.map +0 -1
  457. package/dist/peculiar/p-7ddd9a82.system.js +0 -19
  458. package/dist/peculiar/p-7ddd9a82.system.js.map +0 -1
  459. package/dist/peculiar/p-821bdcdc.system.js +0 -6
  460. package/dist/peculiar/p-821bdcdc.system.js.map +0 -1
  461. package/dist/peculiar/p-8393399a.system.js +0 -5
  462. package/dist/peculiar/p-8393399a.system.js.map +0 -1
  463. package/dist/peculiar/p-8bbee8f4.system.js.map +0 -1
  464. package/dist/peculiar/p-9263e7ee.system.entry.js.map +0 -1
  465. package/dist/peculiar/p-9712b827.system.js.map +0 -1
  466. package/dist/peculiar/p-98e3a016.system.js +0 -13
  467. package/dist/peculiar/p-98e3a016.system.js.map +0 -1
  468. package/dist/peculiar/p-99efefea.js.map +0 -1
  469. package/dist/peculiar/p-9ad547d2.system.entry.js +0 -5
  470. package/dist/peculiar/p-9ad547d2.system.entry.js.map +0 -1
  471. package/dist/peculiar/p-a1a48332.system.js +0 -5
  472. package/dist/peculiar/p-a1a48332.system.js.map +0 -1
  473. package/dist/peculiar/p-a9487007.js.map +0 -1
  474. package/dist/peculiar/p-ab5a4988.js +0 -12
  475. package/dist/peculiar/p-ab5a4988.js.map +0 -1
  476. package/dist/peculiar/p-ae44c2b0.system.js +0 -20
  477. package/dist/peculiar/p-ae44c2b0.system.js.map +0 -1
  478. package/dist/peculiar/p-ae91d778.js.map +0 -1
  479. package/dist/peculiar/p-afbd1c8e.entry.js +0 -5
  480. package/dist/peculiar/p-afbd1c8e.entry.js.map +0 -1
  481. package/dist/peculiar/p-b5389885.system.entry.js +0 -5
  482. package/dist/peculiar/p-bafd67f3.entry.js.map +0 -1
  483. package/dist/peculiar/p-c241e4ba.system.js.map +0 -1
  484. package/dist/peculiar/p-c2995a63.system.js.map +0 -1
  485. package/dist/peculiar/p-cd1b1876.entry.js +0 -5
  486. package/dist/peculiar/p-cd1b1876.entry.js.map +0 -1
  487. package/dist/peculiar/p-d5ba4fc2.js +0 -19
  488. package/dist/peculiar/p-d5ba4fc2.js.map +0 -1
  489. package/dist/peculiar/p-dac867e8.js.map +0 -1
  490. package/dist/peculiar/p-e37e4df2.system.js +0 -135
  491. package/dist/peculiar/p-e37e4df2.system.js.map +0 -1
  492. package/dist/peculiar/p-e4ad4f13.system.entry.js +0 -5
  493. package/dist/peculiar/p-e4ad4f13.system.entry.js.map +0 -1
  494. package/dist/peculiar/p-e6a6e602.js.map +0 -1
  495. package/dist/peculiar/p-eea904d7.system.js.map +0 -1
  496. package/dist/peculiar/p-f8c91ee4.js +0 -19
  497. package/dist/peculiar/p-f8c91ee4.js.map +0 -1
  498. package/dist/peculiar/p-f9c07207.system.entry.js +0 -111
  499. package/dist/peculiar/p-f9c07207.system.entry.js.map +0 -1
  500. package/dist/types/utils/validator.d.ts +0 -10
  501. package/loader/package.json +0 -11
@@ -1 +1 @@
1
- {"version":3,"names":["CertificateSummary","props","certificate","showIssuer","renderRow","name","value","h","Typography","variant","color","l10n","getString","subjectToString","issuerToString","serialNumber","version","validity","dateShort","notBefore","notAfter","certificatesViewerCss","PeculiarCertificatesViewerStyle0","CertificatesViewer","this","isHasRoots","handleClickDetails","_this","certificateSelectedForDetails","detailsOpen","emit","handleModalClose","undefined","detailsClose","handleSearch","event","search","target","trim","class_1","prototype","handleMediaQueryChange","mobileScreenView","matches","componentWillLoad","certificatesDecodeAndSet","mobileMediaQuery","window","matchMedia","mobileMediaQueryString","addEventListener","bind","disconnectedCallback","removeEventListener","watchCertificates","newValue","oldValue","JSON","stringify","hasRoots","Array","isArray","certificates","data","_d","_i","length","decoded","X509Certificate","getThumbprint","_e","sent","push","body","tests","isRoot","console","error","error_1","isDecodeInProcess","certificatesDecoded","handleClickDownloadAsPem","downloadAsPEM","commonName","handleClickDownloadAsDer","downloadAsDER","handleClickRow","index","isExpandedRowClicked","expandedRow","getMaxColSpanValue","colSpan","renderCertificateButtonActions","isHasTestURLs","expired","revoked","valid","class","groups","__spreadArray","title","options","text","startIcon","DetailsIcon","onClick","DownloadIcon","_a","href","LinkIcon","_b","_c","renderExpandedRow","renderCertificatesRows","searchHighlight","highlightWithSearch","content","forEach","isExpandedRow","publicKeyValue","OIDs","signature","algorithm","filterWithSearch","certificateStringForSearch","issuerCommonName","thumbprints","join","toLowerCase","indexOf","certificate_row","m_expanded","key","Button","ArrowTopIcon","ArrowBottomIcon","renderCertificateDetailsModal","role","part","CrossIcon","renderSearch","onInput","type","disabled","placeholder","renderEmptyState","renderEmptySearchState","renderLoadingState","renderTableBody","certificatesRows","render","Host","String"],"sources":["src/components/certificate-summary/certificate-summary.tsx","src/components/certificates-viewer/certificates-viewer.scss?tag=peculiar-certificates-viewer&encapsulation=shadow","src/components/certificates-viewer/certificates-viewer.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { FunctionalComponent, h } from '@stencil/core';\nimport type { X509Certificate } from '../../crypto';\nimport { dateShort, l10n } from '../../utils';\nimport { Typography } from '../typography';\n\ninterface CertificateSummaryProps {\n certificate: X509Certificate;\n showIssuer?: boolean;\n}\n\nexport const CertificateSummary: FunctionalComponent<CertificateSummaryProps> = (props) => {\n const {\n certificate,\n showIssuer,\n } = props;\n\n const renderRow = (name: string | string[], value: string | number) => (\n <tr>\n <td>\n <Typography\n variant=\"b2\"\n color=\"gray-9\"\n >\n {name}\n </Typography>\n </td>\n <td>\n <Typography\n variant=\"b2\"\n color=\"black\"\n >\n {value}\n </Typography>\n </td>\n </tr>\n );\n\n return (\n <table>\n <tbody>\n {renderRow(\n l10n.getString('subjectName'),\n certificate.subjectToString(),\n )}\n {showIssuer && renderRow(\n l10n.getString('issuerName'),\n certificate.issuerToString(),\n )}\n\n {renderRow(\n l10n.getString('serialNumber'),\n certificate.serialNumber,\n )}\n {renderRow(\n l10n.getString('version'),\n certificate.version,\n )}\n {renderRow(\n l10n.getString('validity'),\n certificate.validity,\n )}\n {renderRow(\n l10n.getString('issued'),\n dateShort(certificate.notBefore),\n )}\n {renderRow(\n l10n.getString('expired'),\n dateShort(certificate.notAfter),\n )}\n </tbody>\n </table>\n );\n};\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n word-wrap: break-word;\n min-width: 280px;\n overflow: auto;\n position: relative;\n}\n\n.search_section {\n padding: var(--pv-size-base-4);\n border-bottom: 1px solid var(--pv-color-gray-4);\n}\n\n.input_search {\n height: var(--pv-size-base-8);\n width: 100%;\n outline: none;\n background-color: var(--pv-color-gray-1);\n padding: 0 var(--pv-size-base-2);\n border: 1px solid var(--pv-color-gray-7);\n border-radius: 4px;\n transition: background-color 200ms ease 0s, color 200ms ease 0s, border-color 200ms ease 0s;\n &::placeholder {\n color: var(--pv-color-gray-9);\n }\n}\n\ntable {\n width: 100%;\n table-layout: fixed;\n border-collapse: collapse;\n border-spacing: 0;\n\n td, th {\n border-bottom: 1px solid var(--pv-color-gray-4);\n vertical-align: top;\n text-align: left;\n\n &:first-child {\n padding-right: 0;\n width: var(--pv-size-base-10);\n }\n &:last-child {\n padding-left: 0;\n width: var(--pv-size-base-10);\n }\n }\n\n th {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n\n &.col_action {\n padding: 0;\n }\n }\n\n td {\n padding: var(--pv-size-base-4);\n }\n\n tr {\n &.m_expanded {\n background: var(--pv-color-gray-1);\n\n > td {\n border-bottom: none;\n }\n }\n\n &.expanded_summary {\n background: var(--pv-color-gray-1);\n\n table {\n table-layout: initial;\n\n td {\n border-bottom: none;\n padding: var(--pv-size-base-2);\n\n &:first-child {\n width: 200px;\n }\n\n &:last-child {\n width: auto;\n }\n }\n }\n }\n }\n}\n\n.button_table_cell {\n margin-top: -3px;\n}\n\n.status_wrapper {\n text-align: center;\n height: var(--pv-size-base-16);\n vertical-align: middle;\n}\n\n.modal_wrapper {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1;\n animation: fadeIn 200ms;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.modal_backdrop {\n background: var(--pv-color-black);\n z-index: -1;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n opacity: 0.5;\n}\n\n.modal_container {\n background: var(--pv-color-white);\n width: 100%;\n display: flex;\n max-height: calc(100% - 60px);\n flex-direction: column;\n margin: var(--pv-size-base-6);\n position: relative;\n outline: none;\n box-shadow: var(--pv-shadow-dark-hight);\n overflow: hidden;\n border: 0px;\n padding: 0px;\n max-width: 640px;\n border-radius: 4px;\n}\n\n.modal_header {\n padding: var(--pv-size-base-3) var(--pv-size-base-4);\n display: flex;\n flex: 0 0 auto;\n -webkit-box-pack: justify;\n justify-content: space-between;\n gap: var(--pv-size-base-2);\n border-bottom: 1px solid var(--pv-color-gray-5);\n}\n\n.modal_content {\n flex: 1 1 auto;\n overflow: auto;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tbody, tr, td {\n display: block;\n width: 100% !important;\n padding: 0;\n border: none;\n }\n\n thead {\n display: none;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n }\n\n .expanded_summary {\n padding: 0;\n }\n\n .certificate_row {\n border-bottom: 1px solid var(--pv-color-gray-5);\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n }\n\n .certificate_row_actions {\n padding-top: var(--pv-size-base-6);\n\n td {\n display: flex;\n justify-content: right;\n gap: var(--pv-size-base-4);\n }\n }\n }\n\n .button_table_cell {\n margin-top: 0;\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n h,\n Prop,\n State,\n Watch,\n Host,\n Event,\n EventEmitter,\n Build,\n} from '@stencil/core';\n\nimport { X509Certificate } from '../../crypto';\nimport { OIDs } from '../../constants/oids';\nimport { l10n } from '../../utils';\nimport { Typography } from '../typography';\nimport { CertificateSummary } from '../certificate-summary';\nimport { Button } from '../button';\nimport {\n DownloadIcon,\n LinkIcon,\n DetailsIcon,\n ArrowBottomIcon,\n ArrowTopIcon,\n CrossIcon,\n} from '../icons';\n\nexport interface ICertificate {\n value: string;\n name?: string;\n tests?: {\n valid?: string;\n revoked?: string;\n expired?: string;\n };\n}\n\ninterface ICertificateDecoded {\n body: X509Certificate;\n tests?: ICertificate['tests'];\n name?: string;\n}\n\n@Component({\n tag: 'peculiar-certificates-viewer',\n styleUrl: 'certificates-viewer.scss',\n shadow: true,\n})\nexport class CertificatesViewer {\n private isHasRoots: boolean = false;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * List of certificates values for decode and show in the list.\n * <br />\n * **NOTE**: If you do not provide a `name` value when\n * invocing the component it will take the first Subject CN value.\n * <br />\n * **NOTE**: If you do not provide a `tests` this column will be ommited from the rendered page.\n * <br />\n * **NOTE**: If the supplied certificates are self-signed the issuer column will be ommited.\n */\n @Prop() certificates: ICertificate[] = [];\n\n /**\n * Use filter in the list when search is changed.\n */\n @Prop() filterWithSearch: boolean = true;\n\n /**\n * Use highlight chapters in the list when search is changed.\n */\n @Prop() highlightWithSearch: boolean = true;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n /**\n * Emitted when the user open certificate details modal.\n */\n @Event() detailsOpen!: EventEmitter<X509Certificate>;\n\n /**\n * Emitted when the user close certificate details modal.\n */\n @Event() detailsClose!: EventEmitter<void>;\n\n @State() mobileScreenView: boolean = false;\n\n @State() search: string = '';\n\n @State() certificatesDecoded: ICertificateDecoded[] = [];\n\n @State() expandedRow?: number;\n\n @State() certificateSelectedForDetails?: X509Certificate;\n\n @State() isDecodeInProcess: boolean = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.certificatesDecodeAndSet();\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n @Watch('certificates')\n watchCertificates(newValue: ICertificate[], oldValue: ICertificate[]) {\n /**\n * Prevent rerender after set the same `certificates` prop.\n */\n if (JSON.stringify(newValue) !== JSON.stringify(oldValue)) {\n this.certificatesDecodeAndSet();\n }\n }\n\n async certificatesDecodeAndSet() {\n let hasRoots = false;\n\n if (!Array.isArray(this.certificates)) {\n return;\n }\n\n const data: ICertificateDecoded[] = [];\n\n // eslint-disable-next-line no-restricted-syntax\n for (const certificate of this.certificates) {\n try {\n const decoded = new X509Certificate(certificate.value);\n\n await decoded.getThumbprint('SHA-1');\n\n data.push({\n body: decoded,\n tests: certificate.tests,\n name: certificate.name,\n });\n\n if (!hasRoots && decoded.isRoot) {\n hasRoots = true;\n }\n } catch (error) {\n console.error('Error certificate parse:', error);\n }\n }\n\n this.isHasRoots = hasRoots;\n this.isDecodeInProcess = false;\n this.certificatesDecoded = data;\n }\n\n // eslint-disable-next-line class-methods-use-this\n private handleClickDownloadAsPem(certificate: ICertificateDecoded) {\n certificate.body.downloadAsPEM(certificate.name || certificate.body.commonName);\n }\n\n // eslint-disable-next-line class-methods-use-this\n private handleClickDownloadAsDer(certificate: ICertificateDecoded) {\n certificate.body.downloadAsDER(certificate.name || certificate.body.commonName);\n }\n\n private handleClickDetails = (certificate: X509Certificate) => {\n this.certificateSelectedForDetails = certificate;\n this.detailsOpen.emit(certificate);\n };\n\n private handleModalClose = () => {\n this.certificateSelectedForDetails = undefined;\n\n this.detailsClose.emit();\n };\n\n private handleClickRow(index: number) {\n const isExpandedRowClicked = this.expandedRow === index;\n\n this.expandedRow = isExpandedRowClicked\n ? undefined\n : index;\n }\n\n private handleSearch = (event: any) => {\n this.search = event.target.value.trim();\n };\n\n private getMaxColSpanValue() {\n let colSpan = 5;\n\n if (!this.isHasRoots) {\n colSpan += 1;\n }\n\n return colSpan;\n }\n\n private renderCertificateButtonActions(certificate: ICertificateDecoded) {\n const isHasTestURLs = certificate.tests\n && (certificate.tests.expired || certificate.tests.revoked || certificate.tests.valid);\n\n return (\n <peculiar-button-menu\n class=\"button_table_cell\"\n groups={[\n {\n title: l10n.getString('previewCertificate'),\n options: [\n {\n text: l10n.getString('viewDetails'),\n startIcon: <DetailsIcon />,\n onClick: () => this.handleClickDetails(certificate.body),\n },\n ],\n },\n {\n title: l10n.getString('downloadOptions'),\n options: [\n {\n text: l10n.getString('download.pem'),\n startIcon: <DownloadIcon />,\n onClick: () => this.handleClickDownloadAsPem(certificate),\n },\n {\n text: l10n.getString('download.der'),\n startIcon: <DownloadIcon />,\n onClick: () => this.handleClickDownloadAsDer(certificate),\n },\n ],\n },\n ...(isHasTestURLs ? [{\n title: l10n.getString('testURLs'),\n options: [\n ...(certificate.tests?.valid ? [{\n text: l10n.getString('valid'),\n href: certificate.tests.valid,\n startIcon: <LinkIcon />,\n }] : []),\n ...(certificate.tests?.revoked ? [{\n text: l10n.getString('revoked'),\n href: certificate.tests.revoked,\n startIcon: <LinkIcon />,\n }] : []),\n ...(certificate.tests?.expired ? [{\n text: l10n.getString('expired'),\n href: certificate.tests.expired,\n startIcon: <LinkIcon />,\n }] : []),\n ],\n }] : []),\n ]}\n />\n );\n }\n\n private renderExpandedRow(certificate: X509Certificate) {\n const colSpan = this.getMaxColSpanValue() - 2;\n\n return (\n <tr class=\"expanded_summary\">\n <td />\n <td colSpan={colSpan}>\n <CertificateSummary\n certificate={certificate}\n showIssuer={!certificate.isRoot}\n />\n </td>\n <td />\n </tr>\n );\n }\n\n private renderCertificatesRows() {\n const searchHighlight = this.highlightWithSearch\n ? this.search\n : '';\n const content = [];\n\n this.certificatesDecoded.forEach((certificate, index) => {\n const isExpandedRow = index === this.expandedRow;\n const publicKeyValue = OIDs[certificate.body.signature.algorithm]\n || certificate.body.signature.algorithm;\n\n if (this.filterWithSearch && this.search) {\n const certificateStringForSearch = [\n publicKeyValue,\n certificate.body.issuerCommonName,\n certificate.name,\n certificate.body.commonName,\n certificate.body.thumbprints['SHA-1'],\n ]\n .join(' ')\n .toLowerCase();\n\n if (certificateStringForSearch.indexOf(this.search.toLowerCase()) === -1) {\n return;\n }\n }\n\n if (this.mobileScreenView) {\n content.push([\n <tr\n class={{\n certificate_row: true,\n m_expanded: isExpandedRow,\n }}\n key={certificate.body.thumbprints['SHA-1']}\n >\n <td>\n <table>\n <tbody>\n {!this.isHasRoots && (\n <tr>\n <td>\n <Typography variant=\"b2\" color=\"gray-9\">\n {l10n.getString('issuer')}\n </Typography>\n </td>\n <td>\n <Typography variant=\"b2\" color=\"black\">\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.body.issuerCommonName}\n </peculiar-highlight-words>\n </Typography>\n </td>\n </tr>\n )}\n <tr>\n <td>\n <Typography variant=\"b2\" color=\"gray-9\">\n {l10n.getString('name')}\n </Typography>\n </td>\n <td>\n <Typography variant=\"b2\" color=\"black\">\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.name || certificate.body.commonName}\n </peculiar-highlight-words>\n </Typography>\n </td>\n </tr>\n <tr>\n <td>\n <Typography variant=\"b2\" color=\"gray-9\">\n {l10n.getString('publicKey')}\n </Typography>\n </td>\n <td>\n <Typography variant=\"b2\" color=\"black\">\n <peculiar-highlight-words search={searchHighlight}>\n {publicKeyValue}\n </peculiar-highlight-words>\n </Typography>\n </td>\n </tr>\n <tr>\n <td>\n <Typography variant=\"b2\" color=\"gray-9\">\n {l10n.getString('fingerprint')}\n &nbsp; (SHA-1)\n </Typography>\n </td>\n <td>\n <Typography variant=\"b2\" color=\"black\">\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.body.thumbprints['SHA-1']}\n </peculiar-highlight-words>\n </Typography>\n </td>\n </tr>\n {isExpandedRow && this.renderExpandedRow(certificate.body)}\n <tr class=\"certificate_row_actions\">\n <td>\n {this.renderCertificateButtonActions(certificate)}\n <Button\n // eslint-disable-next-line react/jsx-no-bind\n onClick={this.handleClickRow.bind(this, index)}\n startIcon={isExpandedRow ? <ArrowTopIcon /> : <ArrowBottomIcon />}\n />\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n </tr>,\n ]);\n\n return;\n }\n\n content.push([\n <tr\n class={{\n m_expanded: isExpandedRow,\n }}\n key={certificate.body.thumbprints['SHA-1']}\n >\n <td>\n <Button\n class=\"button_table_cell\"\n // eslint-disable-next-line react/jsx-no-bind\n onClick={this.handleClickRow.bind(this, index)}\n startIcon={isExpandedRow ? <ArrowTopIcon /> : <ArrowBottomIcon />}\n />\n </td>\n {!this.isHasRoots && (\n <td>\n <Typography>\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.body.issuerCommonName}\n </peculiar-highlight-words>\n </Typography>\n </td>\n )}\n <td>\n <Typography>\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.name || certificate.body.commonName}\n </peculiar-highlight-words>\n </Typography>\n </td>\n <td>\n <Typography>\n <peculiar-highlight-words search={searchHighlight}>\n {publicKeyValue}\n </peculiar-highlight-words>\n </Typography>\n </td>\n <td>\n <Typography>\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.body.thumbprints['SHA-1']}\n </peculiar-highlight-words>\n </Typography>\n </td>\n <td>\n {this.renderCertificateButtonActions(certificate)}\n </td>\n </tr>,\n isExpandedRow && this.renderExpandedRow(certificate.body),\n ]);\n });\n\n return content;\n }\n\n private renderCertificateDetailsModal() {\n if (!this.certificateSelectedForDetails) {\n return null;\n }\n\n return (\n <div\n class=\"modal_wrapper\"\n role=\"presentation\"\n aria-hidden=\"false\"\n part=\"presentation\"\n >\n <div\n class=\"modal_backdrop\"\n onClick={this.handleModalClose}\n aria-hidden=\"true\"\n />\n <div\n class=\"modal_container\"\n role=\"dialog\"\n part=\"presentation_container\"\n >\n <header class=\"modal_header\">\n <Typography\n variant=\"h4\"\n >\n {l10n.getString('certificateDetails')}\n </Typography>\n <Button\n onClick={this.handleModalClose}\n startIcon={<CrossIcon />}\n />\n </header>\n <div class=\"modal_content\">\n <peculiar-certificate-viewer\n certificate={this.certificateSelectedForDetails}\n mobileMediaQueryString={this.mobileMediaQueryString}\n />\n </div>\n </div>\n </div>\n );\n }\n\n private renderSearch() {\n if (!this.filterWithSearch && !this.highlightWithSearch) {\n return null;\n }\n\n return (\n <div class=\"search_section\">\n <input\n onInput={this.handleSearch}\n type=\"search\"\n value=\"\"\n class=\"input_search t-b3 c-black\"\n disabled={!this.certificatesDecoded.length}\n placeholder=\"Search\"\n />\n </div>\n );\n }\n\n private renderEmptyState() {\n const colSpan = this.getMaxColSpanValue();\n\n return (\n <tr>\n <td\n class=\"status_wrapper\"\n colSpan={colSpan}\n >\n <Typography\n variant=\"b1\"\n >\n There are no certificates available.\n </Typography>\n </td>\n </tr>\n );\n }\n\n private renderEmptySearchState() {\n const colSpan = this.getMaxColSpanValue();\n\n return (\n <tr>\n <td\n class=\"status_wrapper\"\n colSpan={colSpan}\n >\n <Typography\n variant=\"b1\"\n >\n No results found for &ldquo;\n {this.search}\n &ldquo;\n </Typography>\n </td>\n </tr>\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderLoadingState() {\n return (\n <div class=\"loading_container\">\n <peculiar-circular-progress />\n </div>\n );\n }\n\n private renderTableBody() {\n if (this.isDecodeInProcess) {\n return null;\n }\n\n if (!this.certificatesDecoded.length) {\n return this.renderEmptyState();\n }\n\n const certificatesRows = this.renderCertificatesRows();\n\n if (this.search && !certificatesRows.length) {\n return this.renderEmptySearchState();\n }\n\n return certificatesRows;\n }\n\n render() {\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n {this.renderSearch()}\n <table>\n {!this.mobileScreenView && (\n <thead>\n <tr>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <th />\n {!this.isHasRoots && (\n <th class=\"col_issuer\">\n <Typography variant=\"s2\">\n {l10n.getString('issuer')}\n </Typography>\n </th>\n )}\n <th class=\"col_name\">\n <Typography variant=\"s2\">\n {l10n.getString('name')}\n </Typography>\n </th>\n <th class=\"col_public_key\">\n <Typography variant=\"s2\">\n {l10n.getString('publicKey')}\n </Typography>\n </th>\n <th class=\"col_fingerprint\">\n <Typography variant=\"s2\">\n {l10n.getString('fingerprint')}\n &nbsp; (SHA-1)\n </Typography>\n </th>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <th />\n </tr>\n </thead>\n )}\n <tbody>\n {this.renderTableBody()}\n </tbody>\n </table>\n\n {this.renderCertificateDetailsModal()}\n {this.isDecodeInProcess && this.renderLoadingState()}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"peculiar-certificates-viewer.entry.js","sources":["src/components/certificate-summary/certificate-summary.tsx","src/components/certificates-viewer/certificates-viewer.scss?tag=peculiar-certificates-viewer&encapsulation=shadow","src/components/certificates-viewer/certificates-viewer.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { FunctionalComponent, h } from '@stencil/core';\nimport type { X509Certificate } from '../../crypto';\nimport { dateShort, l10n } from '../../utils';\nimport { Typography } from '../typography';\n\ninterface CertificateSummaryProps {\n certificate: X509Certificate;\n showIssuer?: boolean;\n}\n\nexport const CertificateSummary: FunctionalComponent<CertificateSummaryProps> = (props) => {\n const {\n certificate,\n showIssuer,\n } = props;\n\n const renderRow = (name: string | string[], value: string | number) => (\n <tr>\n <td>\n <Typography\n variant=\"b2\"\n color=\"gray-9\"\n >\n {name}\n </Typography>\n </td>\n <td>\n <Typography\n variant=\"b2\"\n color=\"black\"\n >\n {value}\n </Typography>\n </td>\n </tr>\n );\n\n return (\n <table>\n <tbody>\n {renderRow(\n l10n.getString('subjectName'),\n certificate.subjectToString(),\n )}\n {showIssuer && renderRow(\n l10n.getString('issuerName'),\n certificate.issuerToString(),\n )}\n\n {renderRow(\n l10n.getString('serialNumber'),\n certificate.serialNumber,\n )}\n {renderRow(\n l10n.getString('version'),\n certificate.version,\n )}\n {renderRow(\n l10n.getString('validity'),\n certificate.validity,\n )}\n {renderRow(\n l10n.getString('issued'),\n dateShort(certificate.notBefore),\n )}\n {renderRow(\n l10n.getString('expired'),\n dateShort(certificate.notAfter),\n )}\n </tbody>\n </table>\n );\n};\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n word-wrap: break-word;\n min-width: 280px;\n overflow: auto;\n position: relative;\n}\n\n.search_section {\n padding: var(--pv-size-base-4);\n border-bottom: 1px solid var(--pv-color-gray-4);\n}\n\n.input_search {\n height: var(--pv-size-base-8);\n width: 100%;\n outline: none;\n background-color: var(--pv-color-gray-1);\n padding: 0 var(--pv-size-base-2);\n border: 1px solid var(--pv-color-gray-7);\n border-radius: 4px;\n transition: background-color 200ms ease 0s, color 200ms ease 0s, border-color 200ms ease 0s;\n &::placeholder {\n color: var(--pv-color-gray-9);\n }\n}\n\ntable {\n width: 100%;\n table-layout: fixed;\n border-collapse: collapse;\n border-spacing: 0;\n\n td, th {\n border-bottom: 1px solid var(--pv-color-gray-4);\n vertical-align: top;\n text-align: left;\n\n &:first-child {\n padding-right: 0;\n width: var(--pv-size-base-10);\n }\n &:last-child {\n padding-left: 0;\n width: var(--pv-size-base-10);\n }\n }\n\n th {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n\n &.col_action {\n padding: 0;\n }\n }\n\n td {\n padding: var(--pv-size-base-4);\n }\n\n tr {\n &.m_expanded {\n background: var(--pv-color-gray-1);\n\n > td {\n border-bottom: none;\n }\n }\n\n &.expanded_summary {\n background: var(--pv-color-gray-1);\n\n table {\n table-layout: initial;\n\n td {\n border-bottom: none;\n padding: var(--pv-size-base-2);\n\n &:first-child {\n width: 200px;\n }\n\n &:last-child {\n width: auto;\n }\n }\n }\n }\n }\n}\n\n.button_table_cell {\n margin-top: -3px;\n}\n\n.status_wrapper {\n text-align: center;\n height: var(--pv-size-base-16);\n vertical-align: middle;\n}\n\n.modal_wrapper {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1;\n animation: fadeIn 200ms;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.modal_backdrop {\n background: var(--pv-color-black);\n z-index: -1;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n opacity: 0.5;\n}\n\n.modal_container {\n background: var(--pv-color-white);\n width: 100%;\n display: flex;\n max-height: calc(100% - 60px);\n flex-direction: column;\n margin: var(--pv-size-base-6);\n position: relative;\n outline: none;\n box-shadow: var(--pv-shadow-dark-hight);\n overflow: hidden;\n border: 0px;\n padding: 0px;\n max-width: 640px;\n border-radius: 4px;\n}\n\n.modal_header {\n padding: var(--pv-size-base-3) var(--pv-size-base-4);\n display: flex;\n flex: 0 0 auto;\n -webkit-box-pack: justify;\n justify-content: space-between;\n gap: var(--pv-size-base-2);\n border-bottom: 1px solid var(--pv-color-gray-5);\n}\n\n.modal_content {\n flex: 1 1 auto;\n overflow: auto;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tbody, tr, td {\n display: block;\n width: 100% !important;\n padding: 0;\n border: none;\n }\n\n thead {\n display: none;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n }\n\n .expanded_summary {\n padding: 0;\n }\n\n .certificate_row {\n border-bottom: 1px solid var(--pv-color-gray-5);\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n }\n\n .certificate_row_actions {\n padding-top: var(--pv-size-base-6);\n\n td {\n display: flex;\n justify-content: right;\n gap: var(--pv-size-base-4);\n }\n }\n }\n\n .button_table_cell {\n margin-top: 0;\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n h,\n Prop,\n State,\n Watch,\n Host,\n Event,\n EventEmitter,\n Build,\n} from '@stencil/core';\n\nimport { X509Certificate } from '../../crypto';\nimport { OIDs } from '../../constants/oids';\nimport { l10n } from '../../utils';\nimport { Typography } from '../typography';\nimport { CertificateSummary } from '../certificate-summary';\nimport { Button } from '../button';\nimport {\n DownloadIcon,\n LinkIcon,\n DetailsIcon,\n ArrowBottomIcon,\n ArrowTopIcon,\n CrossIcon,\n} from '../icons';\n\nexport interface ICertificate {\n value: string;\n name?: string;\n tests?: {\n valid?: string;\n revoked?: string;\n expired?: string;\n };\n}\n\ninterface ICertificateDecoded {\n body: X509Certificate;\n tests?: ICertificate['tests'];\n name?: string;\n}\n\n@Component({\n tag: 'peculiar-certificates-viewer',\n styleUrl: 'certificates-viewer.scss',\n shadow: true,\n})\nexport class CertificatesViewer {\n private isHasRoots: boolean = false;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * List of certificates values for decode and show in the list.\n * <br />\n * **NOTE**: If you do not provide a `name` value when\n * invocing the component it will take the first Subject CN value.\n * <br />\n * **NOTE**: If you do not provide a `tests` this column will be ommited from the rendered page.\n * <br />\n * **NOTE**: If the supplied certificates are self-signed the issuer column will be ommited.\n */\n @Prop() certificates: ICertificate[] = [];\n\n /**\n * Use filter in the list when search is changed.\n */\n @Prop() filterWithSearch: boolean = true;\n\n /**\n * Use highlight chapters in the list when search is changed.\n */\n @Prop() highlightWithSearch: boolean = true;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n /**\n * Emitted when the user open certificate details modal.\n */\n @Event() detailsOpen!: EventEmitter<X509Certificate>;\n\n /**\n * Emitted when the user close certificate details modal.\n */\n @Event() detailsClose!: EventEmitter<void>;\n\n @State() mobileScreenView: boolean = false;\n\n @State() search: string = '';\n\n @State() certificatesDecoded: ICertificateDecoded[] = [];\n\n @State() expandedRow?: number;\n\n @State() certificateSelectedForDetails?: X509Certificate;\n\n @State() isDecodeInProcess: boolean = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.certificatesDecodeAndSet();\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n @Watch('certificates')\n watchCertificates(newValue: ICertificate[], oldValue: ICertificate[]) {\n /**\n * Prevent rerender after set the same `certificates` prop.\n */\n if (JSON.stringify(newValue) !== JSON.stringify(oldValue)) {\n this.certificatesDecodeAndSet();\n }\n }\n\n async certificatesDecodeAndSet() {\n let hasRoots = false;\n\n if (!Array.isArray(this.certificates)) {\n return;\n }\n\n const data: ICertificateDecoded[] = [];\n\n // eslint-disable-next-line no-restricted-syntax\n for (const certificate of this.certificates) {\n try {\n const decoded = new X509Certificate(certificate.value);\n\n await decoded.getThumbprint('SHA-1');\n\n data.push({\n body: decoded,\n tests: certificate.tests,\n name: certificate.name,\n });\n\n if (!hasRoots && decoded.isRoot) {\n hasRoots = true;\n }\n } catch (error) {\n console.error('Error certificate parse:', error);\n }\n }\n\n this.isHasRoots = hasRoots;\n this.isDecodeInProcess = false;\n this.certificatesDecoded = data;\n }\n\n // eslint-disable-next-line class-methods-use-this\n private handleClickDownloadAsPem(certificate: ICertificateDecoded) {\n certificate.body.downloadAsPEM(certificate.name || certificate.body.commonName);\n }\n\n // eslint-disable-next-line class-methods-use-this\n private handleClickDownloadAsDer(certificate: ICertificateDecoded) {\n certificate.body.downloadAsDER(certificate.name || certificate.body.commonName);\n }\n\n private handleClickDetails = (certificate: X509Certificate) => {\n this.certificateSelectedForDetails = certificate;\n this.detailsOpen.emit(certificate);\n };\n\n private handleModalClose = () => {\n this.certificateSelectedForDetails = undefined;\n\n this.detailsClose.emit();\n };\n\n private handleClickRow(index: number) {\n const isExpandedRowClicked = this.expandedRow === index;\n\n this.expandedRow = isExpandedRowClicked\n ? undefined\n : index;\n }\n\n private handleSearch = (event: any) => {\n this.search = event.target.value.trim();\n };\n\n private getMaxColSpanValue() {\n let colSpan = 5;\n\n if (!this.isHasRoots) {\n colSpan += 1;\n }\n\n return colSpan;\n }\n\n private renderCertificateButtonActions(certificate: ICertificateDecoded) {\n const isHasTestURLs = certificate.tests\n && (certificate.tests.expired || certificate.tests.revoked || certificate.tests.valid);\n\n return (\n <peculiar-button-menu\n class=\"button_table_cell\"\n groups={[\n {\n title: l10n.getString('previewCertificate'),\n options: [\n {\n text: l10n.getString('viewDetails'),\n startIcon: <DetailsIcon />,\n onClick: () => this.handleClickDetails(certificate.body),\n },\n ],\n },\n {\n title: l10n.getString('downloadOptions'),\n options: [\n {\n text: l10n.getString('download.pem'),\n startIcon: <DownloadIcon />,\n onClick: () => this.handleClickDownloadAsPem(certificate),\n },\n {\n text: l10n.getString('download.der'),\n startIcon: <DownloadIcon />,\n onClick: () => this.handleClickDownloadAsDer(certificate),\n },\n ],\n },\n ...(isHasTestURLs ? [{\n title: l10n.getString('testURLs'),\n options: [\n ...(certificate.tests?.valid ? [{\n text: l10n.getString('valid'),\n href: certificate.tests.valid,\n startIcon: <LinkIcon />,\n }] : []),\n ...(certificate.tests?.revoked ? [{\n text: l10n.getString('revoked'),\n href: certificate.tests.revoked,\n startIcon: <LinkIcon />,\n }] : []),\n ...(certificate.tests?.expired ? [{\n text: l10n.getString('expired'),\n href: certificate.tests.expired,\n startIcon: <LinkIcon />,\n }] : []),\n ],\n }] : []),\n ]}\n />\n );\n }\n\n private renderExpandedRow(certificate: X509Certificate) {\n const colSpan = this.getMaxColSpanValue() - 2;\n\n return (\n <tr class=\"expanded_summary\">\n <td />\n <td colSpan={colSpan}>\n <CertificateSummary\n certificate={certificate}\n showIssuer={!certificate.isRoot}\n />\n </td>\n <td />\n </tr>\n );\n }\n\n private renderCertificatesRows() {\n const searchHighlight = this.highlightWithSearch\n ? this.search\n : '';\n const content = [];\n\n this.certificatesDecoded.forEach((certificate, index) => {\n const isExpandedRow = index === this.expandedRow;\n const publicKeyValue = OIDs[certificate.body.signature.algorithm]\n || certificate.body.signature.algorithm;\n\n if (this.filterWithSearch && this.search) {\n const certificateStringForSearch = [\n publicKeyValue,\n certificate.body.issuerCommonName,\n certificate.name,\n certificate.body.commonName,\n certificate.body.thumbprints['SHA-1'],\n ]\n .join(' ')\n .toLowerCase();\n\n if (certificateStringForSearch.indexOf(this.search.toLowerCase()) === -1) {\n return;\n }\n }\n\n if (this.mobileScreenView) {\n content.push([\n <tr\n class={{\n certificate_row: true,\n m_expanded: isExpandedRow,\n }}\n key={certificate.body.thumbprints['SHA-1']}\n >\n <td>\n <table>\n <tbody>\n {!this.isHasRoots && (\n <tr>\n <td>\n <Typography variant=\"b2\" color=\"gray-9\">\n {l10n.getString('issuer')}\n </Typography>\n </td>\n <td>\n <Typography variant=\"b2\" color=\"black\">\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.body.issuerCommonName}\n </peculiar-highlight-words>\n </Typography>\n </td>\n </tr>\n )}\n <tr>\n <td>\n <Typography variant=\"b2\" color=\"gray-9\">\n {l10n.getString('name')}\n </Typography>\n </td>\n <td>\n <Typography variant=\"b2\" color=\"black\">\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.name || certificate.body.commonName}\n </peculiar-highlight-words>\n </Typography>\n </td>\n </tr>\n <tr>\n <td>\n <Typography variant=\"b2\" color=\"gray-9\">\n {l10n.getString('publicKey')}\n </Typography>\n </td>\n <td>\n <Typography variant=\"b2\" color=\"black\">\n <peculiar-highlight-words search={searchHighlight}>\n {publicKeyValue}\n </peculiar-highlight-words>\n </Typography>\n </td>\n </tr>\n <tr>\n <td>\n <Typography variant=\"b2\" color=\"gray-9\">\n {l10n.getString('fingerprint')}\n &nbsp; (SHA-1)\n </Typography>\n </td>\n <td>\n <Typography variant=\"b2\" color=\"black\">\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.body.thumbprints['SHA-1']}\n </peculiar-highlight-words>\n </Typography>\n </td>\n </tr>\n {isExpandedRow && this.renderExpandedRow(certificate.body)}\n <tr class=\"certificate_row_actions\">\n <td>\n {this.renderCertificateButtonActions(certificate)}\n <Button\n // eslint-disable-next-line react/jsx-no-bind\n onClick={this.handleClickRow.bind(this, index)}\n startIcon={isExpandedRow ? <ArrowTopIcon /> : <ArrowBottomIcon />}\n />\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n </tr>,\n ]);\n\n return;\n }\n\n content.push([\n <tr\n class={{\n m_expanded: isExpandedRow,\n }}\n key={certificate.body.thumbprints['SHA-1']}\n >\n <td>\n <Button\n class=\"button_table_cell\"\n // eslint-disable-next-line react/jsx-no-bind\n onClick={this.handleClickRow.bind(this, index)}\n startIcon={isExpandedRow ? <ArrowTopIcon /> : <ArrowBottomIcon />}\n />\n </td>\n {!this.isHasRoots && (\n <td>\n <Typography>\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.body.issuerCommonName}\n </peculiar-highlight-words>\n </Typography>\n </td>\n )}\n <td>\n <Typography>\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.name || certificate.body.commonName}\n </peculiar-highlight-words>\n </Typography>\n </td>\n <td>\n <Typography>\n <peculiar-highlight-words search={searchHighlight}>\n {publicKeyValue}\n </peculiar-highlight-words>\n </Typography>\n </td>\n <td>\n <Typography>\n <peculiar-highlight-words search={searchHighlight}>\n {certificate.body.thumbprints['SHA-1']}\n </peculiar-highlight-words>\n </Typography>\n </td>\n <td>\n {this.renderCertificateButtonActions(certificate)}\n </td>\n </tr>,\n isExpandedRow && this.renderExpandedRow(certificate.body),\n ]);\n });\n\n return content;\n }\n\n private renderCertificateDetailsModal() {\n if (!this.certificateSelectedForDetails) {\n return null;\n }\n\n return (\n <div\n class=\"modal_wrapper\"\n role=\"presentation\"\n aria-hidden=\"false\"\n part=\"presentation\"\n >\n <div\n class=\"modal_backdrop\"\n onClick={this.handleModalClose}\n aria-hidden=\"true\"\n />\n <div\n class=\"modal_container\"\n role=\"dialog\"\n part=\"presentation_container\"\n >\n <header class=\"modal_header\">\n <Typography\n variant=\"h4\"\n >\n {l10n.getString('certificateDetails')}\n </Typography>\n <Button\n onClick={this.handleModalClose}\n startIcon={<CrossIcon />}\n />\n </header>\n <div class=\"modal_content\">\n <peculiar-certificate-viewer\n certificate={this.certificateSelectedForDetails}\n mobileMediaQueryString={this.mobileMediaQueryString}\n />\n </div>\n </div>\n </div>\n );\n }\n\n private renderSearch() {\n if (!this.filterWithSearch && !this.highlightWithSearch) {\n return null;\n }\n\n return (\n <div class=\"search_section\">\n <input\n onInput={this.handleSearch}\n type=\"search\"\n value=\"\"\n class=\"input_search t-b3 c-black\"\n disabled={!this.certificatesDecoded.length}\n placeholder=\"Search\"\n />\n </div>\n );\n }\n\n private renderEmptyState() {\n const colSpan = this.getMaxColSpanValue();\n\n return (\n <tr>\n <td\n class=\"status_wrapper\"\n colSpan={colSpan}\n >\n <Typography\n variant=\"b1\"\n >\n There are no certificates available.\n </Typography>\n </td>\n </tr>\n );\n }\n\n private renderEmptySearchState() {\n const colSpan = this.getMaxColSpanValue();\n\n return (\n <tr>\n <td\n class=\"status_wrapper\"\n colSpan={colSpan}\n >\n <Typography\n variant=\"b1\"\n >\n No results found for &ldquo;\n {this.search}\n &ldquo;\n </Typography>\n </td>\n </tr>\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderLoadingState() {\n return (\n <div class=\"loading_container\">\n <peculiar-circular-progress />\n </div>\n );\n }\n\n private renderTableBody() {\n if (this.isDecodeInProcess) {\n return null;\n }\n\n if (!this.certificatesDecoded.length) {\n return this.renderEmptyState();\n }\n\n const certificatesRows = this.renderCertificatesRows();\n\n if (this.search && !certificatesRows.length) {\n return this.renderEmptySearchState();\n }\n\n return certificatesRows;\n }\n\n render() {\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n {this.renderSearch()}\n <table>\n {!this.mobileScreenView && (\n <thead>\n <tr>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <th />\n {!this.isHasRoots && (\n <th class=\"col_issuer\">\n <Typography variant=\"s2\">\n {l10n.getString('issuer')}\n </Typography>\n </th>\n )}\n <th class=\"col_name\">\n <Typography variant=\"s2\">\n {l10n.getString('name')}\n </Typography>\n </th>\n <th class=\"col_public_key\">\n <Typography variant=\"s2\">\n {l10n.getString('publicKey')}\n </Typography>\n </th>\n <th class=\"col_fingerprint\">\n <Typography variant=\"s2\">\n {l10n.getString('fingerprint')}\n &nbsp; (SHA-1)\n </Typography>\n </th>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <th />\n </tr>\n </thead>\n )}\n <tbody>\n {this.renderTableBody()}\n </tbody>\n </table>\n\n {this.renderCertificateDetailsModal()}\n {this.isDecodeInProcess && this.renderLoadingState()}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
3
  */
4
- import{r as registerInstance,h,H as Host}from"./index-ae188432.js";import{B as Button}from"./button-a2fabf9a.js";import{a as ArrowTopIcon,A as ArrowBottomIcon}from"./arrow_top-aee1ee02.js";var textHiderCss=".sc-peculiar-text-hider-h{display:-ms-flexbox;display:flex;width:100%;gap:var(--pv-size-base-4)}[aria-expanded=true].sc-peculiar-text-hider-h .content.sc-peculiar-text-hider{white-space:initial}.content.sc-peculiar-text-hider{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.action.sc-peculiar-text-hider{-ms-flex-negative:0;flex-shrink:0;margin-top:calc(var(--pv-size-base) * -1)}";var PeculiarTextHiderStyle0=textHiderCss;var TextHider=function(){function e(e){registerInstance(this,e);this.opened=false}e.prototype.render=function(){var e=this;return h(Host,{key:"d0442a0dcb70ffa79e5e9e9f9a4647a89b03dd8e","aria-expanded":String(this.opened)},h("div",{key:"6de993b7decfaa4ba3aec8147cbcda078fafa207",class:"content"},h("slot",{key:"11d130a9a9fa3529191944dcde50ccfb3561be19"})),h(Button,{key:"e76ff63ce6b47e4d4a60abb15397b95445d6a016",class:"action",onClick:function(){e.opened=!e.opened},startIcon:this.opened?h(ArrowTopIcon,{color:"secondary"}):h(ArrowBottomIcon,{color:"secondary"})}))};return e}();TextHider.style=PeculiarTextHiderStyle0;export{TextHider as peculiar_text_hider};
4
+ import{r as registerInstance,h,H as Host}from"./index-DDDrq3In.js";import{B as Button}from"./button-Djn8UI82.js";import{a as ArrowTopIcon,A as ArrowBottomIcon}from"./arrow_top-CF9pv-tQ.js";var textHiderCss=".sc-peculiar-text-hider-h{display:-ms-flexbox;display:flex;width:100%;gap:var(--pv-size-base-4)}[aria-expanded=true].sc-peculiar-text-hider-h .content.sc-peculiar-text-hider{white-space:initial}.content.sc-peculiar-text-hider{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.action.sc-peculiar-text-hider{-ms-flex-negative:0;flex-shrink:0;margin-top:calc(var(--pv-size-base) * -1)}";var TextHider=function(){function e(e){registerInstance(this,e);this.opened=false}e.prototype.render=function(){var e=this;return h(Host,{key:"8e4789c87df5e4b37a5fdce7b9489e1f26d52fd9","aria-expanded":String(this.opened)},h("div",{key:"d98c5a205b320e9590953cf1e66ef7087413c24c",class:"content"},h("slot",{key:"c20480b3144c9b05a719d3bd33a9569a937f176d"})),h(Button,{key:"a1913fb7cb9a79437e3c84553d38a7245824211a",class:"action",onClick:function(){e.opened=!e.opened},startIcon:this.opened?h(ArrowTopIcon,{color:"secondary"}):h(ArrowBottomIcon,{color:"secondary"})}))};return e}();TextHider.style=textHiderCss;export{TextHider as peculiar_text_hider};
5
5
  //# sourceMappingURL=peculiar-text-hider.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["textHiderCss","PeculiarTextHiderStyle0","TextHider","prototype","render","_this","this","h","Host","key","String","opened","class","Button","onClick","startIcon","ArrowTopIcon","color","ArrowBottomIcon"],"sources":["src/components/text-hider/text-hider.scss?tag=peculiar-text-hider&encapsulation=scoped","src/components/text-hider/text-hider.tsx"],"sourcesContent":[":host {\n display: flex;\n width: 100%;\n gap: var(--pv-size-base-4);\n\n &[aria-expanded=\"true\"] {\n .content {\n white-space: initial;\n }\n }\n}\n\n.content {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n}\n\n.action {\n flex-shrink: 0;\n margin-top: calc(var(--pv-size-base) * -1);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n State,\n} from '@stencil/core';\nimport { Button } from '../button';\nimport { ArrowBottomIcon, ArrowTopIcon } from '../icons';\n\n@Component({\n tag: 'peculiar-text-hider',\n styleUrl: 'text-hider.scss',\n scoped: true,\n})\nexport class TextHider {\n @State() opened: boolean = false;\n\n render() {\n return (\n <Host\n aria-expanded={String(this.opened)}\n >\n <div class=\"content\">\n <slot />\n </div>\n <Button\n class=\"action\"\n onClick={() => { this.opened = !this.opened; }}\n startIcon={this.opened ? <ArrowTopIcon color=\"secondary\" /> : <ArrowBottomIcon color=\"secondary\" />}\n />\n </Host>\n );\n }\n}\n"],"mappings":";;;6LAAA,IAAMA,aAAe,qZACrB,IAAAC,wBAAeD,a,ICqBFE,UAAS,W,mDACO,K,CAE3BA,EAAAC,UAAAC,OAAA,eAAAC,EAAAC,KACE,OACEC,EAACC,KAAI,CAAAC,IAAA,2DACYC,OAAOJ,KAAKK,SAE3BJ,EAAA,OAAAE,IAAA,2CAAKG,MAAM,WACTL,EAAA,QAAAE,IAAA,8CAEFF,EAACM,OAAM,CAAAJ,IAAA,2CACLG,MAAM,SACNE,QAAS,WAAQT,EAAKM,QAAUN,EAAKM,MAAO,EAC5CI,UAAWT,KAAKK,OAASJ,EAACS,aAAY,CAACC,MAAM,cAAiBV,EAACW,gBAAe,CAACD,MAAM,gB,WAdzE,G"}
1
+ {"version":3,"file":"peculiar-text-hider.entry.js","sources":["src/components/text-hider/text-hider.scss?tag=peculiar-text-hider&encapsulation=scoped","src/components/text-hider/text-hider.tsx"],"sourcesContent":[":host {\n display: flex;\n width: 100%;\n gap: var(--pv-size-base-4);\n\n &[aria-expanded=\"true\"] {\n .content {\n white-space: initial;\n }\n }\n}\n\n.content {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n}\n\n.action {\n flex-shrink: 0;\n margin-top: calc(var(--pv-size-base) * -1);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Host,\n h,\n State,\n} from '@stencil/core';\nimport { Button } from '../button';\nimport { ArrowBottomIcon, ArrowTopIcon } from '../icons';\n\n@Component({\n tag: 'peculiar-text-hider',\n styleUrl: 'text-hider.scss',\n scoped: true,\n})\nexport class TextHider {\n @State() opened: boolean = false;\n\n render() {\n return (\n <Host\n aria-expanded={String(this.opened)}\n >\n <div class=\"content\">\n <slot />\n </div>\n <Button\n class=\"action\"\n onClick={() => { this.opened = !this.opened; }}\n startIcon={this.opened ? <ArrowTopIcon color=\"secondary\" /> : <ArrowBottomIcon color=\"secondary\" />}\n />\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;AAAA,MAAM,YAAY,GAAG,oZAAoZ;;MCsB5Z,SAAS,GAAA,MAAA;AALtB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAMW,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK;AAkBjC;IAhBC,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,eAAA,EACY,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAA,EAElC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,SAAS,EAAA,EAClB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAQ,CACJ,EACN,CAAC,CAAA,MAAM,qDACL,KAAK,EAAC,QAAQ,EACd,OAAO,EAAE,MAAQ,EAAA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAC9C,SAAS,EAAE,IAAI,CAAC,MAAM,GAAG,CAAA,CAAC,YAAY,EAAC,EAAA,KAAK,EAAC,WAAW,EAAG,CAAA,GAAG,CAAA,CAAC,eAAe,EAAA,EAAC,KAAK,EAAC,WAAW,EAAG,CAAA,EAAA,CACnG,CACG;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  var __awaiter=this&&this.__awaiter||function(e,i,t,r){function n(e){return e instanceof t?e:new t((function(i){i(e)}))}return new(t||(t=Promise))((function(t,c){function a(e){try{o(r.next(e))}catch(e){c(e)}}function s(e){try{o(r["throw"](e))}catch(e){c(e)}}function o(e){e.done?t(e.value):n(e.value).then(a,s)}o((r=r.apply(e,i||[])).next())}))};var __generator=this&&this.__generator||function(e,i){var t={label:0,sent:function(){if(c[0]&1)throw c[1];return c[1]},trys:[],ops:[]},r,n,c,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(e){return function(i){return o([e,i])}}function o(s){if(r)throw new TypeError("Generator is already executing.");while(a&&(a=0,s[0]&&(t=0)),t)try{if(r=1,n&&(c=s[0]&2?n["return"]:s[0]?n["throw"]||((c=n["return"])&&c.call(n),0):n.next)&&!(c=c.call(n,s[1])).done)return c;if(n=0,c)s=[s[0]&2,c.value];switch(s[0]){case 0:case 1:c=s;break;case 4:t.label++;return{value:s[1],done:false};case 5:t.label++;n=s[1];s=[0];continue;case 7:s=t.ops.pop();t.trys.pop();continue;default:if(!(c=t.trys,c=c.length>0&&c[c.length-1])&&(s[0]===6||s[0]===2)){t=0;continue}if(s[0]===3&&(!c||s[1]>c[0]&&s[1]<c[3])){t.label=s[1];break}if(s[0]===6&&t.label<c[1]){t.label=c[1];c=s;break}if(c&&t.label<c[2]){t.label=c[2];t.ops.push(s);break}if(c[2])t.ops.pop();t.trys.pop();continue}s=i.call(e,t)}catch(e){s=[6,e];n=0}finally{r=c=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};
2
2
  /*!
3
3
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
4
- */import{p as promiseResolve,b as bootstrapLazy}from"./index-ae188432.js";export{s as setNonce}from"./index-ae188432.js";import{g as globalScripts}from"./app-globals-5e9b67e0.js";var patchBrowser=function(){var e=import.meta.url;var i={};if(e!==""){i.resourcesUrl=new URL(".",e).href}return promiseResolve(i)};patchBrowser().then((function(e){return __awaiter(void 0,void 0,void 0,(function(){return __generator(this,(function(i){switch(i.label){case 0:return[4,globalScripts()];case 1:i.sent();return[2,bootstrapLazy([["peculiar-certificate-decoder",[[1,"peculiar-certificate-decoder",{certificateExamples:[16],defaultCertificate:[1,"default-certificate"],certificateDecoded:[32]}]]],["peculiar-certificates-viewer",[[1,"peculiar-certificates-viewer",{certificates:[16],filterWithSearch:[4,"filter-with-search"],highlightWithSearch:[4,"highlight-with-search"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],search:[32],certificatesDecoded:[32],expandedRow:[32],certificateSelectedForDetails:[32],isDecodeInProcess:[32]},null,{certificates:["watchCertificates"]}]]],["peculiar-text-hider",[[6,"peculiar-text-hider",{opened:[32]}]]],["peculiar-certificate-viewer",[[1,"peculiar-certificate-viewer",{certificate:[513],download:[516],authKeyIdParentLink:[513,"auth-key-id-parent-link"],authKeyIdSiblingsLink:[513,"auth-key-id-siblings-link"],subjectKeyIdChildrenLink:[513,"subject-key-id-children-link"],subjectKeyIdSiblingsLink:[513,"subject-key-id-siblings-link"],issuerDnLink:[513,"issuer-dn-link"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],isDecodeInProcess:[32]},null,{certificate:["watchCertificateAndDecode"]}]]],["peculiar-attribute-certificate-viewer_3",[[1,"peculiar-attribute-certificate-viewer",{certificate:[1],download:[4],authKeyIdParentLink:[513,"auth-key-id-parent-link"],authKeyIdSiblingsLink:[513,"auth-key-id-siblings-link"],subjectKeyIdChildrenLink:[513,"subject-key-id-children-link"],subjectKeyIdSiblingsLink:[513,"subject-key-id-siblings-link"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],isDecodeInProcess:[32]},null,{certificate:["watchCertificateAndDecode"]}],[1,"peculiar-crl-viewer",{certificate:[513],download:[4],authKeyIdParentLink:[513,"auth-key-id-parent-link"],authKeyIdSiblingsLink:[513,"auth-key-id-siblings-link"],issuerDnLink:[513,"issuer-dn-link"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],isDecodeInProcess:[32]},null,{certificate:["watchCertificateAndDecode"]}],[1,"peculiar-csr-viewer",{certificate:[513],download:[4],subjectKeyIdChildrenLink:[513,"subject-key-id-children-link"],subjectKeyIdSiblingsLink:[513,"subject-key-id-siblings-link"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],isDecodeInProcess:[32]},null,{certificate:["watchCertificateAndDecode"]}]]],["peculiar-button-menu_3",[[2,"peculiar-button-menu",{groups:[16],open:[32]}],[1,"peculiar-circular-progress",{size:[2],width:[2]}],[1,"peculiar-highlight-words",{search:[1]}]]]],e)]}}))}))}));
4
+ */import{p as promiseResolve,b as bootstrapLazy}from"./index-DDDrq3In.js";export{s as setNonce}from"./index-DDDrq3In.js";import{g as globalScripts}from"./app-globals-zVR349KA.js";var patchBrowser=function(){var e=import.meta.url;var i={};if(e!==""){i.resourcesUrl=new URL(".",e).href}return promiseResolve(i)};patchBrowser().then((function(e){return __awaiter(void 0,void 0,void 0,(function(){return __generator(this,(function(i){switch(i.label){case 0:return[4,globalScripts()];case 1:i.sent();return[2,bootstrapLazy([["peculiar-text-hider",[[6,"peculiar-text-hider",{opened:[32]}]]],["peculiar-certificate-viewer",[[1,"peculiar-certificate-viewer",{certificate:[513],download:[516],authKeyIdParentLink:[513,"auth-key-id-parent-link"],authKeyIdSiblingsLink:[513,"auth-key-id-siblings-link"],subjectKeyIdChildrenLink:[513,"subject-key-id-children-link"],subjectKeyIdSiblingsLink:[513,"subject-key-id-siblings-link"],issuerDnLink:[513,"issuer-dn-link"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],isDecodeInProcess:[32]},null,{certificate:["watchCertificateAndDecode"]}]]],["peculiar-attribute-certificate-viewer_4",[[1,"peculiar-certificate-chain-viewer",{certificates:[16],download:[516],selectedCertificateIndex:[32]}],[1,"peculiar-attribute-certificate-viewer",{certificate:[1],download:[4],authKeyIdParentLink:[513,"auth-key-id-parent-link"],authKeyIdSiblingsLink:[513,"auth-key-id-siblings-link"],subjectKeyIdChildrenLink:[513,"subject-key-id-children-link"],subjectKeyIdSiblingsLink:[513,"subject-key-id-siblings-link"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],isDecodeInProcess:[32]},null,{certificate:["watchCertificateAndDecode"]}],[1,"peculiar-crl-viewer",{certificate:[513],download:[4],authKeyIdParentLink:[513,"auth-key-id-parent-link"],authKeyIdSiblingsLink:[513,"auth-key-id-siblings-link"],issuerDnLink:[513,"issuer-dn-link"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],isDecodeInProcess:[32]},null,{certificate:["watchCertificateAndDecode"]}],[1,"peculiar-csr-viewer",{certificate:[513],download:[4],subjectKeyIdChildrenLink:[513,"subject-key-id-children-link"],subjectKeyIdSiblingsLink:[513,"subject-key-id-siblings-link"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],isDecodeInProcess:[32]},null,{certificate:["watchCertificateAndDecode"]}]]],["peculiar-certificate-decoder",[[1,"peculiar-certificate-decoder",{certificateExamples:[16],certificateToDecode:[1,"certificate-to-decode"],certificateDecoded:[32]}]]],["peculiar-button-menu_3",[[2,"peculiar-button-menu",{groups:[16],open:[32]}],[1,"peculiar-circular-progress",{size:[2],width:[2]}],[1,"peculiar-highlight-words",{search:[1]}]]],["peculiar-certificates-viewer",[[1,"peculiar-certificates-viewer",{certificates:[16],filterWithSearch:[4,"filter-with-search"],highlightWithSearch:[4,"highlight-with-search"],mobileMediaQueryString:[1,"mobile-media-query-string"],mobileScreenView:[32],search:[32],certificatesDecoded:[32],expandedRow:[32],certificateSelectedForDetails:[32],isDecodeInProcess:[32]},null,{certificates:["watchCertificates"]}]]]],e)]}}))}))}));
5
5
  //# sourceMappingURL=peculiar.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["patchBrowser","importMeta","url","opts","resourcesUrl","URL","href","promiseResolve","then","options","__awaiter","globalScripts","_a","sent","bootstrapLazy","certificateExamples","defaultCertificate","certificateDecoded","certificates","filterWithSearch","highlightWithSearch","mobileMediaQueryString","mobileScreenView","search","certificatesDecoded","expandedRow","certificateSelectedForDetails","isDecodeInProcess","opened","certificate","download","authKeyIdParentLink","authKeyIdSiblingsLink","subjectKeyIdChildrenLink","subjectKeyIdSiblingsLink","issuerDnLink","groups","open","size","width"],"sources":["../../node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.13.0 | MIT Licensed | https://stenciljs.com\n */\nimport { BUILD, NAMESPACE } from '@stencil/core/internal/app-data';\nimport { consoleDevInfo, doc, promiseResolve, H } from '@stencil/core';\nconst patchBrowser = () => {\n // NOTE!! This fn cannot use async/await!\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo('Running in development mode.');\n }\n if (BUILD.cloneNodeFix) {\n // opted-in to polyfill cloneNode() for slot polyfilled components\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts\n ? Array.from(doc.querySelectorAll('script')).find((s) => new RegExp(`\\/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) ||\n s.getAttribute('data-stencil-namespace') === NAMESPACE)\n : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})['data-opts'] || {} : {};\n if (importMeta !== '') {\n opts.resourcesUrl = new URL('.', importMeta).href;\n }\n return promiseResolve(opts);\n};\nconst patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function (deep) {\n if (this.nodeName === 'TEMPLATE') {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n // Node.ATTRIBUTE_NODE === 2, and checking because IE11\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport { patchBrowser };\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"mappings":";;;oLAKA,IAAMA,aAAe,WAajB,IAAMC,cAAyBC,IAC/B,IAAMC,EAAqE,GAC3E,GAAIF,IAAe,GAAI,CACnBE,EAAKC,aAAe,IAAIC,IAAI,IAAKJ,GAAYK,IACrD,CACI,OAAOC,eAAeJ,EAC1B,ECpBAH,eAAeQ,MAAK,SAAOC,GAAO,OAAAC,eAAA,4B,4DAChC,SAAMC,iB,OAANC,EAAAC,OACA,SAAOC,cAAc,iCAA8B,IAAO,+BAAE,CAAAC,oBAAA,KAAAC,mBAAA,0BAAAC,mBAAA,6EAAAC,aAAA,KAAAC,iBAAA,yBAAAC,oBAAA,4BAAAC,uBAAA,gCAAAC,iBAAA,KAAAC,OAAA,KAAAC,oBAAA,KAAAC,YAAA,KAAAC,8BAAA,KAAAC,kBAAA,YAAAT,aAAA,4EAAAU,OAAA,2EAAAC,YAAA,MAAAC,SAAA,MAAAC,oBAAA,gCAAAC,sBAAA,kCAAAC,yBAAA,qCAAAC,yBAAA,qCAAAC,aAAA,uBAAAd,uBAAA,gCAAAC,iBAAA,KAAAK,kBAAA,YAAAE,YAAA,0HAAAA,YAAA,IAAAC,SAAA,IAAAC,oBAAA,gCAAAC,sBAAA,kCAAAC,yBAAA,qCAAAC,yBAAA,qCAAAb,uBAAA,gCAAAC,iBAAA,KAAAK,kBAAA,YAAAE,YAAA,0DAAAA,YAAA,MAAAC,SAAA,IAAAC,oBAAA,gCAAAC,sBAAA,kCAAAG,aAAA,uBAAAd,uBAAA,gCAAAC,iBAAA,KAAAK,kBAAA,YAAAE,YAAA,0DAAAA,YAAA,MAAAC,SAAA,IAAAG,yBAAA,qCAAAC,yBAAA,qCAAAb,uBAAA,gCAAAC,iBAAA,KAAAK,kBAAA,YAAAE,YAAA,wFAAAO,OAAA,KAAAC,KAAA,wCAAAC,KAAA,IAAAC,MAAA,qCAAAhB,OAAA,SAAAd,I"}
1
+ {"version":3,"file":"peculiar.js","sources":["../../node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.28.2 | MIT Licensed | https://stenciljs.com\n */\n\n// src/client/client-patch-browser.ts\nimport { BUILD, NAMESPACE } from \"@stencil/core/internal/app-data\";\nimport { consoleDevInfo, H, promiseResolve, win } from \"@stencil/core\";\nvar patchBrowser = () => {\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo(\"Running in development mode.\");\n }\n if (BUILD.cloneNodeFix) {\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts ? win.document && Array.from(win.document.querySelectorAll(\"script\")).find(\n (s) => new RegExp(`/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute(\"data-stencil-namespace\") === NAMESPACE\n ) : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})[\"data-opts\"] || {} : {};\n if (importMeta !== \"\") {\n opts.resourcesUrl = new URL(\".\", importMeta).href;\n }\n return promiseResolve(opts);\n};\nvar patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function(deep) {\n if (this.nodeName === \"TEMPLATE\") {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport {\n patchBrowser\n};\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"names":[],"mappings":";;;;;;;AAAA;AACA;AACA;;AAKA,IAAI,YAAY,GAAG,MAAM;AAUzB,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG;AACpC,EAAE,MAAM,IAAI,GAAiE,EAAE;AAC/E,EAAE,IAAI,UAAU,KAAK,EAAE,EAAE;AACzB,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI;AACrD;AACA,EAAE,OAAO,cAAc,CAAC,IAAI,CAAC;AAC7B,CAAC;;ACnBD,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK;AACvC,EAAE,MAAM,aAAa,EAAE;AACvB,EAAE,OAAO,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC7D,CAAC,CAAC","x_google_ignoreList":[0]}
@@ -0,0 +1,19 @@
1
+ var __extends=this&&this.__extends||function(){var e=function(t,n){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n))e[n]=t[n]};return e(t,n)};return function(t,n){if(typeof n!=="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function i(){this.constructor=t}t.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}();var __awaiter=this&&this.__awaiter||function(e,t,n,i){function a(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,r){function s(e){try{u(i.next(e))}catch(e){r(e)}}function o(e){try{u(i["throw"](e))}catch(e){r(e)}}function u(e){e.done?n(e.value):a(e.value).then(s,o)}u((i=i.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},i,a,r,s;return s={next:o(0),throw:o(1),return:o(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function o(e){return function(t){return u([e,t])}}function u(o){if(i)throw new TypeError("Generator is already executing.");while(s&&(s=0,o[0]&&(n=0)),n)try{if(i=1,a&&(r=o[0]&2?a["return"]:o[0]?a["throw"]||((r=a["return"])&&r.call(a),0):a.next)&&!(r=r.call(a,o[1])).done)return r;if(a=0,r)o=[o[0]&2,r.value];switch(o[0]){case 0:case 1:r=o;break;case 4:n.label++;return{value:o[1],done:false};case 5:n.label++;a=o[1];o=[0];continue;case 7:o=n.ops.pop();n.trys.pop();continue;default:if(!(r=n.trys,r=r.length>0&&r[r.length-1])&&(o[0]===6||o[0]===2)){n=0;continue}if(o[0]===3&&(!r||o[1]>r[0]&&o[1]<r[3])){n.label=o[1];break}if(o[0]===6&&n.label<r[1]){n.label=r[1];r=o;break}if(r&&n.label<r[2]){n.label=r[2];n.ops.push(o);break}if(r[2])n.ops.pop();n.trys.pop();continue}o=t.call(e,n)}catch(e){o=[6,e];a=0}finally{i=r=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}};var _a;
2
+ /*!
3
+ * © Peculiar Ventures https://peculiarventures.com/ - MIT License
4
+ */import{A as AsnData,q as Attribute$1,r as AsnParser,s as ExtensionRequest,U as UnstructuredName,t as ChallengePassword,V as ValuationRanking,I as InsuranceValue,W as WebGDPR,u as ActivityDescription,T as TypeRelationship,v as DomainNameTechnicalOperator,w as DomainNameOwner,x as DomainNameLegalRepresentative,y as DomainNameBeneficiary,b as buildExports,z as id_pkcs9_at_extensionRequest,B as id_pkcs9_at_unstructuredName,F as id_pkcs9_at_challengePassword,G as id_ValuationRanking,H as id_InsuranceValue,J as id_WebGDPR,K as id_ActivityDescription,L as id_TypeRelationship,M as id_DomainNameTechnicalOperator,O as id_DomainNameOwner,Q as id_DomainNameLegalRepresentative,S as id_DomainNameBeneficiary,c as certificateRawToBuffer,X as CertificationRequest,P as PemConverter,N as Name,i as id_ecPublicKey,e as AsnConvert,f as ECParameters,g as id_rsaEncryption,R as RSAPublicKey,n as getCertificateThumbprint,E as Extension,D as Download}from"./certification_request-BTbyumBe.js";
5
+ /**
6
+ * @license
7
+ * Copyright (c) Peculiar Ventures, LLC.
8
+ *
9
+ * This source code is licensed under the MIT license found in the
10
+ * LICENSE file in the root directory of this source tree.
11
+ */var attributesParsers=(_a={},_a[id_DomainNameBeneficiary]=DomainNameBeneficiary,_a[id_DomainNameLegalRepresentative]=DomainNameLegalRepresentative,_a[id_DomainNameOwner]=DomainNameOwner,_a[id_DomainNameTechnicalOperator]=DomainNameTechnicalOperator,_a[id_TypeRelationship]=TypeRelationship,_a[id_ActivityDescription]=ActivityDescription,_a[id_WebGDPR]=WebGDPR,_a[id_InsuranceValue]=InsuranceValue,_a[id_ValuationRanking]=ValuationRanking,_a[id_pkcs9_at_challengePassword]=ChallengePassword,_a[id_pkcs9_at_unstructuredName]=UnstructuredName,_a[id_pkcs9_at_extensionRequest]=ExtensionRequest,_a);var Attribute=function(e){__extends(t,e);function t(t){var n=e.call(this,t,Attribute$1)||this;var i=n.getAsnExtnValue();try{var a=attributesParsers[n.asn.type];if(a){n.value=AsnParser.parse(i,a)}else{console.warn("Didn't detect parser for \"".concat(n.asn.type,'" attribute.'));n.value=buildExports.Convert.ToHex(i)}}catch(e){console.error('Error parse "'.concat(n.asn.type,'" attribute:'),e.message);n.value=buildExports.Convert.ToHex(i)}return n}t.prototype.getAsnExtnValue=function(){return this.asn.values[0]};return t}(AsnData);
12
+ /**
13
+ * @license
14
+ * Copyright (c) Peculiar Ventures, LLC.
15
+ *
16
+ * This source code is licensed under the MIT license found in the
17
+ * LICENSE file in the root directory of this source tree.
18
+ */var Pkcs10CertificateRequest=function(e){__extends(t,e);function t(t){var n=e.call(this,certificateRawToBuffer(t),CertificationRequest)||this;n.thumbprints={};n.type="PKCS#10 Certificate Request";n.tag=PemConverter.CertificateRequestTag;var i=n.asn.certificationRequestInfo;n.subject=new Name(i.subject).toJSON();n.version=i.version;return n}Object.defineProperty(t.prototype,"publicKey",{get:function(){var e=this.asn.certificationRequestInfo.subjectPKInfo,t=e.subjectPublicKey,n=e.algorithm;var i;if(n.algorithm===id_ecPublicKey&&n.parameters){i=AsnConvert.parse(n.parameters,ECParameters)}if(n.algorithm===id_rsaEncryption){i=AsnConvert.parse(t,RSAPublicKey)}var a=AsnConvert.serialize(this.asn.certificationRequestInfo.subjectPKInfo);return{params:i,value:a,algorithm:n.algorithm}},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"signature",{get:function(){var e=this.asn,t=e.signature,n=e.signatureAlgorithm;return{value:t,algorithm:n.algorithm}},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"commonName",{get:function(){if(!this.subject){return""}for(var e=0;e<this.subject.length;e+=1){var t=this.subject[e];if(t.shortName==="CN"||t.shortName==="E"||t.shortName==="O"){return t.value}}return""},enumerable:false,configurable:true});t.prototype.getThumbprint=function(){return __awaiter(this,arguments,void 0,(function(e){var t,n;if(e===void 0){e="SHA-1"}return __generator(this,(function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);return[4,getCertificateThumbprint(e,this.raw)];case 1:t=i.sent();if(t){this.thumbprints[e]=buildExports.Convert.ToHex(t)}return[3,3];case 2:n=i.sent();console.error("Error thumbprint get:",n);return[3,3];case 3:return[2]}}))}))};t.prototype.parseAttributes=function(){var e=this.asn.certificationRequestInfo;if(e.attributes){this.attributes=e.attributes.map((function(e){return new Attribute(AsnConvert.serialize(e))}));var t=this.attributes.find((function(e){return e.asn.type===id_pkcs9_at_extensionRequest}));if(t){this.extensions=t.value.map((function(e){return new Extension(AsnConvert.serialize(e))}))}}};t.prototype.toString=function(e){if(e===void 0){e="pem"}switch(e){case"pem":return PemConverter.encode(this.raw,this.tag);case"base64url":return buildExports.Convert.ToBase64Url(this.raw);default:return buildExports.Convert.ToBase64(this.raw)}};t.prototype.downloadAsPEM=function(e){Download.csr.asPEM(this.toString("pem"),e||this.commonName)};t.prototype.downloadAsDER=function(e){Download.csr.asDER(this.raw,e||this.commonName)};return t}(AsnData);export{Attribute as A,Pkcs10CertificateRequest as P};
19
+ //# sourceMappingURL=pkcs10_certificate_request-CrA_WcgY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pkcs10_certificate_request-CrA_WcgY.js","sources":["src/crypto/attribute.ts","src/crypto/pkcs10_certificate_request.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Convert } from 'pvtsutils';\nimport { AsnParser } from '@peculiar/asn1-schema';\nimport { Attribute as AsnAttribute } from '@peculiar/asn1-x509';\nimport {\n id_DomainNameBeneficiary,\n DomainNameBeneficiary,\n\n id_DomainNameLegalRepresentative,\n DomainNameLegalRepresentative,\n\n id_DomainNameOwner,\n DomainNameOwner,\n\n id_DomainNameTechnicalOperator,\n DomainNameTechnicalOperator,\n\n id_TypeRelationship,\n TypeRelationship,\n\n id_ActivityDescription,\n ActivityDescription,\n\n id_WebGDPR,\n WebGDPR,\n\n id_InsuranceValue,\n InsuranceValue,\n\n id_ValuationRanking,\n ValuationRanking,\n} from '@peculiar/asn1-ntqwac';\nimport {\n id_pkcs9_at_extensionRequest,\n ExtensionRequest,\n\n id_pkcs9_at_challengePassword,\n ChallengePassword,\n\n id_pkcs9_at_unstructuredName,\n UnstructuredName,\n} from '@peculiar/asn1-pkcs9';\n\nimport { AsnData } from './asn_data';\n\nconst attributesParsers = {\n [id_DomainNameBeneficiary]: DomainNameBeneficiary,\n [id_DomainNameLegalRepresentative]: DomainNameLegalRepresentative,\n [id_DomainNameOwner]: DomainNameOwner,\n [id_DomainNameTechnicalOperator]: DomainNameTechnicalOperator,\n [id_TypeRelationship]: TypeRelationship,\n [id_ActivityDescription]: ActivityDescription,\n [id_WebGDPR]: WebGDPR,\n [id_InsuranceValue]: InsuranceValue,\n [id_ValuationRanking]: ValuationRanking,\n [id_pkcs9_at_challengePassword]: ChallengePassword,\n [id_pkcs9_at_unstructuredName]: UnstructuredName,\n [id_pkcs9_at_extensionRequest]: ExtensionRequest,\n};\n\ntype TAttributeKeys = keyof typeof attributesParsers;\nexport type TAttributeValue = InstanceType<typeof attributesParsers[TAttributeKeys]> | string;\n\nexport class Attribute<T extends TAttributeValue> extends AsnData<AsnAttribute> {\n public readonly value: T;\n\n private getAsnExtnValue() {\n return this.asn.values[0];\n }\n\n constructor(raw: BufferSource) {\n super(raw, AsnAttribute);\n\n const asnExtnValue = this.getAsnExtnValue();\n\n try {\n const target = attributesParsers[this.asn.type];\n\n if (target) {\n this.value = AsnParser.parse<T>(asnExtnValue, target);\n } else {\n console.warn(`Didn't detect parser for \"${this.asn.type}\" attribute.`);\n\n this.value = Convert.ToHex(asnExtnValue) as T;\n }\n } catch (error) {\n console.error(`Error parse \"${this.asn.type}\" attribute:`, error.message);\n\n this.value = Convert.ToHex(asnExtnValue) as T;\n }\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { AsnConvert } from '@peculiar/asn1-schema';\nimport { ECParameters, id_ecPublicKey } from '@peculiar/asn1-ecc';\nimport { id_rsaEncryption, RSAPublicKey } from '@peculiar/asn1-rsa';\nimport { CertificationRequest } from '@peculiar/asn1-csr';\nimport {\n id_pkcs9_at_extensionRequest,\n ExtensionRequest,\n} from '@peculiar/asn1-pkcs9';\nimport { Convert } from 'pvtsutils';\n\nimport { Download } from '../utils';\n\nimport { AsnData } from './asn_data';\nimport { Name, INameJSON } from './name';\nimport { Attribute, TAttributeValue } from './attribute';\nimport { Extension, TExtensionValue } from './extension';\nimport { PemConverter } from './pem_converter';\nimport {\n certificateRawToBuffer,\n getCertificateThumbprint,\n} from './utils';\n\ninterface ISignature {\n algorithm: string;\n value: BufferSource;\n}\n\ninterface IPublicKey {\n algorithm: string;\n value: BufferSource;\n params?: ECParameters | RSAPublicKey;\n}\n\nexport class Pkcs10CertificateRequest extends AsnData<CertificationRequest> {\n public readonly subject: INameJSON[];\n\n public readonly version: number;\n\n public attributes: Attribute<TAttributeValue>[];\n\n public extensions: Extension<TExtensionValue>[];\n\n public thumbprints: Record<string, string> = {};\n\n public readonly type = 'PKCS#10 Certificate Request';\n\n public readonly tag = PemConverter.CertificateRequestTag;\n\n constructor(raw: string) {\n super(certificateRawToBuffer(raw), CertificationRequest);\n\n const { certificationRequestInfo } = this.asn;\n\n this.subject = new Name(certificationRequestInfo.subject).toJSON();\n this.version = certificationRequestInfo.version;\n }\n\n public get publicKey(): IPublicKey {\n const { subjectPublicKey, algorithm } = this.asn.certificationRequestInfo.subjectPKInfo;\n let params;\n\n if (algorithm.algorithm === id_ecPublicKey && algorithm.parameters) {\n params = AsnConvert.parse(algorithm.parameters, ECParameters);\n }\n\n if (algorithm.algorithm === id_rsaEncryption) {\n params = AsnConvert.parse(subjectPublicKey, RSAPublicKey);\n }\n\n const spki = AsnConvert.serialize(this.asn.certificationRequestInfo.subjectPKInfo);\n\n return {\n params,\n value: spki,\n algorithm: algorithm.algorithm,\n };\n }\n\n public get signature(): ISignature {\n const { signature, signatureAlgorithm } = this.asn;\n\n return {\n value: signature,\n algorithm: signatureAlgorithm.algorithm,\n };\n }\n\n public get commonName(): string {\n if (!this.subject) {\n return '';\n }\n\n for (let i = 0; i < this.subject.length; i += 1) {\n const name = this.subject[i];\n\n if (name.shortName === 'CN' || name.shortName === 'E' || name.shortName === 'O') {\n return name.value;\n }\n }\n\n return '';\n }\n\n public async getThumbprint(\n algorithm: string = 'SHA-1',\n ): Promise<void> {\n try {\n const thumbprint = await getCertificateThumbprint(algorithm, this.raw);\n\n if (thumbprint) {\n this.thumbprints[algorithm] = Convert.ToHex(thumbprint);\n }\n } catch (error) {\n console.error('Error thumbprint get:', error);\n }\n }\n\n public parseAttributes() {\n const { certificationRequestInfo } = this.asn;\n\n if (certificationRequestInfo.attributes) {\n this.attributes = certificationRequestInfo.attributes\n .map((e) => new Attribute(AsnConvert.serialize(e)));\n\n const extensionRequestAttribute = this.attributes.find(\n (attribute) => attribute.asn.type === id_pkcs9_at_extensionRequest,\n ) as Attribute<ExtensionRequest>;\n\n if (extensionRequestAttribute) {\n this.extensions = extensionRequestAttribute.value\n .map((e) => new Extension(AsnConvert.serialize(e)));\n }\n }\n }\n\n public toString(format: 'pem' | 'base64' | 'base64url' = 'pem'): string {\n switch (format) {\n case 'pem':\n return PemConverter.encode(this.raw, this.tag);\n case 'base64url':\n return Convert.ToBase64Url(this.raw);\n default:\n return Convert.ToBase64(this.raw);\n }\n }\n\n public downloadAsPEM(name?: string) {\n Download.csr.asPEM(\n this.toString('pem'),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.csr.asDER(\n this.raw,\n name || this.commonName,\n );\n }\n}\n"],"names":["AsnAttribute","Convert"],"mappings":"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"}
@@ -9,4 +9,4 @@
9
9
  * LICENSE file in the root directory of this source tree.
10
10
  */
11
11
  function readAsBinaryString(e){return new Promise((function(r,n){var i=new FileReader;i.onload=function(){return r({value:i.result,fileName:e.name,fileSize:e.size,sourceMime:e.type})};i.onerror=function(){return n(i.error)};i.readAsBinaryString(e)}))}function readAsArrayBuffer(e){return new Promise((function(r,n){var i=new FileReader;i.onload=function(){return r({value:i.result,fileName:e.name,fileSize:e.size,sourceMime:e.type})};i.onerror=function(){return n(i.error)};i.readAsArrayBuffer(e)}))}function readAsDataUrl(e){return new Promise((function(r,n){var i=new FileReader;i.onload=function(){return r({value:i.result,fileName:e.name,fileSize:e.size,sourceMime:e.type})};i.onerror=function(){return n(i.error)};i.readAsDataURL(e)}))}function readAsText(e,r){return new Promise((function(n,i){var u=new FileReader;u.onload=function(){return n({value:u.result,fileName:e.name,fileSize:e.size,sourceMime:e.type})};u.onerror=function(){return i(u.error)};u.readAsText(e,r)}))}export{readAsBinaryString as a,readAsDataUrl as b,readAsText as c,readAsArrayBuffer as r};
12
- //# sourceMappingURL=read_file-bb0b1450.js.map
12
+ //# sourceMappingURL=read_file-F2F0McJX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read_file-F2F0McJX.js","sources":["src/utils/read_file.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport type FileValue = string | ArrayBuffer | null;\nexport interface IFileDataType extends Blob {\n name?: string;\n mimeType?: string;\n lastModified?: number;\n}\nexport interface IReadFileResult {\n value: FileValue;\n fileName: string | undefined;\n fileSize: number | undefined;\n sourceMime: string | undefined;\n}\n\n/**\n * Read file as Binary string\n *\n * @example\n * ```js\n * const file = new File(['file'], 'file.pdf', { type: 'text/plain' });\n * readAsBinaryString(file)\n * .then(result => console.log('Readed success', result))\n * .catch(err => console.log('An error occured when reading file', err));\n * ```\n */\n\nexport function readAsBinaryString(file: IFileDataType): Promise<IReadFileResult> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => resolve({\n value: reader.result,\n fileName: file.name,\n fileSize: file.size,\n sourceMime: file.type,\n });\n\n reader.onerror = () => reject(reader.error);\n\n reader.readAsBinaryString(file);\n });\n}\n\n/**\n * Read file as ArrayBuffer\n *\n * @example\n * ```js\n * const file = new File(['file'], 'file.pdf', { type: 'text/plain' });\n * readAsArrayBuffer(file)\n * .then(result => console.log('Readed success', result))\n * .catch(err => console.log('An error occured when reading file', err));\n * ```\n */\n\nexport function readAsArrayBuffer(file: IFileDataType): Promise<IReadFileResult> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => resolve({\n value: reader.result,\n fileName: file.name,\n fileSize: file.size,\n sourceMime: file.type,\n });\n\n reader.onerror = () => reject(reader.error);\n\n reader.readAsArrayBuffer(file);\n });\n}\n\n/**\n * Read file as Data URL\n *\n * @example\n * ```js\n * const file = new File(['file'], 'file.pdf', { type: 'text/plain' });\n * readAsDataUrl(file)\n * .then(result => console.log('Readed success', result))\n * .catch(err => console.log('An error occured when reading file', err));\n * ```\n */\n\nexport function readAsDataUrl(file: IFileDataType): Promise<IReadFileResult> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => resolve({\n value: reader.result,\n fileName: file.name,\n fileSize: file.size,\n sourceMime: file.type,\n });\n\n reader.onerror = () => reject(reader.error);\n\n reader.readAsDataURL(file);\n });\n}\n\n/**\n * Read file as Text\n *\n * @example\n * ```js\n * const file = new File(['file'], 'file.pdf', { type: 'text/plain' });\n * readAsText(file)\n * .then(result => console.log('Readed success', result))\n * .catch(err => console.log('An error occured when reading file', err));\n * ```\n */\n\nexport function readAsText(file: IFileDataType, options?: string): Promise<IReadFileResult> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => resolve({\n value: reader.result,\n fileName: file.name,\n fileSize: file.size,\n sourceMime: file.type,\n });\n\n reader.onerror = () => reject(reader.error);\n\n reader.readAsText(file, options);\n });\n}\n"],"names":[],"mappings":";;;AAAA;;;;;;AAMG;AAeH;;;;;;;;;;AAUG;AAEG,SAAU,kBAAkB,CAAC,IAAmB,EAAA;IACpD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAE/B,QAAA,MAAM,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC;YAC5B,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,UAAU,EAAE,IAAI,CAAC,IAAI;AACtB,SAAA,CAAC;AAEF,QAAA,MAAM,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;AAE3C,QAAA,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC;AACjC,KAAC,CAAC;AACJ;AAEA;;;;;;;;;;AAUG;AAEG,SAAU,iBAAiB,CAAC,IAAmB,EAAA;IACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAE/B,QAAA,MAAM,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC;YAC5B,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,UAAU,EAAE,IAAI,CAAC,IAAI;AACtB,SAAA,CAAC;AAEF,QAAA,MAAM,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;AAE3C,QAAA,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC;AAChC,KAAC,CAAC;AACJ;AAEA;;;;;;;;;;AAUG;AAEG,SAAU,aAAa,CAAC,IAAmB,EAAA;IAC/C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAE/B,QAAA,MAAM,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC;YAC5B,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,UAAU,EAAE,IAAI,CAAC,IAAI;AACtB,SAAA,CAAC;AAEF,QAAA,MAAM,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;AAE3C,QAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;AAC5B,KAAC,CAAC;AACJ;AAEA;;;;;;;;;;AAUG;AAEa,SAAA,UAAU,CAAC,IAAmB,EAAE,OAAgB,EAAA;IAC9D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAE/B,QAAA,MAAM,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC;YAC5B,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,UAAU,EAAE,IAAI,CAAC,IAAI;AACtB,SAAA,CAAC;AAEF,QAAA,MAAM,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;AAE3C,QAAA,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;AAClC,KAAC,CAAC;AACJ;;;;"}
@@ -0,0 +1,12 @@
1
+ var __extends=this&&this.__extends||function(){var t=function(e,r){t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r))t[r]=e[r]};return t(e,r)};return function(e,r){if(typeof r!=="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function n(){this.constructor=e}e.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();var __awaiter=this&&this.__awaiter||function(t,e,r,n){function i(t){return t instanceof r?t:new r((function(e){e(t)}))}return new(r||(r=Promise))((function(r,a){function o(t){try{s(n.next(t))}catch(t){a(t)}}function u(t){try{s(n["throw"](t))}catch(t){a(t)}}function s(t){t.done?r(t.value):i(t.value).then(o,u)}s((n=n.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var r={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,i,a,o;return o={next:u(0),throw:u(1),return:u(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function u(t){return function(e){return s([t,e])}}function s(u){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,u[0]&&(r=0)),r)try{if(n=1,i&&(a=u[0]&2?i["return"]:u[0]?i["throw"]||((a=i["return"])&&a.call(i),0):i.next)&&!(a=a.call(i,u[1])).done)return a;if(i=0,a)u=[u[0]&2,a.value];switch(u[0]){case 0:case 1:a=u;break;case 4:r.label++;return{value:u[1],done:false};case 5:r.label++;i=u[1];u=[0];continue;case 7:u=r.ops.pop();r.trys.pop();continue;default:if(!(a=r.trys,a=a.length>0&&a[a.length-1])&&(u[0]===6||u[0]===2)){r=0;continue}if(u[0]===3&&(!a||u[1]>a[0]&&u[1]<a[3])){r.label=u[1];break}if(u[0]===6&&r.label<a[1]){r.label=a[1];a=u;break}if(a&&r.label<a[2]){r.label=a[2];r.ops.push(u);break}if(a[2])r.ops.pop();r.trys.pop();continue}u=e.call(t,r)}catch(t){u=[6,t];i=0}finally{n=a=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:true}}};
2
+ /*!
3
+ * © Peculiar Ventures https://peculiarventures.com/ - MIT License
4
+ */import{A as AsnData,c as certificateRawToBuffer,C as Certificate,P as PemConverter,b as buildExports,N as Name,a as dateDiff,E as Extension,e as AsnConvert,i as id_ecPublicKey,f as ECParameters,g as id_rsaEncryption,R as RSAPublicKey,h as id_composite_key,j as CompositePublicKey,k as id_alg_composite,l as CompositeSignatureValue,m as CompositeParams,n as getCertificateThumbprint,D as Download}from"./certification_request-BTbyumBe.js";
5
+ /**
6
+ * @license
7
+ * Copyright (c) Peculiar Ventures, LLC.
8
+ *
9
+ * This source code is licensed under the MIT license found in the
10
+ * LICENSE file in the root directory of this source tree.
11
+ */var X509Certificate=function(t){__extends(e,t);function e(e){var r=t.call(this,certificateRawToBuffer(e),Certificate)||this;r.thumbprints={};r.type="X.509 Certificate";r.tag=PemConverter.CertificateTag;var n=r.asn.tbsCertificate;r.serialNumber=buildExports.Convert.ToHex(n.serialNumber);r.subject=new Name(n.subject).toJSON();r.issuer=new Name(n.issuer).toJSON();r.version=n.version+1;var i=n.validity.notBefore.utcTime||n.validity.notBefore.generalTime;if(!i){throw new Error("Cannot get 'notBefore' value")}r.notBefore=i;var a=n.validity.notAfter.utcTime||n.validity.notAfter.generalTime;if(!a){throw new Error("Cannot get 'notAfter' value")}r.notAfter=a;r.validity=dateDiff(r.notBefore,r.notAfter);return r}e.prototype.parseExtensions=function(){var t=this.asn.tbsCertificate;if(t.extensions){this.extensions=t.extensions.map((function(t){return new Extension(AsnConvert.serialize(t))}))}};e.prototype.getPublicKeyInfo=function(t){var e=this;var r=t.subjectPublicKey,n=t.algorithm;var i;if(n.algorithm===id_ecPublicKey&&n.parameters){i=AsnConvert.parse(n.parameters,ECParameters)}if(n.algorithm===id_rsaEncryption){i=AsnConvert.parse(r,RSAPublicKey)}if(n.algorithm===id_composite_key){i=AsnConvert.parse(r,CompositePublicKey);i=i.map((function(t){return e.getPublicKeyInfo(t)}))}var a=AsnConvert.serialize(t);return{params:i,value:a,algorithm:n.algorithm}};Object.defineProperty(e.prototype,"publicKey",{get:function(){return this.getPublicKeyInfo(this.asn.tbsCertificate.subjectPublicKeyInfo)},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"signature",{get:function(){var t=this.asn,e=t.signatureValue,r=t.signatureAlgorithm;var n;if(r.algorithm===id_alg_composite){var i=AsnConvert.parse(e,CompositeSignatureValue);var a=AsnConvert.parse(r.parameters,CompositeParams);n=a.map((function(t,e){return Object.assign(Object.assign({},t),{value:i[e]})}))}return{params:n,value:e,algorithm:r.algorithm}},enumerable:false,configurable:true});e.prototype.getThumbprint=function(){return __awaiter(this,arguments,void 0,(function(t){var e,r;if(t===void 0){t="SHA-1"}return __generator(this,(function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);return[4,getCertificateThumbprint(t,this.raw)];case 1:e=n.sent();if(e){this.thumbprints[t]=buildExports.Convert.ToHex(e)}return[3,3];case 2:r=n.sent();console.error("Error thumbprint get:",r);return[3,3];case 3:return[2]}}))}))};Object.defineProperty(e.prototype,"commonName",{get:function(){if(!this.subject){return""}for(var t=0;t<this.subject.length;t+=1){var e=this.subject[t];if(e.shortName==="CN"||e.shortName==="E"||e.shortName==="O"){return e.value}}return""},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"issuerCommonName",{get:function(){if(!this.issuer){return""}for(var t=0;t<this.issuer.length;t+=1){var e=this.issuer[t];if(e.shortName==="CN"){return e.value}if(e.shortName==="E"){return e.value}}return""},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"isRoot",{get:function(){return JSON.stringify(this.issuer)===JSON.stringify(this.subject)},enumerable:false,configurable:true});e.prototype.subjectToString=function(){if(!this.subject){return""}return this.subject.map((function(t){return"".concat(t.shortName,"=").concat(t.value)})).join(", ")};e.prototype.issuerToString=function(){if(!this.issuer){return""}return this.issuer.map((function(t){return"".concat(t.shortName,"=").concat(t.value)})).join(", ")};e.prototype.toString=function(t){if(t===void 0){t="pem"}switch(t){case"pem":return PemConverter.encode(this.raw,this.tag);case"base64url":return buildExports.Convert.ToBase64Url(this.raw);default:return buildExports.Convert.ToBase64(this.raw)}};e.prototype.downloadAsPEM=function(t){Download.cert.asPEM(this.toString("pem"),t||this.commonName)};e.prototype.downloadAsDER=function(t){Download.cert.asDER(this.raw,t||this.commonName)};return e}(AsnData);export{X509Certificate as X};
12
+ //# sourceMappingURL=x509_certificate-DX7sKoAD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x509_certificate-DX7sKoAD.js","sources":["src/crypto/x509_certificate.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { AsnConvert } from '@peculiar/asn1-schema';\nimport { ECParameters, id_ecPublicKey } from '@peculiar/asn1-ecc';\nimport { id_rsaEncryption, RSAPublicKey } from '@peculiar/asn1-rsa';\nimport {\n id_composite_key,\n id_alg_composite,\n CompositePublicKey,\n CompositeSignatureValue,\n CompositeParams,\n} from '@peculiar/asn1-x509-post-quantum';\nimport { Certificate, SubjectPublicKeyInfo } from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\n\nimport { dateDiff, Download } from '../utils';\n\nimport { Name, INameJSON } from './name';\nimport { Extension, TExtensionValue } from './extension';\nimport { AsnData } from './asn_data';\nimport { PemConverter } from './pem_converter';\nimport {\n certificateRawToBuffer,\n getCertificateThumbprint,\n} from './utils';\n\nexport interface ISignature {\n algorithm: string;\n value: BufferSource;\n params?: {\n algorithm: string;\n value: BufferSource;\n }[];\n}\n\nexport interface IPublicKey {\n algorithm: string;\n value: BufferSource;\n params?: ECParameters | RSAPublicKey | IPublicKey[];\n}\n\nexport class X509Certificate extends AsnData<Certificate> {\n public readonly serialNumber: string;\n\n public readonly subject: INameJSON[];\n\n public readonly issuer: INameJSON[];\n\n public readonly notBefore: Date;\n\n public readonly notAfter: Date;\n\n public readonly validity: string;\n\n public extensions: Extension<TExtensionValue>[];\n\n public readonly version: number;\n\n public thumbprints: Record<string, string> = {};\n\n public readonly type = 'X.509 Certificate';\n\n public readonly tag = PemConverter.CertificateTag;\n\n constructor(raw: string) {\n super(certificateRawToBuffer(raw), Certificate);\n\n const { tbsCertificate } = this.asn;\n\n this.serialNumber = Convert.ToHex(tbsCertificate.serialNumber);\n this.subject = new Name(tbsCertificate.subject).toJSON();\n this.issuer = new Name(tbsCertificate.issuer).toJSON();\n this.version = tbsCertificate.version + 1;\n\n const notBefore = tbsCertificate.validity.notBefore.utcTime\n || tbsCertificate.validity.notBefore.generalTime;\n\n if (!notBefore) {\n throw new Error(\"Cannot get 'notBefore' value\");\n }\n\n this.notBefore = notBefore;\n\n const notAfter = tbsCertificate.validity.notAfter.utcTime\n || tbsCertificate.validity.notAfter.generalTime;\n\n if (!notAfter) {\n throw new Error(\"Cannot get 'notAfter' value\");\n }\n\n this.notAfter = notAfter;\n this.validity = dateDiff(this.notBefore, this.notAfter);\n }\n\n public parseExtensions() {\n const { tbsCertificate } = this.asn;\n\n if (tbsCertificate.extensions) {\n this.extensions = tbsCertificate.extensions\n .map((e) => new Extension(AsnConvert.serialize(e)));\n }\n }\n\n private getPublicKeyInfo(publicKeyInfo: SubjectPublicKeyInfo) {\n const { subjectPublicKey, algorithm } = publicKeyInfo;\n let params;\n\n if (algorithm.algorithm === id_ecPublicKey && algorithm.parameters) {\n params = AsnConvert.parse(algorithm.parameters, ECParameters);\n }\n\n if (algorithm.algorithm === id_rsaEncryption) {\n params = AsnConvert.parse(subjectPublicKey, RSAPublicKey);\n }\n\n if (algorithm.algorithm === id_composite_key) {\n params = AsnConvert.parse(subjectPublicKey, CompositePublicKey);\n\n params = params.map((param) => this.getPublicKeyInfo(param));\n }\n\n const spki = AsnConvert.serialize(publicKeyInfo);\n\n return {\n params,\n value: spki,\n algorithm: algorithm.algorithm,\n };\n }\n\n public get publicKey(): IPublicKey {\n return this.getPublicKeyInfo(this.asn.tbsCertificate.subjectPublicKeyInfo);\n }\n\n public get signature(): ISignature {\n const { signatureValue, signatureAlgorithm } = this.asn;\n let params;\n\n if (signatureAlgorithm.algorithm === id_alg_composite) {\n const compositeSignatureValues = AsnConvert.parse(signatureValue, CompositeSignatureValue);\n const compositeParams = AsnConvert.parse(signatureAlgorithm.parameters, CompositeParams);\n\n params = compositeParams.map((param, index) => ({\n ...param,\n value: compositeSignatureValues[index],\n }));\n }\n\n return {\n params,\n value: signatureValue,\n algorithm: signatureAlgorithm.algorithm,\n };\n }\n\n public async getThumbprint(\n algorithm: string = 'SHA-1',\n ): Promise<void> {\n try {\n const thumbprint = await getCertificateThumbprint(algorithm, this.raw);\n\n if (thumbprint) {\n this.thumbprints[algorithm] = Convert.ToHex(thumbprint);\n }\n } catch (error) {\n console.error('Error thumbprint get:', error);\n }\n }\n\n public get commonName(): string {\n if (!this.subject) {\n return '';\n }\n\n for (let i = 0; i < this.subject.length; i += 1) {\n const name = this.subject[i];\n\n if (name.shortName === 'CN' || name.shortName === 'E' || name.shortName === 'O') {\n return name.value;\n }\n }\n\n return '';\n }\n\n public get issuerCommonName(): string {\n if (!this.issuer) {\n return '';\n }\n\n for (let i = 0; i < this.issuer.length; i += 1) {\n const name = this.issuer[i];\n\n if (name.shortName === 'CN') {\n return name.value;\n }\n\n if (name.shortName === 'E') {\n return name.value;\n }\n }\n\n return '';\n }\n\n public get isRoot(): boolean {\n return JSON.stringify(this.issuer) === JSON.stringify(this.subject);\n }\n\n public subjectToString() {\n if (!this.subject) {\n return '';\n }\n\n return this.subject\n .map((name) => (\n `${name.shortName}=${name.value}`\n ))\n .join(', ');\n }\n\n public issuerToString() {\n if (!this.issuer) {\n return '';\n }\n\n return this.issuer\n .map((name) => (\n `${name.shortName}=${name.value}`\n ))\n .join(', ');\n }\n\n public toString(format: 'pem' | 'base64' | 'base64url' = 'pem'): string {\n switch (format) {\n case 'pem':\n return PemConverter.encode(this.raw, this.tag);\n case 'base64url':\n return Convert.ToBase64Url(this.raw);\n default:\n return Convert.ToBase64(this.raw);\n }\n }\n\n public downloadAsPEM(name?: string) {\n Download.cert.asPEM(\n this.toString('pem'),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.cert.asDER(\n this.raw,\n name || this.commonName,\n );\n }\n}\n"],"names":["Convert"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ var __extends=this&&this.__extends||function(){var t=function(e,r){t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r))t[r]=e[r]};return t(e,r)};return function(e,r){if(typeof r!=="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function n(){this.constructor=e}e.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();var __awaiter=this&&this.__awaiter||function(t,e,r,n){function i(t){return t instanceof r?t:new r((function(e){e(t)}))}return new(r||(r=Promise))((function(r,o){function u(t){try{s(n.next(t))}catch(t){o(t)}}function a(t){try{s(n["throw"](t))}catch(t){o(t)}}function s(t){t.done?r(t.value):i(t.value).then(u,a)}s((n=n.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var r={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},n,i,o,u;return u={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(u[Symbol.iterator]=function(){return this}),u;function a(t){return function(e){return s([t,e])}}function s(a){if(n)throw new TypeError("Generator is already executing.");while(u&&(u=0,a[0]&&(r=0)),r)try{if(n=1,i&&(o=a[0]&2?i["return"]:a[0]?i["throw"]||((o=i["return"])&&o.call(i),0):i.next)&&!(o=o.call(i,a[1])).done)return o;if(i=0,o)a=[a[0]&2,o.value];switch(a[0]){case 0:case 1:o=a;break;case 4:r.label++;return{value:a[1],done:false};case 5:r.label++;i=a[1];a=[0];continue;case 7:a=r.ops.pop();r.trys.pop();continue;default:if(!(o=r.trys,o=o.length>0&&o[o.length-1])&&(a[0]===6||a[0]===2)){r=0;continue}if(a[0]===3&&(!o||a[1]>o[0]&&a[1]<o[3])){r.label=a[1];break}if(a[0]===6&&r.label<o[1]){r.label=o[1];o=a;break}if(o&&r.label<o[2]){r.label=o[2];r.ops.push(a);break}if(o[2])r.ops.pop();r.trys.pop();continue}a=e.call(t,r)}catch(t){a=[6,t];i=0}finally{n=o=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};
2
+ /*!
3
+ * © Peculiar Ventures https://peculiarventures.com/ - MIT License
4
+ */import{A as AsnData,c as certificateRawToBuffer,o as AttributeCertificate,P as PemConverter,b as buildExports,a as dateDiff,E as Extension,e as AsnConvert,n as getCertificateThumbprint,D as Download,p as CertificateList,N as Name}from"./certification_request-BTbyumBe.js";import{A as Attribute}from"./pkcs10_certificate_request-CrA_WcgY.js";
5
+ /**
6
+ * @license
7
+ * Copyright (c) Peculiar Ventures, LLC.
8
+ *
9
+ * This source code is licensed under the MIT license found in the
10
+ * LICENSE file in the root directory of this source tree.
11
+ */var X509AttributeCertificate=function(t){__extends(e,t);function e(e){var r;var n=t.call(this,certificateRawToBuffer(e),AttributeCertificate)||this;n.thumbprints={};n.type="X.509 Attribute Certificate";n.tag=PemConverter.AttributeCertificateTag;var i=n.asn.acinfo;n.serialNumber=buildExports.Convert.ToHex(i.serialNumber);n.version=i.version;var o=i.attrCertValidityPeriod.notBeforeTime;if(!o){throw new Error("Cannot get 'notBefore' value")}n.notBefore=o;var u=i.attrCertValidityPeriod.notAfterTime;if(!u){throw new Error("Cannot get 'notAfter' value")}n.notAfter=u;n.validity=dateDiff(n.notBefore,n.notAfter);n.issuer=i.issuer.v1Form||((r=i.issuer.v2Form)===null||r===void 0?void 0:r.issuerName);n.holder=i.holder;return n}Object.defineProperty(e.prototype,"signature",{get:function(){var t=this.asn,e=t.signatureValue,r=t.signatureAlgorithm;return{value:e,algorithm:r.algorithm}},enumerable:false,configurable:true});e.prototype.parseExtensions=function(){var t=this.asn.acinfo;if(t.extensions){this.extensions=t.extensions.map((function(t){return new Extension(AsnConvert.serialize(t))}))}};e.prototype.parseAttributes=function(){var t=this.asn.acinfo;if(t.attributes){this.attributes=t.attributes.map((function(t){return new Attribute(AsnConvert.serialize(t))}))}};e.prototype.getThumbprint=function(){return __awaiter(this,arguments,void 0,(function(t){var e,r;if(t===void 0){t="SHA-1"}return __generator(this,(function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);return[4,getCertificateThumbprint(t,this.raw)];case 1:e=n.sent();if(e){this.thumbprints[t]=buildExports.Convert.ToHex(e)}return[3,3];case 2:r=n.sent();console.error("Error thumbprint get:",r);return[3,3];case 3:return[2]}}))}))};Object.defineProperty(e.prototype,"commonName",{get:function(){return"attribute-certificate-".concat(this.thumbprints["SHA-1"])},enumerable:false,configurable:true});e.prototype.toString=function(t){if(t===void 0){t="pem"}switch(t){case"pem":return PemConverter.encode(this.raw,this.tag);case"base64url":return buildExports.Convert.ToBase64Url(this.raw);default:return buildExports.Convert.ToBase64(this.raw)}};e.prototype.downloadAsPEM=function(t){Download.attrCert.asPEM(this.toString("pem"),t||this.commonName)};e.prototype.downloadAsDER=function(t){Download.attrCert.asDER(this.raw,t||this.commonName)};return e}(AsnData);
12
+ /**
13
+ * @license
14
+ * Copyright (c) Peculiar Ventures, LLC.
15
+ *
16
+ * This source code is licensed under the MIT license found in the
17
+ * LICENSE file in the root directory of this source tree.
18
+ */var X509Crl=function(t){__extends(e,t);function e(e){var r=t.call(this,certificateRawToBuffer(e),CertificateList)||this;r.thumbprints={};r.type="X.509 Certificate Revocation List";r.tag=PemConverter.CrlTag;var n=r.asn.tbsCertList;r.issuer=new Name(n.issuer).toJSON();r.version=n.version+1;r.lastUpdate=n.thisUpdate.getTime();r.nextUpdate=n.nextUpdate.getTime();r.revokedCertificates=(n.revokedCertificates||[]).map((function(t){var e;return{revocationDate:t.revocationDate,userCertificate:t.userCertificate,crlEntryExtensions:(e=t.crlEntryExtensions)===null||e===void 0?void 0:e.map((function(t){return new Extension(AsnConvert.serialize(t))}))}}));return r}e.prototype.getThumbprint=function(){return __awaiter(this,arguments,void 0,(function(t){var e,r;if(t===void 0){t="SHA-1"}return __generator(this,(function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);return[4,getCertificateThumbprint(t,this.raw)];case 1:e=n.sent();if(e){this.thumbprints[t]=buildExports.Convert.ToHex(e)}return[3,3];case 2:r=n.sent();console.error("Error thumbprint get:",r);return[3,3];case 3:return[2]}}))}))};Object.defineProperty(e.prototype,"signature",{get:function(){var t=this.asn,e=t.signature,r=t.signatureAlgorithm;return{value:e,algorithm:r.algorithm}},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"commonName",{get:function(){if(!this.issuer){return""}for(var t=0;t<this.issuer.length;t+=1){var e=this.issuer[t];if(e.shortName==="CN"||e.shortName==="E"||e.shortName==="O"){return e.value}}return""},enumerable:false,configurable:true});e.prototype.parseExtensions=function(){var t=this.asn.tbsCertList;if(t.crlExtensions){this.extensions=t.crlExtensions.map((function(t){return new Extension(AsnConvert.serialize(t))}))}};e.prototype.toString=function(t){if(t===void 0){t="pem"}switch(t){case"pem":return PemConverter.encode(this.raw,this.tag);case"base64url":return buildExports.Convert.ToBase64Url(this.raw);default:return buildExports.Convert.ToBase64(this.raw)}};e.prototype.downloadAsPEM=function(t){Download.crl.asPEM(this.toString("pem"),t||this.commonName)};e.prototype.downloadAsDER=function(t){Download.crl.asDER(this.raw,t||this.commonName)};return e}(AsnData);export{X509AttributeCertificate as X,X509Crl as a};
19
+ //# sourceMappingURL=x509_crl-DRjoh8Yp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x509_crl-DRjoh8Yp.js","sources":["src/crypto/x509_attribute_certificate.ts","src/crypto/x509_crl.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { AsnConvert } from '@peculiar/asn1-schema';\nimport type { GeneralName } from '@peculiar/asn1-x509';\nimport { AttributeCertificate, Holder } from '@peculiar/asn1-x509-attr';\nimport { Convert } from 'pvtsutils';\n\nimport { dateDiff, Download } from '../utils';\n\nimport { AsnData } from './asn_data';\nimport { Extension, TExtensionValue } from './extension';\nimport { Attribute, TAttributeValue } from './attribute';\nimport { PemConverter } from './pem_converter';\nimport {\n certificateRawToBuffer,\n getCertificateThumbprint,\n} from './utils';\n\ninterface ISignature {\n algorithm: string;\n value: BufferSource;\n}\n\nexport class X509AttributeCertificate extends AsnData<AttributeCertificate> {\n public readonly serialNumber: string;\n\n public readonly version: number;\n\n public readonly notBefore: Date;\n\n public readonly notAfter: Date;\n\n public readonly validity: string;\n\n public extensions: Extension<TExtensionValue>[];\n\n public attributes: Attribute<TAttributeValue>[];\n\n public thumbprints: Record<string, string> = {};\n\n public readonly issuer: GeneralName[];\n\n public holder: Holder;\n\n public readonly type = 'X.509 Attribute Certificate';\n\n public readonly tag = PemConverter.AttributeCertificateTag;\n\n constructor(raw: string) {\n super(certificateRawToBuffer(raw), AttributeCertificate);\n\n const { acinfo } = this.asn;\n\n this.serialNumber = Convert.ToHex(acinfo.serialNumber);\n this.version = acinfo.version;\n\n const notBefore = acinfo.attrCertValidityPeriod.notBeforeTime;\n\n if (!notBefore) {\n throw new Error(\"Cannot get 'notBefore' value\");\n }\n\n this.notBefore = notBefore;\n\n const notAfter = acinfo.attrCertValidityPeriod.notAfterTime;\n\n if (!notAfter) {\n throw new Error(\"Cannot get 'notAfter' value\");\n }\n\n this.notAfter = notAfter;\n this.validity = dateDiff(this.notBefore, this.notAfter);\n this.issuer = acinfo.issuer.v1Form || acinfo.issuer.v2Form?.issuerName;\n this.holder = acinfo.holder;\n }\n\n public get signature(): ISignature {\n const { signatureValue, signatureAlgorithm } = this.asn;\n\n return {\n value: signatureValue,\n algorithm: signatureAlgorithm.algorithm,\n };\n }\n\n public parseExtensions() {\n const { acinfo } = this.asn;\n\n if (acinfo.extensions) {\n this.extensions = acinfo.extensions\n .map((e) => new Extension(AsnConvert.serialize(e)));\n }\n }\n\n public parseAttributes() {\n const { acinfo } = this.asn;\n\n if (acinfo.attributes) {\n this.attributes = acinfo.attributes\n .map((e) => new Attribute(AsnConvert.serialize(e)));\n }\n }\n\n public async getThumbprint(\n algorithm: string = 'SHA-1',\n ): Promise<void> {\n try {\n const thumbprint = await getCertificateThumbprint(algorithm, this.raw);\n\n if (thumbprint) {\n this.thumbprints[algorithm] = Convert.ToHex(thumbprint);\n }\n } catch (error) {\n console.error('Error thumbprint get:', error);\n }\n }\n\n public get commonName(): string {\n return `attribute-certificate-${this.thumbprints['SHA-1']}`;\n }\n\n public toString(format: 'pem' | 'base64' | 'base64url' = 'pem'): string {\n switch (format) {\n case 'pem':\n return PemConverter.encode(this.raw, this.tag);\n case 'base64url':\n return Convert.ToBase64Url(this.raw);\n default:\n return Convert.ToBase64(this.raw);\n }\n }\n\n public downloadAsPEM(name?: string) {\n Download.attrCert.asPEM(\n this.toString('pem'),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.attrCert.asDER(\n this.raw,\n name || this.commonName,\n );\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { AsnConvert } from '@peculiar/asn1-schema';\nimport { CertificateList, Time } from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\n\nimport { Download } from '../utils';\n\nimport { Extension, TExtensionValue } from './extension';\nimport { AsnData } from './asn_data';\nimport { Name, INameJSON } from './name';\nimport { PemConverter } from './pem_converter';\nimport {\n certificateRawToBuffer,\n getCertificateThumbprint,\n} from './utils';\n\ninterface ISignature {\n algorithm: string;\n value: BufferSource;\n}\n\nexport interface IRevokedCertificate {\n userCertificate: ArrayBuffer;\n revocationDate: Time;\n crlEntryExtensions?: Extension<TExtensionValue>[];\n}\n\nexport class X509Crl extends AsnData<CertificateList> {\n public readonly issuer: INameJSON[];\n\n public readonly version: number;\n\n public readonly lastUpdate: Date;\n\n public readonly nextUpdate: Date;\n\n public extensions: Extension<TExtensionValue>[];\n\n public revokedCertificates: IRevokedCertificate[];\n\n public thumbprints: Record<string, string> = {};\n\n public readonly type = 'X.509 Certificate Revocation List';\n\n public readonly tag = PemConverter.CrlTag;\n\n constructor(raw: string) {\n super(certificateRawToBuffer(raw), CertificateList);\n\n const { tbsCertList } = this.asn;\n\n this.issuer = new Name(tbsCertList.issuer).toJSON();\n this.version = tbsCertList.version + 1;\n this.lastUpdate = tbsCertList.thisUpdate.getTime();\n this.nextUpdate = tbsCertList.nextUpdate.getTime();\n\n this.revokedCertificates = (tbsCertList.revokedCertificates || [])\n .map((revokedCertificate) => ({\n revocationDate: revokedCertificate.revocationDate,\n userCertificate: revokedCertificate.userCertificate,\n crlEntryExtensions: revokedCertificate.crlEntryExtensions\n ?.map((e) => new Extension(AsnConvert.serialize(e))),\n }));\n }\n\n public async getThumbprint(\n algorithm: string = 'SHA-1',\n ): Promise<void> {\n try {\n const thumbprint = await getCertificateThumbprint(algorithm, this.raw);\n\n if (thumbprint) {\n this.thumbprints[algorithm] = Convert.ToHex(thumbprint);\n }\n } catch (error) {\n console.error('Error thumbprint get:', error);\n }\n }\n\n public get signature(): ISignature {\n const { signature, signatureAlgorithm } = this.asn;\n\n return {\n value: signature,\n algorithm: signatureAlgorithm.algorithm,\n };\n }\n\n public get commonName(): string {\n if (!this.issuer) {\n return '';\n }\n\n for (let i = 0; i < this.issuer.length; i += 1) {\n const name = this.issuer[i];\n\n if (name.shortName === 'CN' || name.shortName === 'E' || name.shortName === 'O') {\n return name.value;\n }\n }\n\n return '';\n }\n\n public parseExtensions() {\n const { tbsCertList } = this.asn;\n\n if (tbsCertList.crlExtensions) {\n this.extensions = tbsCertList.crlExtensions\n .map((e) => new Extension(AsnConvert.serialize(e)));\n }\n }\n\n public toString(format: 'pem' | 'base64' | 'base64url' = 'pem'): string {\n switch (format) {\n case 'pem':\n return PemConverter.encode(this.raw, this.tag);\n case 'base64url':\n return Convert.ToBase64Url(this.raw);\n default:\n return Convert.ToBase64(this.raw);\n }\n }\n\n public downloadAsPEM(name?: string) {\n Download.crl.asPEM(\n this.toString('pem'),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.crl.asDER(\n this.raw,\n name || this.commonName,\n );\n }\n}\n"],"names":["Convert"],"mappings":";;;;;;AAAA;;;;;;AAMG;AAuBG,MAAO,wBAAyB,SAAQ,OAA6B,CAAA;AAyBzE,IAAA,WAAA,CAAY,GAAW,EAAA;;QACrB,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,oBAAoB,CAAC;QAXnD,IAAW,CAAA,WAAA,GAA2B,EAAE;QAM/B,IAAI,CAAA,IAAA,GAAG,6BAA6B;AAEpC,QAAA,IAAA,CAAA,GAAG,GAAG,YAAY,CAAC,uBAAuB;AAKxD,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG;QAE3B,IAAI,CAAC,YAAY,GAAGA,oBAAO,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;AACtD,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO;AAE7B,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,sBAAsB,CAAC,aAAa;QAE7D,IAAI,CAAC,SAAS,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC;;AAGjD,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;AAE1B,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,sBAAsB,CAAC,YAAY;QAE3D,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC;;AAGhD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC;AACvD,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,KAAI,CAAA,EAAA,GAAA,MAAM,CAAC,MAAM,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,UAAU,CAAA;AACtE,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;;AAG7B,IAAA,IAAW,SAAS,GAAA;QAClB,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,GAAG;QAEvD,OAAO;AACL,YAAA,KAAK,EAAE,cAAc;YACrB,SAAS,EAAE,kBAAkB,CAAC,SAAS;SACxC;;IAGI,eAAe,GAAA;AACpB,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG;AAE3B,QAAA,IAAI,MAAM,CAAC,UAAU,EAAE;AACrB,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;AACtB,iBAAA,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;;;IAIlD,eAAe,GAAA;AACpB,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG;AAE3B,QAAA,IAAI,MAAM,CAAC,UAAU,EAAE;AACrB,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;AACtB,iBAAA,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;;;AAIlD,IAAA,MAAM,aAAa,CACxB,SAAA,GAAoB,OAAO,EAAA;AAE3B,QAAA,IAAI;YACF,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC;YAEtE,IAAI,UAAU,EAAE;AACd,gBAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAGA,oBAAO,CAAC,KAAK,CAAC,UAAU,CAAC;;;QAEzD,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC;;;AAIjD,IAAA,IAAW,UAAU,GAAA;QACnB,OAAO,CAAA,sBAAA,EAAyB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;;IAGtD,QAAQ,CAAC,SAAyC,KAAK,EAAA;QAC5D,QAAQ,MAAM;AACZ,YAAA,KAAK,KAAK;AACR,gBAAA,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;AAChD,YAAA,KAAK,WAAW;gBACd,OAAOA,oBAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;AACtC,YAAA;gBACE,OAAOA,oBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;;;AAIhC,IAAA,aAAa,CAAC,IAAa,EAAA;AAChC,QAAA,QAAQ,CAAC,QAAQ,CAAC,KAAK,CACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EACpB,IAAI,IAAI,IAAI,CAAC,UAAU,CACxB;;AAGI,IAAA,aAAa,CAAC,IAAa,EAAA;AAChC,QAAA,QAAQ,CAAC,QAAQ,CAAC,KAAK,CACrB,IAAI,CAAC,GAAG,EACR,IAAI,IAAI,IAAI,CAAC,UAAU,CACxB;;AAEJ;;ACvJD;;;;;;AAMG;AA2BG,MAAO,OAAQ,SAAQ,OAAwB,CAAA;AAmBnD,IAAA,WAAA,CAAY,GAAW,EAAA;QACrB,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC;QAP9C,IAAW,CAAA,WAAA,GAA2B,EAAE;QAE/B,IAAI,CAAA,IAAA,GAAG,mCAAmC;AAE1C,QAAA,IAAA,CAAA,GAAG,GAAG,YAAY,CAAC,MAAM;AAKvC,QAAA,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,GAAG;AAEhC,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE;QACnD,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,GAAG,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE;QAClD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE;QAElD,IAAI,CAAC,mBAAmB,GAAG,CAAC,WAAW,CAAC,mBAAmB,IAAI,EAAE;AAC9D,aAAA,GAAG,CAAC,CAAC,kBAAkB,KAAI;;AAAC,YAAA,QAAC;gBAC5B,cAAc,EAAE,kBAAkB,CAAC,cAAc;gBACjD,eAAe,EAAE,kBAAkB,CAAC,eAAe;gBACnD,kBAAkB,EAAE,MAAA,kBAAkB,CAAC,kBAAkB,MACrD,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,aAAA;AAAC,SAAA,CAAC;;AAGA,IAAA,MAAM,aAAa,CACxB,SAAA,GAAoB,OAAO,EAAA;AAE3B,QAAA,IAAI;YACF,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC;YAEtE,IAAI,UAAU,EAAE;AACd,gBAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAGA,oBAAO,CAAC,KAAK,CAAC,UAAU,CAAC;;;QAEzD,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC;;;AAIjD,IAAA,IAAW,SAAS,GAAA;QAClB,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,GAAG;QAElD,OAAO;AACL,YAAA,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,kBAAkB,CAAC,SAAS;SACxC;;AAGH,IAAA,IAAW,UAAU,GAAA;AACnB,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AAChB,YAAA,OAAO,EAAE;;AAGX,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAE3B,YAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,EAAE;gBAC/E,OAAO,IAAI,CAAC,KAAK;;;AAIrB,QAAA,OAAO,EAAE;;IAGJ,eAAe,GAAA;AACpB,QAAA,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,GAAG;AAEhC,QAAA,IAAI,WAAW,CAAC,aAAa,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;AAC3B,iBAAA,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;;;IAIlD,QAAQ,CAAC,SAAyC,KAAK,EAAA;QAC5D,QAAQ,MAAM;AACZ,YAAA,KAAK,KAAK;AACR,gBAAA,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;AAChD,YAAA,KAAK,WAAW;gBACd,OAAOA,oBAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;AACtC,YAAA;gBACE,OAAOA,oBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;;;AAIhC,IAAA,aAAa,CAAC,IAAa,EAAA;AAChC,QAAA,QAAQ,CAAC,GAAG,CAAC,KAAK,CAChB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EACpB,IAAI,IAAI,IAAI,CAAC,UAAU,CACxB;;AAGI,IAAA,aAAa,CAAC,IAAa,EAAA;AAChC,QAAA,QAAQ,CAAC,GAAG,CAAC,KAAK,CAChB,IAAI,CAAC,GAAG,EACR,IAAI,IAAI,IAAI,CAAC,UAAU,CACxB;;AAEJ;;;;"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
3
  */
4
- export{D as Download,d as downloadFromBuffer}from"./p-32807e5e.js";export{r as readAsArrayBuffer,a as readAsBinaryString,b as readAsDataUrl,c as readAsText}from"./p-25a532a3.js";export{P as Pkcs10CertificateRequest}from"./p-f8c91ee4.js";export{B as Button,T as Typography}from"./p-4bc5ddbe.js";export{L as Link}from"./p-e6a6e602.js";export{C as CrossIcon,D as DetailsIcon,L as LinkIcon}from"./p-99efefea.js";export{D as DownloadIcon}from"./p-ae91d778.js";export{A as ActionsIcon}from"./p-a9487007.js";export{A as ArrowBottomIcon,a as ArrowTopIcon}from"./p-27ca6743.js";import"./p-3cb79cd9.js";
4
+ export{D as Download,d as downloadFromBuffer}from"./p-BTbyumBe.js";export{r as readAsArrayBuffer,a as readAsBinaryString,b as readAsDataUrl,c as readAsText}from"./p-F2F0McJX.js";export{P as Pkcs10CertificateRequest}from"./p-4IvcYmU7.js";export{B as Button,T as Typography}from"./p-BCATfe_H.js";export{L as Link}from"./p-BisXzAqN.js";export{C as CrossIcon,D as DetailsIcon,L as LinkIcon}from"./p-DkAhB3Vy.js";export{D as DownloadIcon}from"./p-BHBizfwo.js";export{A as ActionsIcon}from"./p-DhdG07f8.js";export{A as ArrowBottomIcon,a as ArrowTopIcon}from"./p-CeKqQ13Z.js";import"./p-DDDrq3In.js";
5
5
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":[],"mappings":""}
1
+ {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.esm.js","sources":["@lazy-external-entrypoint?app-data=conditional"],"sourcesContent":["export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\nexport const defineCustomElements = async (win, options) => {\n if (typeof window === 'undefined') return undefined;\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n};\n"],"names":[],"mappings":";;;;;;;AAGY,MAAC,oBAAoB,GAAG,OAAO,GAAG,EAAE,OAAO,KAAK;AAC5D,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,OAAO,SAAS;AACrD,EAAE,MAAM,aAAa,EAAE;AACvB,EAAE,OAAO,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC7D;;;;"}
@@ -0,0 +1,5 @@
1
+ var __extends=this&&this.__extends||function(){var t=function(e,r){t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r))t[r]=e[r]};return t(e,r)};return function(e,r){if(typeof r!=="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function o(){this.constructor=e}e.prototype=r===null?Object.create(r):(o.prototype=r.prototype,new o)}}();var __awaiter=this&&this.__awaiter||function(t,e,r,o){function a(t){return t instanceof r?t:new r((function(e){e(t)}))}return new(r||(r=Promise))((function(r,n){function c(t){try{s(o.next(t))}catch(t){n(t)}}function i(t){try{s(o["throw"](t))}catch(t){n(t)}}function s(t){t.done?r(t.value):a(t.value).then(c,i)}s((o=o.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var r={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},o,a,n,c;return c={next:i(0),throw:i(1),return:i(2)},typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function i(t){return function(e){return s([t,e])}}function s(i){if(o)throw new TypeError("Generator is already executing.");while(c&&(c=0,i[0]&&(r=0)),r)try{if(o=1,a&&(n=i[0]&2?a["return"]:i[0]?a["throw"]||((n=a["return"])&&n.call(a),0):a.next)&&!(n=n.call(a,i[1])).done)return n;if(a=0,n)i=[i[0]&2,n.value];switch(i[0]){case 0:case 1:n=i;break;case 4:r.label++;return{value:i[1],done:false};case 5:r.label++;a=i[1];i=[0];continue;case 7:i=r.ops.pop();r.trys.pop();continue;default:if(!(n=r.trys,n=n.length>0&&n[n.length-1])&&(i[0]===6||i[0]===2)){r=0;continue}if(i[0]===3&&(!n||i[1]>n[0]&&i[1]<n[3])){r.label=i[1];break}if(i[0]===6&&r.label<n[1]){r.label=n[1];n=i;break}if(n&&r.label<n[2]){r.label=n[2];r.ops.push(i);break}if(n[2])r.ops.pop();r.trys.pop();continue}i=e.call(t,r)}catch(t){i=[6,t];a=0}finally{o=n=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}};
2
+ /*!
3
+ * © Peculiar Ventures https://peculiarventures.com/ - MIT License
4
+ */System.register(["./p-BFenL1ap.system.js","./p-D2QB-8Q6.system.js","./p-B0CjUC4o.system.js","./p-DxdVL_Kj.system.js","./p-lnQq6VON.system.js","./p-B7TxZGea.system.js","./p-BRhx1gbw.system.js"],(function(t){"use strict";var e,r,o,a,n,c,i,s,v,p,l,h,u,f,b,d,g,y,w,x,m,z;return{setters:[function(t){e=t.r;r=t.c;o=t.h;a=t.H},function(t){n=t.a},function(t){c=t.P;i=t.b;s=t.$;v=t.a0;p=t.a1;l=t.a2;h=t.a3;u=t.e;f=t.C;b=t.a4;d=t.D},function(t){g=t.X},function(t){y=t.X;w=t.a},function(t){x=t.P},function(t){m=t.T;z=t.B}],execute:function(){var k="1.2.840.113549.1.7.1";var _="1.2.840.113549.1.7.2";var j=function(t){__extends(e,t);function e(e){var r=t.call(this)||this;var o=c.isPem(e)?c.decode(e).map((function(t){return i.Convert.ToBase64Url(t)})):e.split(",");if(o.length<2){throw new Error("Unable to parse string. The array of elements is less than 2")}for(var a=0,n=o;a<n.length;a++){var s=n[a];r.push(new g(s))}return r}Object.defineProperty(e.prototype,"commonName",{get:function(){return Array.from(this).map((function(t){return t.commonName})).join("_")},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"raw",{get:function(){var t=new s;t.version=1;t.encapContentInfo.eContentType=k;t.encapContentInfo.eContent=new v({single:new p});t.certificates=new l(Array.from(this).map((function(t){return new h({certificate:u.parse(t.raw,f)})})));var e=new b({contentType:_,content:u.serialize(t)});return u.serialize(e)},enumerable:false,configurable:true});e.prototype.toString=function(t){if(t===void 0){t="pem"}switch(t){case"pem":return Array.from(this).map((function(t){return t.toString("pem")})).join("\n");case"base64url":return Array.from(this).map((function(t){return t.toString("base64url")})).join(",");default:return Array.from(this).map((function(t){return t.toString("base64")})).join(",")}};e.prototype.downloadAsPEM=function(t){d.cert.asPEM(this.toString("pem"),t||this.commonName)};e.prototype.downloadAsDER=function(t){d.cert.asDER(this.raw,t||this.commonName)};return e}(Array);var C="*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;-webkit-text-size-adjust:none;-webkit-tap-highlight-color:transparent;font-family:var(--pv-font-family, inherit)}.t-h1{font-weight:var(--pv-text-h1-weight);font-size:var(--pv-text-h1-size);line-height:var(--pv-text-h1-height);letter-spacing:var(--pv-text-h1-spacing)}.t-h2{font-weight:var(--pv-text-h2-weight);font-size:var(--pv-text-h2-size);line-height:var(--pv-text-h2-height);letter-spacing:var(--pv-text-h2-spacing)}.t-h3{font-weight:var(--pv-text-h3-weight);font-size:var(--pv-text-h3-size);line-height:var(--pv-text-h3-height);letter-spacing:var(--pv-text-h3-spacing)}.t-h4{font-weight:var(--pv-text-h4-weight);font-size:var(--pv-text-h4-size);line-height:var(--pv-text-h4-height);letter-spacing:var(--pv-text-h4-spacing)}.t-h5{font-weight:var(--pv-text-h5-weight);font-size:var(--pv-text-h5-size);line-height:var(--pv-text-h5-height);letter-spacing:var(--pv-text-h5-spacing)}.t-s1{font-weight:var(--pv-text-s1-weight);font-size:var(--pv-text-s1-size);line-height:var(--pv-text-s1-height);letter-spacing:var(--pv-text-s1-spacing)}.t-s2{font-weight:var(--pv-text-s2-weight);font-size:var(--pv-text-s2-size);line-height:var(--pv-text-s2-height);letter-spacing:var(--pv-text-s2-spacing)}.t-b1{font-weight:var(--pv-text-b1-weight);font-size:var(--pv-text-b1-size);line-height:var(--pv-text-b1-height);letter-spacing:var(--pv-text-b1-spacing)}.t-b2{font-weight:var(--pv-text-b2-weight);font-size:var(--pv-text-b2-size);line-height:var(--pv-text-b2-height);letter-spacing:var(--pv-text-b2-spacing)}.t-b3{font-weight:var(--pv-text-b3-weight);font-size:var(--pv-text-b3-size);line-height:var(--pv-text-b3-height);letter-spacing:var(--pv-text-b3-spacing)}.t-btn1{font-weight:var(--pv-text-btn1-weight);font-size:var(--pv-text-btn1-size);line-height:var(--pv-text-btn1-height);letter-spacing:var(--pv-text-btn1-spacing)}.t-btn2{font-weight:var(--pv-text-btn2-weight);font-size:var(--pv-text-btn2-size);line-height:var(--pv-text-btn2-height);letter-spacing:var(--pv-text-btn2-spacing)}.t-c1{font-weight:var(--pv-text-c1-weight);font-size:var(--pv-text-c1-size);line-height:var(--pv-text-c1-height);letter-spacing:var(--pv-text-c1-spacing)}.t-c2{font-weight:var(--pv-text-c2-weight);font-size:var(--pv-text-c2-size);line-height:var(--pv-text-c2-height);letter-spacing:var(--pv-text-c2-spacing)}.c-primary-tint-5{--pv-color-base:var(--pv-color-primary-tint-5)}.c-primary-tint-4{--pv-color-base:var(--pv-color-primary-tint-4)}.c-primary-tint-3{--pv-color-base:var(--pv-color-primary-tint-3)}.c-primary-tint-2{--pv-color-base:var(--pv-color-primary-tint-2)}.c-primary-tint-1{--pv-color-base:var(--pv-color-primary-tint-1)}.c-primary{--pv-color-base:var(--pv-color-primary)}.c-primary-shade-1{--pv-color-base:var(--pv-color-primary-shade-1)}.c-primary-shade-2{--pv-color-base:var(--pv-color-primary-shade-2)}.c-primary-shade-3{--pv-color-base:var(--pv-color-primary-shade-3)}.c-primary-shade-4{--pv-color-base:var(--pv-color-primary-shade-4)}.c-primary-shade-5{--pv-color-base:var(--pv-color-primary-shade-5)}.c-primary-contrast{--pv-color-base:var(--pv-color-primary-contrast)}.c-secondary-tint-5{--pv-color-base:var(--pv-color-secondary-tint-5)}.c-secondary-tint-4{--pv-color-base:var(--pv-color-secondary-tint-4)}.c-secondary-tint-3{--pv-color-base:var(--pv-color-secondary-tint-3)}.c-secondary-tint-2{--pv-color-base:var(--pv-color-secondary-tint-2)}.c-secondary-tint-1{--pv-color-base:var(--pv-color-secondary-tint-1)}.c-secondary{--pv-color-base:var(--pv-color-secondary)}.c-secondary-shade-1{--pv-color-base:var(--pv-color-secondary-shade-1)}.c-secondary-shade-2{--pv-color-base:var(--pv-color-secondary-shade-2)}.c-secondary-shade-3{--pv-color-base:var(--pv-color-secondary-shade-3)}.c-secondary-shade-4{--pv-color-base:var(--pv-color-secondary-shade-4)}.c-secondary-shade-5{--pv-color-base:var(--pv-color-secondary-shade-5)}.c-secondary-contrast{--pv-color-base:var(--pv-color-secondary-contrast)}.c-wrong-tint-5{--pv-color-base:var(--pv-color-wrong-tint-5)}.c-wrong-tint-4{--pv-color-base:var(--pv-color-wrong-tint-4)}.c-wrong-tint-3{--pv-color-base:var(--pv-color-wrong-tint-3)}.c-wrong-tint-2{--pv-color-base:var(--pv-color-wrong-tint-2)}.c-wrong-tint-1{--pv-color-base:var(--pv-color-wrong-tint-1)}.c-wrong{--pv-color-base:var(--pv-color-wrong)}.c-wrong-shade-1{--pv-color-base:var(--pv-color-wrong-shade-1)}.c-wrong-shade-2{--pv-color-base:var(--pv-color-wrong-shade-2)}.c-wrong-shade-3{--pv-color-base:var(--pv-color-wrong-shade-3)}.c-wrong-shade-4{--pv-color-base:var(--pv-color-wrong-shade-4)}.c-wrong-shade-5{--pv-color-base:var(--pv-color-wrong-shade-5)}.c-wrong-contrast{--pv-color-base:var(--pv-color-wrong-contrast)}.c-attention-tint-5{--pv-color-base:var(--pv-color-attention-tint-5)}.c-attention-tint-4{--pv-color-base:var(--pv-color-attention-tint-4)}.c-attention-tint-3{--pv-color-base:var(--pv-color-attention-tint-3)}.c-attention-tint-2{--pv-color-base:var(--pv-color-attention-tint-2)}.c-attention-tint-1{--pv-color-base:var(--pv-color-attention-tint-1)}.c-attention{--pv-color-base:var(--pv-color-attention)}.c-attention-shade-1{--pv-color-base:var(--pv-color-attention-shade-1)}.c-attention-shade-2{--pv-color-base:var(--pv-color-attention-shade-2)}.c-attention-shade-3{--pv-color-base:var(--pv-color-attention-shade-3)}.c-attention-shade-4{--pv-color-base:var(--pv-color-attention-shade-4)}.c-attention-shade-5{--pv-color-base:var(--pv-color-attention-shade-5)}.c-success-tint-5{--pv-color-base:var(--pv-color-success-tint-5)}.c-success-tint-4{--pv-color-base:var(--pv-color-success-tint-4)}.c-success-tint-3{--pv-color-base:var(--pv-color-success-tint-3)}.c-success-tint-2{--pv-color-base:var(--pv-color-success-tint-2)}.c-success-tint-1{--pv-color-base:var(--pv-color-success-tint-1)}.c-success{--pv-color-base:var(--pv-color-success)}.c-success-shade-1{--pv-color-base:var(--pv-color-success-shade-1)}.c-success-shade-2{--pv-color-base:var(--pv-color-success-shade-2)}.c-success-shade-3{--pv-color-base:var(--pv-color-success-shade-3)}.c-success-shade-4{--pv-color-base:var(--pv-color-success-shade-4)}.c-success-shade-5{--pv-color-base:var(--pv-color-success-shade-5)}.c-black{--pv-color-base:var(--pv-color-black)}.c-gray-10{--pv-color-base:var(--pv-color-gray-10)}.c-gray-9{--pv-color-base:var(--pv-color-gray-9)}.c-gray-8{--pv-color-base:var(--pv-color-gray-8)}.c-gray-7{--pv-color-base:var(--pv-color-gray-7)}.c-gray-6{--pv-color-base:var(--pv-color-gray-6)}.c-gray-5{--pv-color-base:var(--pv-color-gray-5)}.c-gray-4{--pv-color-base:var(--pv-color-gray-4)}.c-gray-3{--pv-color-base:var(--pv-color-gray-3)}.c-gray-2{--pv-color-base:var(--pv-color-gray-2)}.c-gray-1{--pv-color-base:var(--pv-color-gray-1)}.c-white{--pv-color-base:var(--pv-color-white)}.c-extra-1{--pv-color-base:var(--pv-color-extra-1)}.c-extra-2{--pv-color-base:var(--pv-color-extra-2)}.typography{color:var(--pv-color-base)}.button{display:-ms-inline-flexbox;display:inline-flex;cursor:pointer;background:transparent;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;outline:none;font-family:inherit;border-radius:4px;height:var(--pv-size-base-6);min-width:var(--pv-size-base-6);padding:0 var(--pv-size-base-2);-webkit-transition:background-color 200ms ease 0s;transition:background-color 200ms ease 0s;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;gap:var(--pv-size-base-2);font-size:0}.button.m_no_padding{padding:0}.button:hover{background-color:var(--pv-color-gray-3)}.button:focus{background-color:var(--pv-color-gray-4)}.button:active{background-color:var(--pv-color-gray-5)}:host{display:block;width:100%}.textarea{min-height:300px;width:100%;border-radius:4px;border:1px solid var(--pv-color-gray-5);padding:14px;font-family:monospace;resize:vertical}.controls{margin-top:var(--pv-size-base-2);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--pv-size-base-2);margin-bottom:var(--pv-size-base-12)}.control_row{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:var(--pv-size-base)}";var A=t("peculiar_certificate_decoder",function(){function t(t){var o=this;e(this,t);this.successParse=r(this,"successParse");this.clearCertificate=r(this,"clearCertificate");this.handleClickDecode=function(){var t=o.inputPaste.value;if(t){o.decode(t)}};this.handleClickClear=function(){o.clearValue()};this.handleChangeInputFile=function(t){return __awaiter(o,void 0,void 0,(function(){var e,r;return __generator(this,(function(o){switch(o.label){case 0:e=t.target;if(!e.files)return[3,2];return[4,n(e.files[0])];case 1:r=o.sent();if(typeof r.value==="string"){this.decode(r.value)}e.value="";o.label=2;case 2:return[2]}}))}))};this.handleChangeExample=function(t){if(t.target.value){o.decode(t.target.value)}else{o.clearValue()}};this.handleDropFile=function(t){return __awaiter(o,void 0,void 0,(function(){var e,r;return __generator(this,(function(o){switch(o.label){case 0:t.stopPropagation();t.preventDefault();e=t.dataTransfer;if(!e.files)return[3,2];return[4,n(e.files[0])];case 1:r=o.sent();if(typeof r.value==="string"){this.decode(r.value)}o.label=2;case 2:return[2]}}))}))}}t.prototype.componentDidLoad=function(){var t=this;if(this.certificateToDecode){setTimeout((function(){return t.decode(t.certificateToDecode)}),100)}};t.prototype.clearValue=function(){this.inputPaste.value="";this.certificateDecoded=null;this.clearCertificate.emit()};t.prototype.setValue=function(t){this.certificateDecoded=t;this.inputPaste.value=t.toString("pem");this.successParse.emit(t.toString("base64url"))};t.prototype.decode=function(t){var e=this;new Promise((function(e){e(new j(t))})).catch((function(){return new g(t)})).catch((function(){return new y(t)})).catch((function(){return new x(t)})).catch((function(){return new w(t)})).then((function(t){return e.setValue(t)})).catch((function(e){console.log(e);alert('Error decoding certificate:\n"'.concat(t,'"\n\nPlease try to use Certificate/AttributeCertificate/CertificateRequest/CRL.'))}))};t.prototype.renderCertificate=function(){if(this.certificateDecoded instanceof j){return o("peculiar-certificate-chain-viewer",{certificates:this.certificateDecoded,download:true})}if(this.certificateDecoded instanceof g){return o("peculiar-certificate-viewer",{certificate:this.certificateDecoded,download:true})}if(this.certificateDecoded instanceof y){return o("peculiar-attribute-certificate-viewer",{certificate:this.certificateDecoded,download:true})}if(this.certificateDecoded instanceof x){return o("peculiar-csr-viewer",{certificate:this.certificateDecoded,download:true})}if(this.certificateDecoded instanceof w){return o("peculiar-crl-viewer",{certificate:this.certificateDecoded,download:true})}return null};t.prototype.render=function(){var t=this;var e;return o(a,{key:"466ae73c347d305938c8b5f7a9ca0fcc8ec000eb"},o("textarea",{key:"00d3552d847823c1e4e10162c5ac22de48062c47",placeholder:"Certificate DER or PEM",class:"textarea t-b2 c-black",ref:function(e){t.inputPaste=e},onDrop:this.handleDropFile}),o("div",{key:"2b45a534e3db2d4c879efcc849f439d494ad5adc",class:"controls"},o("div",{key:"c78db2ec219c7417c10c8aa4b99e72e1fc16499d",class:"control_row"},o(m,{key:"9e72c34b567870083b68fdaf082aae28f8899b24",variant:"b3",color:"secondary-tint-2"},"Drag or load file:"),o("input",{key:"7069e5db2f0de85126b4fdcace19e181ab407a16",type:"file",accept:"application/pkix-cert,application/x-x509-ca-cert,application/x-x509-user-cert,application/pkcs10,application/pkix-crl,.csr,.req,.crl",onChange:this.handleChangeInputFile,value:""})),((e=this.certificateExamples)===null||e===void 0?void 0:e.length)&&o("div",{key:"e184a0864d8432e1f0aa26788e58f3c336abc598",class:"control_row"},o(m,{key:"19e3213a14ef0b24bb110df7a4e943bf1f2a8ebf",variant:"b3",color:"secondary-tint-2"},"Load examples:"),o("select",{key:"79082619d5d4bc82cf90afddf58ec58a5ae232b7",onChange:this.handleChangeExample},o("option",{key:"add23975d376914239389b621bd956bcd4fb52eb",value:""},"None"),this.certificateExamples.map((function(t){return o("option",{value:t.value},t.title)})))),o("div",{key:"876ccefd3125618d5c1e7c83e277349fa78da802",class:"control_row"},o(z,{key:"bb890810c0895ba3fdcc22695e72cd8c2cf9645d",onClick:this.handleClickDecode},"Decode"),o(z,{key:"dadc94b3e9e2e7211d993d99c127abfc8e593545",onClick:this.handleClickClear},"Clear"))),this.renderCertificate())};return t}());A.style=C}}}));
5
+ //# sourceMappingURL=p-092074e8.system.entry.js.map