@peculiar/certificates-viewer 4.2.0 → 4.2.1

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 (657) hide show
  1. package/components/actions.js +3 -3
  2. package/components/actions.js.map +1 -1
  3. package/components/arrow_top.js +6 -6
  4. package/components/arrow_top.js.map +1 -1
  5. package/components/attribute-certificate-viewer.js +222 -220
  6. package/components/attribute-certificate-viewer.js.map +1 -1
  7. package/components/button-menu.js +36 -35
  8. package/components/button-menu.js.map +1 -1
  9. package/components/button.js +42 -42
  10. package/components/button.js.map +1 -1
  11. package/components/certificate-viewer.js +250 -249
  12. package/components/certificate-viewer.js.map +1 -1
  13. package/components/circular-progress.js +34 -33
  14. package/components/circular-progress.js.map +1 -1
  15. package/components/crl-viewer.js +214 -213
  16. package/components/crl-viewer.js.map +1 -1
  17. package/components/cross.js +9 -9
  18. package/components/cross.js.map +1 -1
  19. package/components/csr-viewer.js +200 -202
  20. package/components/csr-viewer.js.map +1 -1
  21. package/components/download.js +56 -56
  22. package/components/download.js.map +1 -1
  23. package/components/highlight-words.js +45 -44
  24. package/components/highlight-words.js.map +1 -1
  25. package/components/index2.js +146 -156
  26. package/components/index2.js.map +1 -1
  27. package/components/issuer_name.js +6 -6
  28. package/components/issuer_name.js.map +1 -1
  29. package/components/miscellaneous.js +3335 -3403
  30. package/components/miscellaneous.js.map +1 -1
  31. package/components/peculiar-attribute-certificate-viewer.d.ts +2 -2
  32. package/components/peculiar-button-menu.d.ts +2 -2
  33. package/components/peculiar-certificate-decoder.d.ts +2 -2
  34. package/components/peculiar-certificate-decoder.js +183 -182
  35. package/components/peculiar-certificate-decoder.js.map +1 -1
  36. package/components/peculiar-certificate-viewer.d.ts +2 -2
  37. package/components/peculiar-certificates-viewer.d.ts +2 -2
  38. package/components/peculiar-certificates-viewer.js +297 -296
  39. package/components/peculiar-certificates-viewer.js.map +1 -1
  40. package/components/peculiar-circular-progress.d.ts +2 -2
  41. package/components/peculiar-crl-viewer.d.ts +2 -2
  42. package/components/peculiar-csr-viewer.d.ts +2 -2
  43. package/components/peculiar-highlight-words.d.ts +2 -2
  44. package/components/peculiar-text-hider.d.ts +2 -2
  45. package/components/peculiar-text-hider.js +23 -22
  46. package/components/peculiar-text-hider.js.map +1 -1
  47. package/components/subject_name.js +35 -35
  48. package/components/subject_name.js.map +1 -1
  49. package/dist/cjs/actions-789906f5.js +23 -0
  50. package/dist/cjs/{actions-19013d4a.js.map → actions-789906f5.js.map} +1 -1
  51. package/dist/cjs/app-globals-c20ffa41.js +10 -0
  52. package/dist/cjs/app-globals-c20ffa41.js.map +1 -0
  53. package/dist/cjs/arrow_top-76e4261e.js +37 -0
  54. package/dist/cjs/{arrow_top-834fb7ec.js.map → arrow_top-76e4261e.js.map} +1 -1
  55. package/dist/cjs/button-87086210.js +77 -0
  56. package/dist/cjs/{button-14e2b73f.js.map → button-87086210.js.map} +1 -1
  57. package/dist/cjs/{certification_request-5672c667.js → certification_request-b0d72620.js} +2636 -2706
  58. package/dist/cjs/certification_request-b0d72620.js.map +1 -0
  59. package/dist/cjs/crl-812dd7a1.js +312 -0
  60. package/dist/cjs/crl-812dd7a1.js.map +1 -0
  61. package/dist/cjs/cross-bd099933.js +51 -0
  62. package/dist/cjs/{cross-9872c473.js.map → cross-bd099933.js.map} +1 -1
  63. package/dist/cjs/{download-0fa5b33c.js → download-6f550549.js} +50 -50
  64. package/dist/cjs/download-6f550549.js.map +1 -0
  65. package/dist/cjs/download-820d66ba.js +23 -0
  66. package/dist/cjs/{download-254ddc57.js.map → download-820d66ba.js.map} +1 -1
  67. package/dist/cjs/{index-efd561e9.js → index-e2ae280a.js} +398 -145
  68. package/dist/cjs/index-e2ae280a.js.map +1 -0
  69. package/dist/cjs/index.cjs.js +8 -8
  70. package/dist/cjs/link-a3d3799d.js +25 -0
  71. package/dist/cjs/{link-6aea0be4.js.map → link-a3d3799d.js.map} +1 -1
  72. package/dist/cjs/loader.cjs.js +4 -2
  73. package/dist/cjs/loader.cjs.js.map +1 -1
  74. package/dist/cjs/miscellaneous-dcb93a5b.js +1419 -0
  75. package/dist/cjs/miscellaneous-dcb93a5b.js.map +1 -0
  76. package/dist/cjs/peculiar-attribute-certificate-viewer_3.cjs.entry.js +481 -480
  77. package/dist/cjs/peculiar-attribute-certificate-viewer_3.cjs.entry.js.map +1 -1
  78. package/dist/cjs/peculiar-button-menu_3.cjs.entry.js +72 -69
  79. package/dist/cjs/peculiar-button-menu_3.cjs.entry.js.map +1 -1
  80. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +151 -150
  81. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js.map +1 -1
  82. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +107 -106
  83. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js.map +1 -1
  84. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +258 -257
  85. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js.map +1 -1
  86. package/dist/cjs/peculiar-text-hider.cjs.entry.js +12 -11
  87. package/dist/cjs/peculiar-text-hider.cjs.entry.js.map +1 -1
  88. package/dist/cjs/peculiar.cjs.js +5 -3
  89. package/dist/cjs/peculiar.cjs.js.map +1 -1
  90. package/dist/cjs/x509_certificate-ebf4cbd4.js +160 -0
  91. package/dist/cjs/x509_certificate-ebf4cbd4.js.map +1 -0
  92. package/dist/collection/collection-manifest.json +2 -2
  93. package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js +259 -259
  94. package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js.map +1 -1
  95. package/dist/collection/components/button/button.js +9 -9
  96. package/dist/collection/components/button/button.js.map +1 -1
  97. package/dist/collection/components/button-menu/button-menu.js +60 -60
  98. package/dist/collection/components/button-menu/button-menu.js.map +1 -1
  99. package/dist/collection/components/certificate-decoder/certificate-decoder.js +211 -211
  100. package/dist/collection/components/certificate-decoder/certificate-decoder.js.map +1 -1
  101. package/dist/collection/components/certificate-details-parts/attributes/activity_description_attribute.js +4 -3
  102. package/dist/collection/components/certificate-details-parts/attributes/activity_description_attribute.js.map +1 -1
  103. package/dist/collection/components/certificate-details-parts/attributes/as_string_attribute.js +2 -2
  104. package/dist/collection/components/certificate-details-parts/attributes/as_string_attribute.js.map +1 -1
  105. package/dist/collection/components/certificate-details-parts/attributes/basic_attribute.js +6 -6
  106. package/dist/collection/components/certificate-details-parts/attributes/basic_attribute.js.map +1 -1
  107. package/dist/collection/components/certificate-details-parts/attributes/challenge_password_attribute.js +2 -2
  108. package/dist/collection/components/certificate-details-parts/attributes/challenge_password_attribute.js.map +1 -1
  109. package/dist/collection/components/certificate-details-parts/attributes/index.js +42 -42
  110. package/dist/collection/components/certificate-details-parts/attributes/index.js.map +1 -1
  111. package/dist/collection/components/certificate-details-parts/attributes/insurance_value_attribute.js +3 -3
  112. package/dist/collection/components/certificate-details-parts/attributes/insurance_value_attribute.js.map +1 -1
  113. package/dist/collection/components/certificate-details-parts/attributes/name_attribute.js +2 -2
  114. package/dist/collection/components/certificate-details-parts/attributes/name_attribute.js.map +1 -1
  115. package/dist/collection/components/certificate-details-parts/attributes/name_part.js +5 -5
  116. package/dist/collection/components/certificate-details-parts/attributes/name_part.js.map +1 -1
  117. package/dist/collection/components/certificate-details-parts/attributes/type_relationship_attribute.js +2 -2
  118. package/dist/collection/components/certificate-details-parts/attributes/type_relationship_attribute.js.map +1 -1
  119. package/dist/collection/components/certificate-details-parts/attributes/unstructured_name_attribute.js +2 -2
  120. package/dist/collection/components/certificate-details-parts/attributes/unstructured_name_attribute.js.map +1 -1
  121. package/dist/collection/components/certificate-details-parts/attributes/valuation_ranking_attribute.js +14 -14
  122. package/dist/collection/components/certificate-details-parts/attributes/valuation_ranking_attribute.js.map +1 -1
  123. package/dist/collection/components/certificate-details-parts/attributes/web_gdpr_attribute.js +4 -3
  124. package/dist/collection/components/certificate-details-parts/attributes/web_gdpr_attribute.js.map +1 -1
  125. package/dist/collection/components/certificate-details-parts/basic_information.js +12 -12
  126. package/dist/collection/components/certificate-details-parts/basic_information.js.map +1 -1
  127. package/dist/collection/components/certificate-details-parts/extensions/archive_rev_info_extension.js +2 -2
  128. package/dist/collection/components/certificate-details-parts/extensions/archive_rev_info_extension.js.map +1 -1
  129. package/dist/collection/components/certificate-details-parts/extensions/as_string_extension.js +2 -2
  130. package/dist/collection/components/certificate-details-parts/extensions/as_string_extension.js.map +1 -1
  131. package/dist/collection/components/certificate-details-parts/extensions/attribute_value.js +1 -1
  132. package/dist/collection/components/certificate-details-parts/extensions/attribute_value.js.map +1 -1
  133. package/dist/collection/components/certificate-details-parts/extensions/authority_key_identifier_extension.js +8 -8
  134. package/dist/collection/components/certificate-details-parts/extensions/authority_key_identifier_extension.js.map +1 -1
  135. package/dist/collection/components/certificate-details-parts/extensions/basic_constraints_extension.js +2 -2
  136. package/dist/collection/components/certificate-details-parts/extensions/basic_constraints_extension.js.map +1 -1
  137. package/dist/collection/components/certificate-details-parts/extensions/basic_extension.js +7 -7
  138. package/dist/collection/components/certificate-details-parts/extensions/basic_extension.js.map +1 -1
  139. package/dist/collection/components/certificate-details-parts/extensions/biometric_syntax_extension.js +5 -5
  140. package/dist/collection/components/certificate-details-parts/extensions/biometric_syntax_extension.js.map +1 -1
  141. package/dist/collection/components/certificate-details-parts/extensions/ca_version_extension.js +3 -3
  142. package/dist/collection/components/certificate-details-parts/extensions/ca_version_extension.js.map +1 -1
  143. package/dist/collection/components/certificate-details-parts/extensions/cabforganization_identifier_extension.js +2 -2
  144. package/dist/collection/components/certificate-details-parts/extensions/cabforganization_identifier_extension.js.map +1 -1
  145. package/dist/collection/components/certificate-details-parts/extensions/certificate_policies_extension.js +23 -23
  146. package/dist/collection/components/certificate-details-parts/extensions/certificate_policies_extension.js.map +1 -1
  147. package/dist/collection/components/certificate-details-parts/extensions/certificate_template_extension.js +2 -2
  148. package/dist/collection/components/certificate-details-parts/extensions/certificate_template_extension.js.map +1 -1
  149. package/dist/collection/components/certificate-details-parts/extensions/certificate_transparency_extension.js +5 -5
  150. package/dist/collection/components/certificate-details-parts/extensions/certificate_transparency_extension.js.map +1 -1
  151. package/dist/collection/components/certificate-details-parts/extensions/crl_distribution_points_extension.js +8 -8
  152. package/dist/collection/components/certificate-details-parts/extensions/crl_distribution_points_extension.js.map +1 -1
  153. package/dist/collection/components/certificate-details-parts/extensions/crl_number_extension.js +2 -2
  154. package/dist/collection/components/certificate-details-parts/extensions/crl_number_extension.js.map +1 -1
  155. package/dist/collection/components/certificate-details-parts/extensions/crl_reason_extension.js +2 -2
  156. package/dist/collection/components/certificate-details-parts/extensions/crl_reason_extension.js.map +1 -1
  157. package/dist/collection/components/certificate-details-parts/extensions/enroll_cert_type_extension.js +2 -2
  158. package/dist/collection/components/certificate-details-parts/extensions/enroll_cert_type_extension.js.map +1 -1
  159. package/dist/collection/components/certificate-details-parts/extensions/entrust_version_info_extension.js +2 -2
  160. package/dist/collection/components/certificate-details-parts/extensions/entrust_version_info_extension.js.map +1 -1
  161. package/dist/collection/components/certificate-details-parts/extensions/extended_key_usage_extension.js +5 -5
  162. package/dist/collection/components/certificate-details-parts/extensions/extended_key_usage_extension.js.map +1 -1
  163. package/dist/collection/components/certificate-details-parts/extensions/general_name_part.js +52 -52
  164. package/dist/collection/components/certificate-details-parts/extensions/general_name_part.js.map +1 -1
  165. package/dist/collection/components/certificate-details-parts/extensions/index.js +121 -121
  166. package/dist/collection/components/certificate-details-parts/extensions/index.js.map +1 -1
  167. package/dist/collection/components/certificate-details-parts/extensions/info_access_syntax_extension.js +5 -5
  168. package/dist/collection/components/certificate-details-parts/extensions/info_access_syntax_extension.js.map +1 -1
  169. package/dist/collection/components/certificate-details-parts/extensions/issuing_distribution_point_extension.js +4 -4
  170. package/dist/collection/components/certificate-details-parts/extensions/issuing_distribution_point_extension.js.map +1 -1
  171. package/dist/collection/components/certificate-details-parts/extensions/key_description_extension.js +58 -58
  172. package/dist/collection/components/certificate-details-parts/extensions/key_description_extension.js.map +1 -1
  173. package/dist/collection/components/certificate-details-parts/extensions/key_usage_extension.js +2 -2
  174. package/dist/collection/components/certificate-details-parts/extensions/key_usage_extension.js.map +1 -1
  175. package/dist/collection/components/certificate-details-parts/extensions/lei_extension.js +2 -2
  176. package/dist/collection/components/certificate-details-parts/extensions/lei_extension.js.map +1 -1
  177. package/dist/collection/components/certificate-details-parts/extensions/lei_role_extennsion.js +2 -2
  178. package/dist/collection/components/certificate-details-parts/extensions/lei_role_extennsion.js.map +1 -1
  179. package/dist/collection/components/certificate-details-parts/extensions/logotype_extension.js +42 -42
  180. package/dist/collection/components/certificate-details-parts/extensions/logotype_extension.js.map +1 -1
  181. package/dist/collection/components/certificate-details-parts/extensions/name_constraints_extension.js +5 -5
  182. package/dist/collection/components/certificate-details-parts/extensions/name_constraints_extension.js.map +1 -1
  183. package/dist/collection/components/certificate-details-parts/extensions/netscape_cert_type_extension.js +2 -2
  184. package/dist/collection/components/certificate-details-parts/extensions/netscape_cert_type_extension.js.map +1 -1
  185. package/dist/collection/components/certificate-details-parts/extensions/netscape_comment_extension.js +2 -2
  186. package/dist/collection/components/certificate-details-parts/extensions/netscape_comment_extension.js.map +1 -1
  187. package/dist/collection/components/certificate-details-parts/extensions/policy_constraints_extension.js +2 -2
  188. package/dist/collection/components/certificate-details-parts/extensions/policy_constraints_extension.js.map +1 -1
  189. package/dist/collection/components/certificate-details-parts/extensions/policy_mappings_extension.js +6 -7
  190. package/dist/collection/components/certificate-details-parts/extensions/policy_mappings_extension.js.map +1 -1
  191. package/dist/collection/components/certificate-details-parts/extensions/private_key_usage_period_extension.js +2 -2
  192. package/dist/collection/components/certificate-details-parts/extensions/private_key_usage_period_extension.js.map +1 -1
  193. package/dist/collection/components/certificate-details-parts/extensions/qc_statements_extension.js +29 -29
  194. package/dist/collection/components/certificate-details-parts/extensions/qc_statements_extension.js.map +1 -1
  195. package/dist/collection/components/certificate-details-parts/extensions/subject_alternative_name_extension.js +2 -2
  196. package/dist/collection/components/certificate-details-parts/extensions/subject_alternative_name_extension.js.map +1 -1
  197. package/dist/collection/components/certificate-details-parts/extensions/subject_directory_attributes_extension.js +5 -5
  198. package/dist/collection/components/certificate-details-parts/extensions/subject_directory_attributes_extension.js.map +1 -1
  199. package/dist/collection/components/certificate-details-parts/extensions/subject_key_identifier_extension.js +8 -8
  200. package/dist/collection/components/certificate-details-parts/extensions/subject_key_identifier_extension.js.map +1 -1
  201. package/dist/collection/components/certificate-details-parts/extensions/timestamp_extension.js +2 -2
  202. package/dist/collection/components/certificate-details-parts/extensions/timestamp_extension.js.map +1 -1
  203. package/dist/collection/components/certificate-details-parts/extensions/tn_auth_list_extension.js +6 -8
  204. package/dist/collection/components/certificate-details-parts/extensions/tn_auth_list_extension.js.map +1 -1
  205. package/dist/collection/components/certificate-details-parts/holder.js +19 -21
  206. package/dist/collection/components/certificate-details-parts/holder.js.map +1 -1
  207. package/dist/collection/components/certificate-details-parts/issuer.js +8 -8
  208. package/dist/collection/components/certificate-details-parts/issuer.js.map +1 -1
  209. package/dist/collection/components/certificate-details-parts/issuer_name.js +6 -6
  210. package/dist/collection/components/certificate-details-parts/issuer_name.js.map +1 -1
  211. package/dist/collection/components/certificate-details-parts/miscellaneous.js +6 -6
  212. package/dist/collection/components/certificate-details-parts/miscellaneous.js.map +1 -1
  213. package/dist/collection/components/certificate-details-parts/public_key.js +29 -29
  214. package/dist/collection/components/certificate-details-parts/public_key.js.map +1 -1
  215. package/dist/collection/components/certificate-details-parts/revoked_certificates.js +30 -30
  216. package/dist/collection/components/certificate-details-parts/revoked_certificates.js.map +1 -1
  217. package/dist/collection/components/certificate-details-parts/row.js +26 -26
  218. package/dist/collection/components/certificate-details-parts/row.js.map +1 -1
  219. package/dist/collection/components/certificate-details-parts/signature.js +13 -13
  220. package/dist/collection/components/certificate-details-parts/signature.js.map +1 -1
  221. package/dist/collection/components/certificate-details-parts/subject_name.js +5 -5
  222. package/dist/collection/components/certificate-details-parts/subject_name.js.map +1 -1
  223. package/dist/collection/components/certificate-details-parts/thumbprints.js +12 -12
  224. package/dist/collection/components/certificate-details-parts/thumbprints.js.map +1 -1
  225. package/dist/collection/components/certificate-summary/certificate-summary.js +3 -3
  226. package/dist/collection/components/certificate-summary/certificate-summary.js.map +1 -1
  227. package/dist/collection/components/certificate-viewer/certificate-viewer.js +278 -278
  228. package/dist/collection/components/certificate-viewer/certificate-viewer.js.map +1 -1
  229. package/dist/collection/components/certificates-viewer/certificates-viewer.js +374 -374
  230. package/dist/collection/components/certificates-viewer/certificates-viewer.js.map +1 -1
  231. package/dist/collection/components/circular-progress/circular-progress.js +67 -67
  232. package/dist/collection/components/circular-progress/circular-progress.js.map +1 -1
  233. package/dist/collection/components/crl-viewer/crl-viewer.js +229 -229
  234. package/dist/collection/components/crl-viewer/crl-viewer.js.map +1 -1
  235. package/dist/collection/components/csr-viewer/csr-viewer.js +211 -219
  236. package/dist/collection/components/csr-viewer/csr-viewer.js.map +1 -1
  237. package/dist/collection/components/highlight-words/highlight-words.js +60 -60
  238. package/dist/collection/components/highlight-words/highlight-words.js.map +1 -1
  239. package/dist/collection/components/icons/actions.js +2 -2
  240. package/dist/collection/components/icons/actions.js.map +1 -1
  241. package/dist/collection/components/icons/arrow_bottom.js +2 -2
  242. package/dist/collection/components/icons/arrow_bottom.js.map +1 -1
  243. package/dist/collection/components/icons/arrow_top.js +2 -2
  244. package/dist/collection/components/icons/arrow_top.js.map +1 -1
  245. package/dist/collection/components/icons/cross.js +2 -2
  246. package/dist/collection/components/icons/cross.js.map +1 -1
  247. package/dist/collection/components/icons/details.js +2 -2
  248. package/dist/collection/components/icons/details.js.map +1 -1
  249. package/dist/collection/components/icons/download.js +2 -2
  250. package/dist/collection/components/icons/download.js.map +1 -1
  251. package/dist/collection/components/icons/link.js +2 -2
  252. package/dist/collection/components/icons/link.js.map +1 -1
  253. package/dist/collection/components/link/link.js +4 -4
  254. package/dist/collection/components/link/link.js.map +1 -1
  255. package/dist/collection/components/text-hider/text-hider.js +23 -23
  256. package/dist/collection/components/text-hider/text-hider.js.map +1 -1
  257. package/dist/collection/components/typography/typography.js +32 -32
  258. package/dist/collection/components/typography/typography.js.map +1 -1
  259. package/dist/collection/constants/logs.js +77 -77
  260. package/dist/collection/constants/logs.js.map +1 -1
  261. package/dist/collection/constants/oids.js +2334 -2334
  262. package/dist/collection/constants/oids.js.map +1 -1
  263. package/dist/collection/crypto/asn_data.js +31 -31
  264. package/dist/collection/crypto/asn_data.js.map +1 -1
  265. package/dist/collection/crypto/attribute.js +35 -51
  266. package/dist/collection/crypto/attribute.js.map +1 -1
  267. package/dist/collection/crypto/crl.js +66 -66
  268. package/dist/collection/crypto/crl.js.map +1 -1
  269. package/dist/collection/crypto/csr.js +76 -69
  270. package/dist/collection/crypto/csr.js.map +1 -1
  271. package/dist/collection/crypto/extension.js +63 -138
  272. package/dist/collection/crypto/extension.js.map +1 -1
  273. package/dist/collection/crypto/extensions/cabforganization_identifier.js +20 -15
  274. package/dist/collection/crypto/extensions/cabforganization_identifier.js.map +1 -1
  275. package/dist/collection/crypto/name.js +31 -31
  276. package/dist/collection/crypto/name.js.map +1 -1
  277. package/dist/collection/crypto/provider.js +26 -26
  278. package/dist/collection/crypto/provider.js.map +1 -1
  279. package/dist/collection/crypto/utils.js +23 -23
  280. package/dist/collection/crypto/utils.js.map +1 -1
  281. package/dist/collection/crypto/x509_attribute_certificate.js +66 -66
  282. package/dist/collection/crypto/x509_attribute_certificate.js.map +1 -1
  283. package/dist/collection/crypto/x509_certificate.js +139 -139
  284. package/dist/collection/crypto/x509_certificate.js.map +1 -1
  285. package/dist/collection/utils/camel_case_to_words.js +2 -2
  286. package/dist/collection/utils/camel_case_to_words.js.map +1 -1
  287. package/dist/collection/utils/date_formatter.js +6 -6
  288. package/dist/collection/utils/date_formatter.js.map +1 -1
  289. package/dist/collection/utils/download.js +24 -24
  290. package/dist/collection/utils/download.js.map +1 -1
  291. package/dist/collection/utils/download_from_buffer.js +25 -25
  292. package/dist/collection/utils/download_from_buffer.js.map +1 -1
  293. package/dist/collection/utils/get_string_by_oid.js +5 -5
  294. package/dist/collection/utils/get_string_by_oid.js.map +1 -1
  295. package/dist/collection/utils/is_link.js +1 -1
  296. package/dist/collection/utils/is_link.js.map +1 -1
  297. package/dist/collection/utils/l10n.js +25 -25
  298. package/dist/collection/utils/l10n.js.map +1 -1
  299. package/dist/collection/utils/read_file.js +40 -40
  300. package/dist/collection/utils/read_file.js.map +1 -1
  301. package/dist/collection/utils/validator.js +13 -13
  302. package/dist/collection/utils/validator.js.map +1 -1
  303. package/dist/esm/actions-aebcbc9d.js +21 -0
  304. package/dist/esm/{actions-8d745b2a.js.map → actions-aebcbc9d.js.map} +1 -1
  305. package/dist/esm/app-globals-5e9b67e0.js +8 -0
  306. package/dist/esm/app-globals-5e9b67e0.js.map +1 -0
  307. package/dist/esm/arrow_top-aee1ee02.js +34 -0
  308. package/dist/esm/{arrow_top-fc298828.js.map → arrow_top-aee1ee02.js.map} +1 -1
  309. package/dist/esm/button-a2fabf9a.js +74 -0
  310. package/dist/esm/{button-35146bdd.js.map → button-a2fabf9a.js.map} +1 -1
  311. package/dist/esm/{certification_request-d5ea5973.js → certification_request-2c054ece.js} +2637 -2707
  312. package/dist/esm/certification_request-2c054ece.js.map +1 -0
  313. package/dist/esm/crl-a7318483.js +308 -0
  314. package/dist/esm/crl-a7318483.js.map +1 -0
  315. package/dist/esm/cross-1377606f.js +47 -0
  316. package/dist/esm/{cross-9ec9a759.js.map → cross-1377606f.js.map} +1 -1
  317. package/dist/esm/download-14dc1047.js +21 -0
  318. package/dist/esm/{download-0cc3077a.js.map → download-14dc1047.js.map} +1 -1
  319. package/dist/esm/{download-aacb6eff.js → download-8c128e2e.js} +50 -50
  320. package/dist/esm/download-8c128e2e.js.map +1 -0
  321. package/dist/esm/{index-4079bbb5.js → index-ae188432.js} +398 -145
  322. package/dist/esm/index-ae188432.js.map +1 -0
  323. package/dist/esm/index.js +8 -8
  324. package/dist/esm/link-7e4e9060.js +23 -0
  325. package/dist/esm/{link-ad24c3be.js.map → link-7e4e9060.js.map} +1 -1
  326. package/dist/esm/loader.js +5 -3
  327. package/dist/esm/loader.js.map +1 -1
  328. package/dist/esm/miscellaneous-0e98b5bc.js +1401 -0
  329. package/dist/esm/miscellaneous-0e98b5bc.js.map +1 -0
  330. package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js +481 -480
  331. package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js.map +1 -1
  332. package/dist/esm/peculiar-button-menu_3.entry.js +72 -69
  333. package/dist/esm/peculiar-button-menu_3.entry.js.map +1 -1
  334. package/dist/esm/peculiar-certificate-decoder.entry.js +151 -150
  335. package/dist/esm/peculiar-certificate-decoder.entry.js.map +1 -1
  336. package/dist/esm/peculiar-certificate-viewer.entry.js +107 -106
  337. package/dist/esm/peculiar-certificate-viewer.entry.js.map +1 -1
  338. package/dist/esm/peculiar-certificates-viewer.entry.js +258 -257
  339. package/dist/esm/peculiar-certificates-viewer.entry.js.map +1 -1
  340. package/dist/esm/peculiar-text-hider.entry.js +12 -11
  341. package/dist/esm/peculiar-text-hider.entry.js.map +1 -1
  342. package/dist/esm/peculiar.js +6 -4
  343. package/dist/esm/peculiar.js.map +1 -1
  344. package/dist/esm/x509_certificate-ad568d3a.js +158 -0
  345. package/dist/esm/x509_certificate-ad568d3a.js.map +1 -0
  346. package/dist/esm-es5/{actions-8d745b2a.js → actions-aebcbc9d.js} +2 -2
  347. package/dist/esm-es5/app-globals-5e9b67e0.js +5 -0
  348. package/dist/esm-es5/app-globals-5e9b67e0.js.map +1 -0
  349. package/dist/esm-es5/{arrow_top-fc298828.js → arrow_top-aee1ee02.js} +2 -2
  350. package/dist/esm-es5/button-a2fabf9a.js +19 -0
  351. package/dist/esm-es5/{certification_request-d5ea5973.js → certification_request-2c054ece.js} +12 -12
  352. package/dist/esm-es5/certification_request-2c054ece.js.map +1 -0
  353. package/dist/esm-es5/crl-a7318483.js +33 -0
  354. package/dist/esm-es5/crl-a7318483.js.map +1 -0
  355. package/dist/esm-es5/{cross-9ec9a759.js → cross-1377606f.js} +2 -2
  356. package/dist/esm-es5/{download-0cc3077a.js → download-14dc1047.js} +2 -2
  357. package/dist/esm-es5/{download-aacb6eff.js → download-8c128e2e.js} +3 -3
  358. package/dist/esm-es5/{download-aacb6eff.js.map → download-8c128e2e.js.map} +1 -1
  359. package/dist/esm-es5/index-ae188432.js +6 -0
  360. package/dist/esm-es5/index-ae188432.js.map +1 -0
  361. package/dist/esm-es5/index.js +1 -1
  362. package/dist/esm-es5/{link-ad24c3be.js → link-7e4e9060.js} +3 -3
  363. package/dist/esm-es5/loader.js +2 -2
  364. package/dist/esm-es5/loader.js.map +1 -1
  365. package/dist/esm-es5/{miscellaneous-cdfd8905.js → miscellaneous-0e98b5bc.js} +51 -51
  366. package/dist/esm-es5/miscellaneous-0e98b5bc.js.map +1 -0
  367. package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js +17 -17
  368. package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js.map +1 -1
  369. package/dist/esm-es5/peculiar-button-menu_3.entry.js +1 -1
  370. package/dist/esm-es5/peculiar-button-menu_3.entry.js.map +1 -1
  371. package/dist/esm-es5/peculiar-certificate-decoder.entry.js +3 -3
  372. package/dist/esm-es5/peculiar-certificate-decoder.entry.js.map +1 -1
  373. package/dist/esm-es5/peculiar-certificate-viewer.entry.js +2 -2
  374. package/dist/esm-es5/peculiar-certificate-viewer.entry.js.map +1 -1
  375. package/dist/esm-es5/peculiar-certificates-viewer.entry.js +3 -3
  376. package/dist/esm-es5/peculiar-certificates-viewer.entry.js.map +1 -1
  377. package/dist/esm-es5/peculiar-text-hider.entry.js +1 -1
  378. package/dist/esm-es5/peculiar-text-hider.entry.js.map +1 -1
  379. package/dist/esm-es5/peculiar.js +2 -2
  380. package/dist/esm-es5/peculiar.js.map +1 -1
  381. package/dist/esm-es5/x509_certificate-ad568d3a.js +12 -0
  382. package/dist/esm-es5/{x509_certificate-a9fcab55.js.map → x509_certificate-ad568d3a.js.map} +1 -1
  383. package/dist/peculiar/index.esm.js +1 -1
  384. package/dist/peculiar/{p-3b395604.system.entry.js → p-00302a20.system.entry.js} +3 -3
  385. package/dist/peculiar/p-00302a20.system.entry.js.map +1 -0
  386. package/dist/peculiar/p-0dbc8238.system.js +13 -0
  387. package/dist/peculiar/{p-ab7dc738.system.js.map → p-0dbc8238.system.js.map} +1 -1
  388. package/dist/peculiar/{p-4a6ceeda.js → p-1302bd67.js} +11 -11
  389. package/dist/peculiar/p-1302bd67.js.map +1 -0
  390. package/dist/peculiar/{p-59e5ac12.js → p-1f766dd5.js} +1 -1
  391. package/dist/peculiar/p-243244af.system.js +13 -0
  392. package/dist/peculiar/{p-0fc2e2b4.js → p-27ca6743.js} +2 -2
  393. package/dist/peculiar/p-3cb79cd9.js +6 -0
  394. package/dist/peculiar/p-3cb79cd9.js.map +1 -0
  395. package/dist/peculiar/{p-48474b8d.js → p-3d44cbd2.js} +3 -3
  396. package/dist/peculiar/p-3f9af5f5.system.js +97 -0
  397. package/dist/peculiar/p-3f9af5f5.system.js.map +1 -0
  398. package/dist/peculiar/{p-a67b8793.system.entry.js → p-496449cf.system.entry.js} +10 -10
  399. package/dist/peculiar/p-496449cf.system.entry.js.map +1 -0
  400. package/dist/peculiar/p-4bc5ddbe.js +19 -0
  401. package/dist/peculiar/{p-609ee9f0.entry.js → p-54b37ef9.entry.js} +2 -2
  402. package/dist/peculiar/p-54b37ef9.entry.js.map +1 -0
  403. package/dist/peculiar/p-5a662d6f.system.js +13 -0
  404. package/dist/peculiar/{p-a7386b78.entry.js → p-5c6f9a14.entry.js} +3 -3
  405. package/dist/peculiar/p-5c6f9a14.entry.js.map +1 -0
  406. package/dist/peculiar/p-5cf4562f.system.entry.js +111 -0
  407. package/dist/peculiar/p-5cf4562f.system.entry.js.map +1 -0
  408. package/dist/peculiar/{p-c35b180c.entry.js → p-5f3b0fc7.entry.js} +3 -3
  409. package/dist/peculiar/p-5f3b0fc7.entry.js.map +1 -0
  410. package/dist/peculiar/{p-a720c0a5.system.entry.js → p-6680f277.system.entry.js} +10 -10
  411. package/dist/peculiar/p-6680f277.system.entry.js.map +1 -0
  412. package/dist/peculiar/p-713563fb.entry.js +5 -0
  413. package/dist/peculiar/p-713563fb.entry.js.map +1 -0
  414. package/dist/peculiar/{p-67156853.js → p-75166532.js} +5 -5
  415. package/dist/peculiar/p-75166532.js.map +1 -0
  416. package/dist/peculiar/p-821bdcdc.system.js +6 -0
  417. package/dist/peculiar/p-821bdcdc.system.js.map +1 -0
  418. package/dist/peculiar/p-8393399a.system.js +5 -0
  419. package/dist/peculiar/p-8393399a.system.js.map +1 -0
  420. package/dist/peculiar/p-8bbee8f4.system.js +13 -0
  421. package/dist/peculiar/p-924790f5.js +33 -0
  422. package/dist/peculiar/p-924790f5.js.map +1 -0
  423. package/dist/peculiar/p-9712b827.system.js +20 -0
  424. package/dist/peculiar/{p-2fcad8cb.system.js.map → p-9712b827.system.js.map} +1 -1
  425. package/dist/peculiar/{p-370cee20.js → p-99efefea.js} +2 -2
  426. package/dist/peculiar/{p-1ceb0fe3.js → p-a9487007.js} +2 -2
  427. package/dist/peculiar/{p-17e3c47b.js → p-ae91d778.js} +2 -2
  428. package/dist/peculiar/p-afbd1c8e.entry.js +5 -0
  429. package/dist/peculiar/p-afbd1c8e.entry.js.map +1 -0
  430. package/dist/peculiar/p-b2890eb8.system.js +5 -0
  431. package/dist/peculiar/p-b5389885.system.entry.js +5 -0
  432. package/dist/peculiar/p-b5389885.system.entry.js.map +1 -0
  433. package/dist/peculiar/p-c156b495.system.js +33 -0
  434. package/dist/peculiar/p-c156b495.system.js.map +1 -0
  435. package/dist/peculiar/p-c23fd001.entry.js +110 -0
  436. package/dist/peculiar/p-c23fd001.entry.js.map +1 -0
  437. package/dist/peculiar/p-c241e4ba.system.js +20 -0
  438. package/dist/peculiar/{p-c99507d4.system.js.map → p-c241e4ba.system.js.map} +1 -1
  439. package/dist/peculiar/p-c2995a63.system.js +5 -0
  440. package/dist/peculiar/p-c2995a63.system.js.map +1 -0
  441. package/dist/peculiar/p-dac867e8.js +5 -0
  442. package/dist/peculiar/p-dac867e8.js.map +1 -0
  443. package/dist/peculiar/p-dde511c8.system.js +43 -0
  444. package/dist/{cjs/download-0fa5b33c.js.map → peculiar/p-dde511c8.system.js.map} +1 -1
  445. package/dist/peculiar/p-e4ad4f13.system.entry.js +5 -0
  446. package/dist/peculiar/p-e4ad4f13.system.entry.js.map +1 -0
  447. package/dist/peculiar/p-e6a6e602.js +12 -0
  448. package/dist/peculiar/p-eea904d7.system.js +27 -0
  449. package/dist/peculiar/{p-ddae2f8e.system.js.map → p-eea904d7.system.js.map} +1 -1
  450. package/dist/peculiar/p-ff3ced3c.system.js +369 -0
  451. package/dist/peculiar/p-ff3ced3c.system.js.map +1 -0
  452. package/dist/peculiar/peculiar.esm.js +1 -1
  453. package/dist/peculiar/peculiar.esm.js.map +1 -1
  454. package/dist/peculiar/peculiar.js +15 -15
  455. package/dist/types/components/attribute-certificate-viewer/attribute-certificate-viewer.d.ts +68 -68
  456. package/dist/types/components/button/button.d.ts +4 -4
  457. package/dist/types/components/button-menu/button-menu.d.ts +7 -7
  458. package/dist/types/components/certificate-decoder/certificate-decoder.d.ts +31 -31
  459. package/dist/types/components/certificate-details-parts/attributes/activity_description_attribute.d.ts +1 -1
  460. package/dist/types/components/certificate-details-parts/attributes/as_string_attribute.d.ts +1 -1
  461. package/dist/types/components/certificate-details-parts/attributes/basic_attribute.d.ts +1 -1
  462. package/dist/types/components/certificate-details-parts/attributes/challenge_password_attribute.d.ts +1 -1
  463. package/dist/types/components/certificate-details-parts/attributes/index.d.ts +1 -1
  464. package/dist/types/components/certificate-details-parts/attributes/insurance_value_attribute.d.ts +1 -1
  465. package/dist/types/components/certificate-details-parts/attributes/name_attribute.d.ts +1 -1
  466. package/dist/types/components/certificate-details-parts/attributes/name_part.d.ts +1 -1
  467. package/dist/types/components/certificate-details-parts/attributes/type_relationship_attribute.d.ts +1 -1
  468. package/dist/types/components/certificate-details-parts/attributes/unstructured_name_attribute.d.ts +1 -1
  469. package/dist/types/components/certificate-details-parts/attributes/valuation_ranking_attribute.d.ts +1 -1
  470. package/dist/types/components/certificate-details-parts/attributes/web_gdpr_attribute.d.ts +1 -1
  471. package/dist/types/components/certificate-details-parts/basic_information.d.ts +8 -8
  472. package/dist/types/components/certificate-details-parts/extensions/archive_rev_info_extension.d.ts +1 -1
  473. package/dist/types/components/certificate-details-parts/extensions/as_string_extension.d.ts +1 -1
  474. package/dist/types/components/certificate-details-parts/extensions/authority_key_identifier_extension.d.ts +1 -1
  475. package/dist/types/components/certificate-details-parts/extensions/basic_constraints_extension.d.ts +1 -1
  476. package/dist/types/components/certificate-details-parts/extensions/basic_extension.d.ts +1 -1
  477. package/dist/types/components/certificate-details-parts/extensions/biometric_syntax_extension.d.ts +1 -1
  478. package/dist/types/components/certificate-details-parts/extensions/ca_version_extension.d.ts +1 -1
  479. package/dist/types/components/certificate-details-parts/extensions/cabforganization_identifier_extension.d.ts +1 -1
  480. package/dist/types/components/certificate-details-parts/extensions/certificate_policies_extension.d.ts +1 -1
  481. package/dist/types/components/certificate-details-parts/extensions/certificate_template_extension.d.ts +1 -1
  482. package/dist/types/components/certificate-details-parts/extensions/certificate_transparency_extension.d.ts +1 -1
  483. package/dist/types/components/certificate-details-parts/extensions/crl_distribution_points_extension.d.ts +1 -1
  484. package/dist/types/components/certificate-details-parts/extensions/crl_number_extension.d.ts +1 -1
  485. package/dist/types/components/certificate-details-parts/extensions/crl_reason_extension.d.ts +1 -1
  486. package/dist/types/components/certificate-details-parts/extensions/enroll_cert_type_extension.d.ts +1 -1
  487. package/dist/types/components/certificate-details-parts/extensions/entrust_version_info_extension.d.ts +1 -1
  488. package/dist/types/components/certificate-details-parts/extensions/extended_key_usage_extension.d.ts +1 -1
  489. package/dist/types/components/certificate-details-parts/extensions/general_name_part.d.ts +1 -1
  490. package/dist/types/components/certificate-details-parts/extensions/index.d.ts +2 -2
  491. package/dist/types/components/certificate-details-parts/extensions/info_access_syntax_extension.d.ts +1 -1
  492. package/dist/types/components/certificate-details-parts/extensions/issuing_distribution_point_extension.d.ts +1 -1
  493. package/dist/types/components/certificate-details-parts/extensions/key_description_extension.d.ts +1 -1
  494. package/dist/types/components/certificate-details-parts/extensions/key_usage_extension.d.ts +1 -1
  495. package/dist/types/components/certificate-details-parts/extensions/lei_extension.d.ts +1 -1
  496. package/dist/types/components/certificate-details-parts/extensions/lei_role_extennsion.d.ts +1 -1
  497. package/dist/types/components/certificate-details-parts/extensions/logotype_extension.d.ts +1 -1
  498. package/dist/types/components/certificate-details-parts/extensions/name_constraints_extension.d.ts +1 -1
  499. package/dist/types/components/certificate-details-parts/extensions/netscape_cert_type_extension.d.ts +1 -1
  500. package/dist/types/components/certificate-details-parts/extensions/netscape_comment_extension.d.ts +1 -1
  501. package/dist/types/components/certificate-details-parts/extensions/policy_constraints_extension.d.ts +1 -1
  502. package/dist/types/components/certificate-details-parts/extensions/policy_mappings_extension.d.ts +1 -1
  503. package/dist/types/components/certificate-details-parts/extensions/private_key_usage_period_extension.d.ts +1 -1
  504. package/dist/types/components/certificate-details-parts/extensions/qc_statements_extension.d.ts +1 -1
  505. package/dist/types/components/certificate-details-parts/extensions/subject_alternative_name_extension.d.ts +1 -1
  506. package/dist/types/components/certificate-details-parts/extensions/subject_directory_attributes_extension.d.ts +1 -1
  507. package/dist/types/components/certificate-details-parts/extensions/subject_key_identifier_extension.d.ts +1 -1
  508. package/dist/types/components/certificate-details-parts/extensions/timestamp_extension.d.ts +1 -1
  509. package/dist/types/components/certificate-details-parts/extensions/tn_auth_list_extension.d.ts +1 -1
  510. package/dist/types/components/certificate-details-parts/holder.d.ts +1 -1
  511. package/dist/types/components/certificate-details-parts/issuer.d.ts +1 -1
  512. package/dist/types/components/certificate-details-parts/issuer_name.d.ts +2 -2
  513. package/dist/types/components/certificate-details-parts/miscellaneous.d.ts +1 -1
  514. package/dist/types/components/certificate-details-parts/public_key.d.ts +1 -1
  515. package/dist/types/components/certificate-details-parts/revoked_certificates.d.ts +1 -1
  516. package/dist/types/components/certificate-details-parts/row.d.ts +7 -7
  517. package/dist/types/components/certificate-details-parts/signature.d.ts +1 -1
  518. package/dist/types/components/certificate-details-parts/subject_name.d.ts +1 -1
  519. package/dist/types/components/certificate-details-parts/thumbprints.d.ts +1 -1
  520. package/dist/types/components/certificate-summary/certificate-summary.d.ts +2 -2
  521. package/dist/types/components/certificate-viewer/certificate-viewer.d.ts +74 -74
  522. package/dist/types/components/certificates-viewer/certificates-viewer.d.ts +75 -75
  523. package/dist/types/components/circular-progress/circular-progress.d.ts +10 -10
  524. package/dist/types/components/crl-viewer/crl-viewer.d.ts +56 -56
  525. package/dist/types/components/csr-viewer/csr-viewer.d.ts +52 -53
  526. package/dist/types/components/highlight-words/highlight-words.d.ts +8 -8
  527. package/dist/types/components/icons/actions.d.ts +1 -1
  528. package/dist/types/components/icons/arrow_bottom.d.ts +1 -1
  529. package/dist/types/components/icons/arrow_top.d.ts +1 -1
  530. package/dist/types/components/icons/cross.d.ts +1 -1
  531. package/dist/types/components/icons/details.d.ts +1 -1
  532. package/dist/types/components/icons/download.d.ts +1 -1
  533. package/dist/types/components/icons/link.d.ts +1 -1
  534. package/dist/types/components/link/link.d.ts +2 -2
  535. package/dist/types/components/text-hider/text-hider.d.ts +2 -2
  536. package/dist/types/components/typography/typography.d.ts +4 -4
  537. package/dist/types/components.d.ts +24 -0
  538. package/dist/types/constants/logs.d.ts +77 -77
  539. package/dist/types/constants/oids.d.ts +2326 -2326
  540. package/dist/types/crypto/asn_data.d.ts +6 -6
  541. package/dist/types/crypto/attribute.d.ts +21 -6
  542. package/dist/types/crypto/crl.d.ts +23 -23
  543. package/dist/types/crypto/csr.d.ts +23 -21
  544. package/dist/types/crypto/extension.d.ts +51 -5
  545. package/dist/types/crypto/extensions/cabforganization_identifier.d.ts +5 -5
  546. package/dist/types/crypto/name.d.ts +7 -7
  547. package/dist/types/crypto/provider.d.ts +15 -15
  548. package/dist/types/crypto/x509_attribute_certificate.d.ts +24 -24
  549. package/dist/types/crypto/x509_certificate.d.ts +33 -33
  550. package/dist/types/stencil-public-runtime.d.ts +29 -0
  551. package/dist/types/utils/download.d.ts +16 -16
  552. package/dist/types/utils/l10n.d.ts +56 -56
  553. package/dist/types/utils/read_file.d.ts +7 -7
  554. package/hydrate/index.d.ts +2 -2
  555. package/hydrate/index.js +11363 -9541
  556. package/package.json +21 -13
  557. package/dist/cjs/actions-19013d4a.js +0 -23
  558. package/dist/cjs/arrow_top-834fb7ec.js +0 -37
  559. package/dist/cjs/button-14e2b73f.js +0 -77
  560. package/dist/cjs/certification_request-5672c667.js.map +0 -1
  561. package/dist/cjs/crl-3f681d44.js +0 -322
  562. package/dist/cjs/crl-3f681d44.js.map +0 -1
  563. package/dist/cjs/cross-9872c473.js +0 -51
  564. package/dist/cjs/download-254ddc57.js +0 -23
  565. package/dist/cjs/index-efd561e9.js.map +0 -1
  566. package/dist/cjs/link-6aea0be4.js +0 -25
  567. package/dist/cjs/miscellaneous-905ec852.js +0 -1416
  568. package/dist/cjs/miscellaneous-905ec852.js.map +0 -1
  569. package/dist/cjs/x509_certificate-69764c52.js +0 -160
  570. package/dist/cjs/x509_certificate-69764c52.js.map +0 -1
  571. package/dist/esm/actions-8d745b2a.js +0 -21
  572. package/dist/esm/arrow_top-fc298828.js +0 -34
  573. package/dist/esm/button-35146bdd.js +0 -74
  574. package/dist/esm/certification_request-d5ea5973.js.map +0 -1
  575. package/dist/esm/crl-d13d9ec5.js +0 -318
  576. package/dist/esm/crl-d13d9ec5.js.map +0 -1
  577. package/dist/esm/cross-9ec9a759.js +0 -47
  578. package/dist/esm/download-0cc3077a.js +0 -21
  579. package/dist/esm/download-aacb6eff.js.map +0 -1
  580. package/dist/esm/index-4079bbb5.js.map +0 -1
  581. package/dist/esm/link-ad24c3be.js +0 -23
  582. package/dist/esm/miscellaneous-cdfd8905.js +0 -1399
  583. package/dist/esm/miscellaneous-cdfd8905.js.map +0 -1
  584. package/dist/esm/x509_certificate-a9fcab55.js +0 -158
  585. package/dist/esm/x509_certificate-a9fcab55.js.map +0 -1
  586. package/dist/esm-es5/button-35146bdd.js +0 -19
  587. package/dist/esm-es5/certification_request-d5ea5973.js.map +0 -1
  588. package/dist/esm-es5/crl-d13d9ec5.js +0 -33
  589. package/dist/esm-es5/crl-d13d9ec5.js.map +0 -1
  590. package/dist/esm-es5/index-4079bbb5.js +0 -6
  591. package/dist/esm-es5/index-4079bbb5.js.map +0 -1
  592. package/dist/esm-es5/miscellaneous-cdfd8905.js.map +0 -1
  593. package/dist/esm-es5/x509_certificate-a9fcab55.js +0 -12
  594. package/dist/peculiar/p-0b356bb5.js +0 -6
  595. package/dist/peculiar/p-0b356bb5.js.map +0 -1
  596. package/dist/peculiar/p-14f281b0.system.js +0 -43
  597. package/dist/peculiar/p-14f281b0.system.js.map +0 -1
  598. package/dist/peculiar/p-2fcad8cb.system.js +0 -20
  599. package/dist/peculiar/p-33196289.entry.js +0 -5
  600. package/dist/peculiar/p-33196289.entry.js.map +0 -1
  601. package/dist/peculiar/p-3b395604.system.entry.js.map +0 -1
  602. package/dist/peculiar/p-4a6ceeda.js.map +0 -1
  603. package/dist/peculiar/p-5151cb6f.system.entry.js +0 -5
  604. package/dist/peculiar/p-5151cb6f.system.entry.js.map +0 -1
  605. package/dist/peculiar/p-53784f15.system.entry.js +0 -5
  606. package/dist/peculiar/p-53784f15.system.entry.js.map +0 -1
  607. package/dist/peculiar/p-5aabeba7.system.js +0 -6
  608. package/dist/peculiar/p-5aabeba7.system.js.map +0 -1
  609. package/dist/peculiar/p-5ab007e9.entry.js +0 -5
  610. package/dist/peculiar/p-5ab007e9.entry.js.map +0 -1
  611. package/dist/peculiar/p-609ee9f0.entry.js.map +0 -1
  612. package/dist/peculiar/p-67156853.js.map +0 -1
  613. package/dist/peculiar/p-6cb88fd6.system.js +0 -13
  614. package/dist/peculiar/p-6daee4d7.system.js +0 -369
  615. package/dist/peculiar/p-6daee4d7.system.js.map +0 -1
  616. package/dist/peculiar/p-6e48afc4.system.js +0 -34
  617. package/dist/peculiar/p-6e48afc4.system.js.map +0 -1
  618. package/dist/peculiar/p-718982f4.system.entry.js +0 -111
  619. package/dist/peculiar/p-718982f4.system.entry.js.map +0 -1
  620. package/dist/peculiar/p-7f9beaa8.js +0 -19
  621. package/dist/peculiar/p-80832207.system.js +0 -5
  622. package/dist/peculiar/p-80832207.system.js.map +0 -1
  623. package/dist/peculiar/p-8fac1d56.js +0 -33
  624. package/dist/peculiar/p-8fac1d56.js.map +0 -1
  625. package/dist/peculiar/p-94a453d7.js +0 -12
  626. package/dist/peculiar/p-a3eeb94b.system.js +0 -5
  627. package/dist/peculiar/p-a67b8793.system.entry.js.map +0 -1
  628. package/dist/peculiar/p-a720c0a5.system.entry.js.map +0 -1
  629. package/dist/peculiar/p-a7386b78.entry.js.map +0 -1
  630. package/dist/peculiar/p-ab7dc738.system.js +0 -13
  631. package/dist/peculiar/p-b313be9e.system.js +0 -13
  632. package/dist/peculiar/p-c35b180c.entry.js.map +0 -1
  633. package/dist/peculiar/p-c99507d4.system.js +0 -20
  634. package/dist/peculiar/p-ddae2f8e.system.js +0 -27
  635. package/dist/peculiar/p-e0f4bda5.system.js +0 -97
  636. package/dist/peculiar/p-e0f4bda5.system.js.map +0 -1
  637. package/dist/peculiar/p-e6a3b4d4.system.js +0 -13
  638. package/dist/peculiar/p-f86279f6.entry.js +0 -110
  639. package/dist/peculiar/p-f86279f6.entry.js.map +0 -1
  640. /package/dist/esm-es5/{actions-8d745b2a.js.map → actions-aebcbc9d.js.map} +0 -0
  641. /package/dist/esm-es5/{arrow_top-fc298828.js.map → arrow_top-aee1ee02.js.map} +0 -0
  642. /package/dist/esm-es5/{button-35146bdd.js.map → button-a2fabf9a.js.map} +0 -0
  643. /package/dist/esm-es5/{cross-9ec9a759.js.map → cross-1377606f.js.map} +0 -0
  644. /package/dist/esm-es5/{download-0cc3077a.js.map → download-14dc1047.js.map} +0 -0
  645. /package/dist/esm-es5/{link-ad24c3be.js.map → link-7e4e9060.js.map} +0 -0
  646. /package/dist/peculiar/{p-59e5ac12.js.map → p-1f766dd5.js.map} +0 -0
  647. /package/dist/peculiar/{p-6cb88fd6.system.js.map → p-243244af.system.js.map} +0 -0
  648. /package/dist/peculiar/{p-0fc2e2b4.js.map → p-27ca6743.js.map} +0 -0
  649. /package/dist/peculiar/{p-48474b8d.js.map → p-3d44cbd2.js.map} +0 -0
  650. /package/dist/peculiar/{p-7f9beaa8.js.map → p-4bc5ddbe.js.map} +0 -0
  651. /package/dist/peculiar/{p-b313be9e.system.js.map → p-5a662d6f.system.js.map} +0 -0
  652. /package/dist/peculiar/{p-e6a3b4d4.system.js.map → p-8bbee8f4.system.js.map} +0 -0
  653. /package/dist/peculiar/{p-370cee20.js.map → p-99efefea.js.map} +0 -0
  654. /package/dist/peculiar/{p-1ceb0fe3.js.map → p-a9487007.js.map} +0 -0
  655. /package/dist/peculiar/{p-17e3c47b.js.map → p-ae91d778.js.map} +0 -0
  656. /package/dist/peculiar/{p-a3eeb94b.system.js.map → p-b2890eb8.system.js.map} +0 -0
  657. /package/dist/peculiar/{p-94a453d7.js.map → p-e6a6e602.js.map} +0 -0
@@ -1,13 +1,13 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,r,a){function o(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,i){function c(e){try{s(a.next(e))}catch(e){i(e)}}function n(e){try{s(a["throw"](e))}catch(e){i(e)}}function s(e){e.done?r(e.value):o(e.value).then(c,n)}s((a=a.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},a,o,i,c;return c={next:n(0),throw:n(1),return:n(2)},typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function n(e){return function(t){return s([e,t])}}function s(n){if(a)throw new TypeError("Generator is already executing.");while(c&&(c=0,n[0]&&(r=0)),r)try{if(a=1,o&&(i=n[0]&2?o["return"]:n[0]?o["throw"]||((i=o["return"])&&i.call(o),0):o.next)&&!(i=i.call(o,n[1])).done)return i;if(o=0,i)n=[n[0]&2,i.value];switch(n[0]){case 0:case 1:i=n;break;case 4:r.label++;return{value:n[1],done:false};case 5:r.label++;o=n[1];n=[0];continue;case 7:n=r.ops.pop();r.trys.pop();continue;default:if(!(i=r.trys,i=i.length>0&&i[i.length-1])&&(n[0]===6||n[0]===2)){r=0;continue}if(n[0]===3&&(!i||n[1]>i[0]&&n[1]<i[3])){r.label=n[1];break}if(n[0]===6&&r.label<i[1]){r.label=i[1];i=n;break}if(i&&r.label<i[2]){r.label=i[2];r.ops.push(n);break}if(i[2])r.ops.pop();r.trys.pop();continue}n=t.call(e,r)}catch(e){n=[6,e];o=0}finally{a=i=0}if(n[0]&5)throw n[1];return{value:n[0]?n[1]:void 0,done:true}}};
1
+ var __awaiter=this&&this.__awaiter||function(t,e,r,a){function o(t){return t instanceof r?t:new r((function(e){e(t)}))}return new(r||(r=Promise))((function(r,c){function i(t){try{s(a.next(t))}catch(t){c(t)}}function n(t){try{s(a["throw"](t))}catch(t){c(t)}}function s(t){t.done?r(t.value):o(t.value).then(i,n)}s((a=a.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var r={label:0,sent:function(){if(c[0]&1)throw c[1];return c[1]},trys:[],ops:[]},a,o,c,i;return i={next:n(0),throw:n(1),return:n(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function n(t){return function(e){return s([t,e])}}function s(n){if(a)throw new TypeError("Generator is already executing.");while(i&&(i=0,n[0]&&(r=0)),r)try{if(a=1,o&&(c=n[0]&2?o["return"]:n[0]?o["throw"]||((c=o["return"])&&c.call(o),0):o.next)&&!(c=c.call(o,n[1])).done)return c;if(o=0,c)n=[n[0]&2,c.value];switch(n[0]){case 0:case 1:c=n;break;case 4:r.label++;return{value:n[1],done:false};case 5:r.label++;o=n[1];n=[0];continue;case 7:n=r.ops.pop();r.trys.pop();continue;default:if(!(c=r.trys,c=c.length>0&&c[c.length-1])&&(n[0]===6||n[0]===2)){r=0;continue}if(n[0]===3&&(!c||n[1]>c[0]&&n[1]<c[3])){r.label=n[1];break}if(n[0]===6&&r.label<c[1]){r.label=c[1];c=n;break}if(c&&r.label<c[2]){r.label=c[2];r.ops.push(n);break}if(c[2])r.ops.pop();r.trys.pop();continue}n=e.call(t,r)}catch(t){n=[6,t];o=0}finally{a=c=0}if(n[0]&5)throw n[1];return{value:n[0]?n[1]:void 0,done:true}}};
2
2
  /*!
3
3
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
4
- */System.register(["./p-5aabeba7.system.js","./p-e0f4bda5.system.js","./p-14f281b0.system.js","./p-ab7dc738.system.js","./p-6e48afc4.system.js","./p-2fcad8cb.system.js"],(function(e){"use strict";var t,r,a,o,i,c,n,s,v,l,p,h,d,u,f;return{setters:[function(e){t=e.r;r=e.c;a=e.h;o=e.H},function(e){i=e.i;c=e.a;n=e.b;s=e.c;v=e.d},function(){},function(e){l=e.X},function(e){p=e.X;h=e.C;d=e.a},function(e){u=e.T;f=e.B}],execute:function(){
4
+ */System.register(["./p-821bdcdc.system.js","./p-3f9af5f5.system.js","./p-dde511c8.system.js","./p-0dbc8238.system.js","./p-c156b495.system.js","./p-9712b827.system.js"],(function(t){"use strict";var e,r,a,o,c,i,n,s,v,p,l,h,f,b,d;return{setters:[function(t){e=t.r;r=t.c;a=t.h;o=t.H},function(t){c=t.i;i=t.a;n=t.b;s=t.c;v=t.d},function(){},function(t){p=t.X},function(t){l=t.X;h=t.C;f=t.a},function(t){b=t.T;d=t.B}],execute:function(){
5
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
- */
12
- function g(e){return new Promise((function(t,r){var a=new FileReader;a.onload=function(){return t({value:a.result,fileName:e.name,fileSize:e.size,sourceMime:e.type})};a.onerror=function(){return r(a.error)};a.readAsBinaryString(e)}))}var b="*{-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}.viewer{margin-top:var(--pv-size-base-12)}.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)}.control_row{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:var(--pv-size-base)}";var y=e("peculiar_certificate_decoder",function(){function e(e){var a=this;t(this,e);this.successParse=r(this,"successParse",7);this.clearCertificate=r(this,"clearCertificate",7);this.handleClickDecode=function(){var e=a.inputPaste.value;if(e){a.decode(e)}};this.handleClickClear=function(){a.clearValue()};this.handleChangeInputFile=function(e){return __awaiter(a,void 0,void 0,(function(){var t,r;return __generator(this,(function(a){switch(a.label){case 0:t=e.target;if(!t.files)return[3,2];return[4,g(t.files[0])];case 1:r=a.sent();if(typeof r.value==="string"){this.decode(r.value)}t.value="";a.label=2;case 2:return[2]}}))}))};this.handleChangeExample=function(e){if(e.target.value){a.decode(e.target.value)}else{a.clearValue()}};this.handleDropFile=function(e){return __awaiter(a,void 0,void 0,(function(){var t,r;return __generator(this,(function(a){switch(a.label){case 0:e.stopPropagation();e.preventDefault();t=e.dataTransfer;if(!t.files)return[3,2];return[4,g(t.files[0])];case 1:r=a.sent();if(typeof r.value==="string"){this.decode(r.value)}a.label=2;case 2:return[2]}}))}))};this.certificateExamples=undefined;this.defaultCertificate=undefined;this.certificateDecoded=undefined}e.prototype.componentDidLoad=function(){var e=this;if(this.defaultCertificate){setTimeout((function(){return e.decode(e.defaultCertificate)}),100)}};e.prototype.clearValue=function(){this.inputPaste.value="";this.certificateDecoded=null;this.clearCertificate.emit()};e.prototype.setValue=function(e){this.certificateDecoded=e;this.inputPaste.value=e.exportAsPemFormatted();this.successParse.emit(e.exportAsBase64())};e.prototype.decode=function(e){var t=i(e);var r=c(e);var a=n(e);var o=s(e);var u=v(e);var f;var g;if(t&&!(r||o||a||u)){this.clearValue();alert("Unsupported file type. Please try to use Certificate/AttributeCertificate/CertificateRequest/CRL.");return}try{if(r){f=new l(e)}if(o){f=new p(e)}if(a){f=new h(e)}if(u){f=new d(e)}}catch(e){g=e}if(!f){try{f=new l(e)}catch(e){g=e}}if(!f){try{f=new p(e)}catch(e){g=e}}if(!f){try{f=new h(e)}catch(e){g=e}}if(!f){try{f=new d(e)}catch(e){g=e}}if(!f){this.clearValue();console.log(g);alert("Error decoding file. Please try to use Certificate/AttributeCertificate/CertificateRequest/CRL.")}else{this.setValue(f)}};e.prototype.render=function(){var e=this;var t;return a(o,null,a("textarea",{placeholder:"Certificate DER or PEM",class:"textarea t-b2 c-black",ref:function(t){e.inputPaste=t},onDrop:this.handleDropFile}),a("div",{class:"controls"},a("div",{class:"control_row"},a(u,{variant:"b3",color:"secondary-tint-2"},"Drag or load file:"),a("input",{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:""})),((t=this.certificateExamples)===null||t===void 0?void 0:t.length)&&a("div",{class:"control_row"},a(u,{variant:"b3",color:"secondary-tint-2"},"Load examples:"),a("select",{onChange:this.handleChangeExample},a("option",{value:""},"None"),this.certificateExamples.map((function(e){return a("option",{value:e.value},e.title)})))),a("div",{class:"control_row"},a(f,{onClick:this.handleClickDecode},"Decode"),a(f,{onClick:this.handleClickClear},"Clear"))),this.certificateDecoded instanceof l&&a("peculiar-certificate-viewer",{certificate:this.certificateDecoded,class:"viewer",download:true}),this.certificateDecoded instanceof p&&a("peculiar-attribute-certificate-viewer",{certificate:this.certificateDecoded,class:"viewer",download:true}),this.certificateDecoded instanceof h&&a("peculiar-csr-viewer",{certificate:this.certificateDecoded,class:"viewer",download:true}),this.certificateDecoded instanceof d&&a("peculiar-crl-viewer",{certificate:this.certificateDecoded,class:"viewer",download:true}))};return e}());y.style=b}}}));
13
- //# sourceMappingURL=p-a720c0a5.system.entry.js.map
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
+ */
12
+ function g(t){return new Promise((function(e,r){var a=new FileReader;a.onload=function(){return e({value:a.result,fileName:t.name,fileSize:t.size,sourceMime:t.type})};a.onerror=function(){return r(a.error)};a.readAsBinaryString(t)}))}var u="*{-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}.viewer{margin-top:var(--pv-size-base-12)}.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)}.control_row{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:var(--pv-size-base)}";var y=u;var w=t("peculiar_certificate_decoder",function(){function t(t){var a=this;e(this,t);this.successParse=r(this,"successParse",7);this.clearCertificate=r(this,"clearCertificate",7);this.handleClickDecode=function(){var t=a.inputPaste.value;if(t){a.decode(t)}};this.handleClickClear=function(){a.clearValue()};this.handleChangeInputFile=function(t){return __awaiter(a,void 0,void 0,(function(){var e,r;return __generator(this,(function(a){switch(a.label){case 0:e=t.target;if(!e.files)return[3,2];return[4,g(e.files[0])];case 1:r=a.sent();if(typeof r.value==="string"){this.decode(r.value)}e.value="";a.label=2;case 2:return[2]}}))}))};this.handleChangeExample=function(t){if(t.target.value){a.decode(t.target.value)}else{a.clearValue()}};this.handleDropFile=function(t){return __awaiter(a,void 0,void 0,(function(){var e,r;return __generator(this,(function(a){switch(a.label){case 0:t.stopPropagation();t.preventDefault();e=t.dataTransfer;if(!e.files)return[3,2];return[4,g(e.files[0])];case 1:r=a.sent();if(typeof r.value==="string"){this.decode(r.value)}a.label=2;case 2:return[2]}}))}))};this.certificateExamples=undefined;this.defaultCertificate=undefined;this.certificateDecoded=undefined}t.prototype.componentDidLoad=function(){var t=this;if(this.defaultCertificate){setTimeout((function(){return t.decode(t.defaultCertificate)}),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.exportAsPemFormatted();this.successParse.emit(t.exportAsBase64())};t.prototype.decode=function(t){var e=c(t);var r=i(t);var a=n(t);var o=s(t);var b=v(t);var d;var g;if(e&&!(r||o||a||b)){this.clearValue();alert("Unsupported file type. Please try to use Certificate/AttributeCertificate/CertificateRequest/CRL.");return}try{if(r){d=new p(t)}if(o){d=new l(t)}if(a){d=new h(t)}if(b){d=new f(t)}}catch(t){g=t}if(!d){try{d=new p(t)}catch(t){g=t}}if(!d){try{d=new l(t)}catch(t){g=t}}if(!d){try{d=new h(t)}catch(t){g=t}}if(!d){try{d=new f(t)}catch(t){g=t}}if(!d){this.clearValue();console.log(g);alert("Error decoding file. Please try to use Certificate/AttributeCertificate/CertificateRequest/CRL.")}else{this.setValue(d)}};t.prototype.render=function(){var t=this;var e;return a(o,{key:"b10e5ce1d2efe26bbe7e0daafb3bbaf5a9f73a62"},a("textarea",{key:"581e7c2eadf2fe33876106b2fdc90bdc9fb92096",placeholder:"Certificate DER or PEM",class:"textarea t-b2 c-black",ref:function(e){t.inputPaste=e},onDrop:this.handleDropFile}),a("div",{key:"71f93ecef6e3571d3ca795be1b53e1b19c4881d3",class:"controls"},a("div",{key:"b2f2dfbe0637d3119bbb2dbf622f7614685f5cb5",class:"control_row"},a(b,{key:"c639c7c696d589ef1035ca8c0f910ce5456e83cf",variant:"b3",color:"secondary-tint-2"},"Drag or load file:"),a("input",{key:"c8acf8a1620a802fbcf9afe6b52d8bed1e90bd23",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)&&a("div",{class:"control_row"},a(b,{variant:"b3",color:"secondary-tint-2"},"Load examples:"),a("select",{onChange:this.handleChangeExample},a("option",{value:""},"None"),this.certificateExamples.map((function(t){return a("option",{value:t.value},t.title)})))),a("div",{key:"051ce823203fa7bf2a5f4e2c85b121017fdd8651",class:"control_row"},a(d,{key:"405a0894a87ab000e3717cecd7d3fa34620c26a9",onClick:this.handleClickDecode},"Decode"),a(d,{key:"34282cb209b5fb99a29b2b415435d31646fe0e7e",onClick:this.handleClickClear},"Clear"))),this.certificateDecoded instanceof p&&a("peculiar-certificate-viewer",{certificate:this.certificateDecoded,class:"viewer",download:true}),this.certificateDecoded instanceof l&&a("peculiar-attribute-certificate-viewer",{certificate:this.certificateDecoded,class:"viewer",download:true}),this.certificateDecoded instanceof h&&a("peculiar-csr-viewer",{certificate:this.certificateDecoded,class:"viewer",download:true}),this.certificateDecoded instanceof f&&a("peculiar-crl-viewer",{certificate:this.certificateDecoded,class:"viewer",download:true}))};return t}());w.style=y}}}));
13
+ //# sourceMappingURL=p-6680f277.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["readAsBinaryString","file","Promise","resolve","reject","reader","FileReader","onload","value","result","fileName","name","fileSize","size","sourceMime","type","onerror","error","certificateDecoderCss","PeculiarCertificateDecoderStyle0","CertificateDecoder","exports","this","handleClickDecode","_this","inputPaste","decode","handleClickClear","clearValue","handleChangeInputFile","event","__awaiter","element","target","files","_b","sent","handleChangeExample","handleDropFile","stopPropagation","preventDefault","dataTransfer","class_1","prototype","componentDidLoad","defaultCertificate","setTimeout","certificateDecoded","clearCertificate","emit","setValue","exportAsPemFormatted","successParse","exportAsBase64","certificate","isPem","validator.isPem","isX509Pem","validator.isX509Pem","isPkcs10Pem","validator.isPkcs10Pem","isX509AttributePem","validator.isX509AttributePem","isX509CRLPem","validator.isX509CRLPem","decoded","decodeError","alert","X509Certificate","X509AttributeCertificate","CSR","CRL","console","log","render","h","Host","key","placeholder","class","ref","el","onDrop","Typography","variant","color","accept","onChange","_a","certificateExamples","length","map","example","title","Button","onClick","download"],"sources":["src/utils/read_file.ts","src/components/certificate-decoder/certificate-decoder.scss?tag=peculiar-certificate-decoder&encapsulation=shadow","src/components/certificate-decoder/certificate-decoder.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\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","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n}\n\n.textarea {\n min-height: 300px;\n width: 100%;\n border-radius: 4px;\n border: 1px solid var(--pv-color-gray-5);;\n padding: 14px;\n font-family: monospace;\n resize: vertical;\n}\n\n.viewer {\n margin-top: var(--pv-size-base-12);\n}\n\n.controls {\n margin-top: var(--pv-size-base-2);\n display: flex;\n flex-direction: column;\n gap: var(--pv-size-base-2);\n}\n\n.control_row {\n display: flex;\n align-items: center;\n gap: var(--pv-size-base);\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 Prop,\n Event,\n EventEmitter,\n} from '@stencil/core';\n\nimport { validator, readAsBinaryString } from '../../utils';\nimport {\n X509Certificate,\n X509AttributeCertificate,\n CSR,\n CRL,\n} from '../../crypto';\nimport { Button } from '../button';\nimport { Typography } from '../typography';\n\n@Component({\n tag: 'peculiar-certificate-decoder',\n styleUrl: 'certificate-decoder.scss',\n shadow: true,\n})\nexport class CertificateDecoder {\n private inputPaste?: HTMLTextAreaElement;\n\n /**\n * The example certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() certificateExamples?: {\n title: string;\n value: string;\n }[];\n\n /**\n * The default certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() defaultCertificate?: string;\n\n @State() certificateDecoded: X509Certificate | X509AttributeCertificate | CSR | CRL;\n\n /**\n * Emitted when the certificate has been successfully parsed.\n */\n @Event() successParse!: EventEmitter<string>;\n\n /**\n * Emitted when the certificate has been removed.\n */\n @Event() clearCertificate!: EventEmitter<void>;\n\n componentDidLoad() {\n if (this.defaultCertificate) {\n /**\n * Prevent Stencil warning about re-render\n */\n setTimeout(() => this.decode(this.defaultCertificate), 100);\n }\n }\n\n private handleClickDecode = () => {\n const { value } = this.inputPaste;\n\n if (value) {\n this.decode(value);\n }\n };\n\n private handleClickClear = () => {\n this.clearValue();\n };\n\n private handleChangeInputFile = async (event: any) => {\n const element = event.target;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n\n element.value = '';\n }\n };\n\n private handleChangeExample = (event: any) => {\n if (event.target.value) {\n this.decode(event.target.value);\n } else {\n this.clearValue();\n }\n };\n\n private handleDropFile = async (event: any) => {\n event.stopPropagation();\n event.preventDefault();\n\n const element = event.dataTransfer;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n }\n };\n\n clearValue() {\n this.inputPaste.value = '';\n this.certificateDecoded = null;\n this.clearCertificate.emit();\n }\n\n setValue(value: X509Certificate | X509AttributeCertificate | CSR | CRL) {\n this.certificateDecoded = value;\n this.inputPaste.value = value.exportAsPemFormatted();\n this.successParse.emit(value.exportAsBase64());\n }\n\n decode(certificate: string) {\n const isPem = validator.isPem(certificate);\n const isX509Pem = validator.isX509Pem(certificate);\n const isPkcs10Pem = validator.isPkcs10Pem(certificate);\n const isX509AttributePem = validator.isX509AttributePem(certificate);\n const isX509CRLPem = validator.isX509CRLPem(certificate);\n let decoded: X509Certificate | X509AttributeCertificate | CSR | CRL;\n let decodeError: Error;\n\n if (isPem && !(isX509Pem || isX509AttributePem || isPkcs10Pem || isX509CRLPem)) {\n this.clearValue();\n\n alert('Unsupported file type. Please try to use Certificate/AttributeCertificate/CertificateRequest/CRL.');\n\n return;\n }\n\n try {\n if (isX509Pem) {\n decoded = new X509Certificate(certificate);\n }\n\n if (isX509AttributePem) {\n decoded = new X509AttributeCertificate(certificate);\n }\n\n if (isPkcs10Pem) {\n decoded = new CSR(certificate);\n }\n\n if (isX509CRLPem) {\n decoded = new CRL(certificate);\n }\n } catch (error) {\n decodeError = error;\n }\n\n if (!decoded) {\n try {\n decoded = new X509Certificate(certificate);\n } catch (error) {\n decodeError = error;\n }\n }\n\n if (!decoded) {\n try {\n decoded = new X509AttributeCertificate(certificate);\n } catch (error) {\n decodeError = error;\n }\n }\n\n if (!decoded) {\n try {\n decoded = new CSR(certificate);\n } catch (error) {\n decodeError = error;\n }\n }\n\n if (!decoded) {\n try {\n decoded = new CRL(certificate);\n } catch (error) {\n decodeError = error;\n }\n }\n\n if (!decoded) {\n this.clearValue();\n\n console.log(decodeError);\n alert('Error decoding file. Please try to use Certificate/AttributeCertificate/CertificateRequest/CRL.');\n } else {\n this.setValue(decoded);\n }\n }\n\n render() {\n return (\n <Host>\n <textarea\n placeholder=\"Certificate DER or PEM\"\n class=\"textarea t-b2 c-black\"\n ref={(el) => { this.inputPaste = el; }}\n onDrop={this.handleDropFile}\n />\n <div class=\"controls\">\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Drag or load file:\n </Typography>\n <input\n type=\"file\"\n accept=\"application/pkix-cert,application/x-x509-ca-cert,application/x-x509-user-cert,application/pkcs10,application/pkix-crl,.csr,.req,.crl\"\n onChange={this.handleChangeInputFile}\n value=\"\"\n />\n </div>\n {this.certificateExamples?.length && (\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Load examples:\n </Typography>\n <select onChange={this.handleChangeExample}>\n <option value=\"\">None</option>\n {this.certificateExamples.map((example) => (\n <option value={example.value}>\n {example.title}\n </option>\n ))}\n </select>\n </div>\n )}\n <div class=\"control_row\">\n <Button\n onClick={this.handleClickDecode}\n >\n Decode\n </Button>\n <Button\n onClick={this.handleClickClear}\n >\n Clear\n </Button>\n </div>\n </div>\n {this.certificateDecoded instanceof X509Certificate && (\n <peculiar-certificate-viewer\n certificate={this.certificateDecoded}\n class=\"viewer\"\n download\n />\n )}\n {this.certificateDecoded instanceof X509AttributeCertificate && (\n <peculiar-attribute-certificate-viewer\n certificate={this.certificateDecoded}\n class=\"viewer\"\n download\n />\n )}\n {this.certificateDecoded instanceof CSR && (\n <peculiar-csr-viewer\n certificate={this.certificateDecoded}\n class=\"viewer\"\n download\n />\n )}\n {this.certificateDecoded instanceof CRL && (\n <peculiar-crl-viewer\n certificate={this.certificateDecoded}\n class=\"viewer\"\n download\n />\n )}\n </Host>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;SAiCgBA,EAAmBC,GACjC,OAAO,IAAIC,SAAQ,SAACC,EAASC,GAC3B,IAAMC,EAAS,IAAIC,WAEnBD,EAAOE,OAAS,WAAM,OAAAJ,EAAQ,CAC5BK,MAAOH,EAAOI,OACdC,SAAUT,EAAKU,KACfC,SAAUX,EAAKY,KACfC,WAAYb,EAAKc,MAJG,EAOtBV,EAAOW,QAAU,WAAM,OAAAZ,EAAOC,EAAOY,MAAd,EAEvBZ,EAAOL,mBAAmBC,E,GAE9B,CChDA,IAAMiB,EAAwB,knQAC9B,IAAAC,EAAeD,E,ICgCFE,EAAkBC,EAAA,0C,iIAqCrBC,KAAAC,kBAAoB,WAClB,IAAAf,EAAUgB,EAAKC,WAAUjB,MAEjC,GAAIA,EAAO,CACTgB,EAAKE,OAAOlB,E,GAIRc,KAAAK,iBAAmB,WACzBH,EAAKI,Y,EAGCN,KAAAO,sBAAwB,SAAOC,GAAU,OAAAC,UAAAP,OAAA,qB,oEACzCQ,EAAUF,EAAMG,O,IAElBD,EAAQE,MAAR,YACW,SAAMlC,EAAmBgC,EAAQE,MAAM,K,OAA9CjC,EAAOkC,EAAAC,OAEb,UAAWnC,EAAKO,QAAU,SAAU,CAClCc,KAAKI,OAAOzB,EAAKO,M,CAGnBwB,EAAQxB,MAAQ,G,mCAIZc,KAAAe,oBAAsB,SAACP,GAC7B,GAAIA,EAAMG,OAAOzB,MAAO,CACtBgB,EAAKE,OAAOI,EAAMG,OAAOzB,M,KACpB,CACLgB,EAAKI,Y,GAIDN,KAAAgB,eAAiB,SAAOR,GAAU,OAAAC,UAAAP,OAAA,qB,oEACxCM,EAAMS,kBACNT,EAAMU,iBAEAR,EAAUF,EAAMW,a,IAElBT,EAAQE,MAAR,YACW,SAAMlC,EAAmBgC,EAAQE,MAAM,K,OAA9CjC,EAAOkC,EAAAC,OAEb,UAAWnC,EAAKO,QAAU,SAAU,CAClCc,KAAKI,OAAOzB,EAAKO,M,2IArDvBkC,EAAAC,UAAAC,iBAAA,eAAApB,EAAAF,KACE,GAAIA,KAAKuB,mBAAoB,CAI3BC,YAAW,WAAM,OAAAtB,EAAKE,OAAOF,EAAKqB,mBAAjB,GAAsC,I,GAqD3DH,EAAAC,UAAAf,WAAA,WACEN,KAAKG,WAAWjB,MAAQ,GACxBc,KAAKyB,mBAAqB,KAC1BzB,KAAK0B,iBAAiBC,M,EAGxBP,EAAAC,UAAAO,SAAA,SAAS1C,GACPc,KAAKyB,mBAAqBvC,EAC1Bc,KAAKG,WAAWjB,MAAQA,EAAM2C,uBAC9B7B,KAAK8B,aAAaH,KAAKzC,EAAM6C,iB,EAG/BX,EAAAC,UAAAjB,OAAA,SAAO4B,GACL,IAAMC,EAAQC,EAAgBF,GAC9B,IAAMG,EAAYC,EAAoBJ,GACtC,IAAMK,EAAcC,EAAsBN,GAC1C,IAAMO,EAAqBC,EAA6BR,GACxD,IAAMS,EAAeC,EAAuBV,GAC5C,IAAIW,EACJ,IAAIC,EAEJ,GAAIX,KAAWE,GAAaI,GAAsBF,GAAeI,GAAe,CAC9EzC,KAAKM,aAELuC,MAAM,qGAEN,M,CAGF,IACE,GAAIV,EAAW,CACbQ,EAAU,IAAIG,EAAgBd,E,CAGhC,GAAIO,EAAoB,CACtBI,EAAU,IAAII,EAAyBf,E,CAGzC,GAAIK,EAAa,CACfM,EAAU,IAAIK,EAAIhB,E,CAGpB,GAAIS,EAAc,CAChBE,EAAU,IAAIM,EAAIjB,E,EAEpB,MAAOrC,GACPiD,EAAcjD,C,CAGhB,IAAKgD,EAAS,CACZ,IACEA,EAAU,IAAIG,EAAgBd,E,CAC9B,MAAOrC,GACPiD,EAAcjD,C,EAIlB,IAAKgD,EAAS,CACZ,IACEA,EAAU,IAAII,EAAyBf,E,CACvC,MAAOrC,GACPiD,EAAcjD,C,EAIlB,IAAKgD,EAAS,CACZ,IACEA,EAAU,IAAIK,EAAIhB,E,CAClB,MAAOrC,GACPiD,EAAcjD,C,EAIlB,IAAKgD,EAAS,CACZ,IACEA,EAAU,IAAIM,EAAIjB,E,CAClB,MAAOrC,GACPiD,EAAcjD,C,EAIlB,IAAKgD,EAAS,CACZ3C,KAAKM,aAEL4C,QAAQC,IAAIP,GACZC,MAAM,kG,KACD,CACL7C,KAAK4B,SAASe,E,GAIlBvB,EAAAC,UAAA+B,OAAA,eAAAlD,EAAAF,K,MACE,OACEqD,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,YAAAE,IAAA,2CACEC,YAAY,yBACZC,MAAM,wBACNC,IAAK,SAACC,GAASzD,EAAKC,WAAawD,CAAG,EACpCC,OAAQ5D,KAAKgB,iBAEfqC,EAAA,OAAAE,IAAA,2CAAKE,MAAM,YACTJ,EAAA,OAAAE,IAAA,2CAAKE,MAAM,eACTJ,EAACQ,EAAU,CAAAN,IAAA,2CACTO,QAAQ,KACRC,MAAM,oBAAkB,sBAI1BV,EAAA,SAAAE,IAAA,2CACE9D,KAAK,OACLuE,OAAO,uIACPC,SAAUjE,KAAKO,sBACfrB,MAAM,QAGTgF,EAAAlE,KAAKmE,uBAAmB,MAAAD,SAAA,SAAAA,EAAEE,SACzBf,EAAA,OAAKI,MAAM,eACTJ,EAACQ,EAAU,CACTC,QAAQ,KACRC,MAAM,oBAAkB,kBAI1BV,EAAA,UAAQY,SAAUjE,KAAKe,qBACrBsC,EAAA,UAAQnE,MAAM,IAAE,QACfc,KAAKmE,oBAAoBE,KAAI,SAACC,GAAO,OACpCjB,EAAA,UAAQnE,MAAOoF,EAAQpF,OACpBoF,EAAQC,MAFyB,MAQ5ClB,EAAA,OAAAE,IAAA,2CAAKE,MAAM,eACTJ,EAACmB,EAAM,CAAAjB,IAAA,2CACLkB,QAASzE,KAAKC,mBAAiB,UAIjCoD,EAACmB,EAAM,CAAAjB,IAAA,2CACLkB,QAASzE,KAAKK,kBAAgB,WAMnCL,KAAKyB,8BAA8BqB,GAClCO,EAAA,+BACErB,YAAahC,KAAKyB,mBAClBgC,MAAM,SACNiB,SAAQ,OAGX1E,KAAKyB,8BAA8BsB,GAClCM,EAAA,yCACErB,YAAahC,KAAKyB,mBAClBgC,MAAM,SACNiB,SAAQ,OAGX1E,KAAKyB,8BAA8BuB,GAClCK,EAAA,uBACErB,YAAahC,KAAKyB,mBAClBgC,MAAM,SACNiB,SAAQ,OAGX1E,KAAKyB,8BAA8BwB,GAClCI,EAAA,uBACErB,YAAahC,KAAKyB,mBAClBgC,MAAM,SACNiB,SAAQ,O,WAjQW,I"}
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
+ */
4
+ import{r as e,h as a,H as t}from"./p-3cb79cd9.js";import{B as s}from"./p-4bc5ddbe.js";import{a as c,A as i}from"./p-27ca6743.js";const r=".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)}";const d=r;const o=class{constructor(a){e(this,a);this.opened=false}render(){return a(t,{key:"d0442a0dcb70ffa79e5e9e9f9a4647a89b03dd8e","aria-expanded":String(this.opened)},a("div",{key:"6de993b7decfaa4ba3aec8147cbcda078fafa207",class:"content"},a("slot",{key:"11d130a9a9fa3529191944dcde50ccfb3561be19"})),a(s,{key:"e76ff63ce6b47e4d4a60abb15397b95445d6a016",class:"action",onClick:()=>{this.opened=!this.opened},startIcon:this.opened?a(c,{color:"secondary"}):a(i,{color:"secondary"})}))}};o.style=d;export{o as peculiar_text_hider};
5
+ //# sourceMappingURL=p-713563fb.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["textHiderCss","PeculiarTextHiderStyle0","TextHider","render","h","Host","key","String","this","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":";;;iIAAA,MAAMA,EAAe,qZACrB,MAAAC,EAAeD,E,MCqBFE,EAAS,M,qCACO,K,CAE3B,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2DACYC,OAAOC,KAAKC,SAE3BL,EAAA,OAAAE,IAAA,2CAAKI,MAAM,WACTN,EAAA,QAAAE,IAAA,8CAEFF,EAACO,EAAM,CAAAL,IAAA,2CACLI,MAAM,SACNE,QAAS,KAAQJ,KAAKC,QAAUD,KAAKC,MAAM,EAC3CI,UAAWL,KAAKC,OAASL,EAACU,EAAY,CAACC,MAAM,cAAiBX,EAACY,EAAe,CAACD,MAAM,gB"}
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
3
  */
4
- import{h as e}from"./p-0b356bb5.js";import{a1 as a,$ as n,a0 as t,a2 as c,a6 as o,v as s,a7 as r,a8 as i,a9 as f,aa as u,ab as l,ac as d,ad as b,ae as m,af as v,ag as x,ah as p,ai as g,aj as y,ak as h,al as C,am as S,an as N,ao as A,ap as I,aq as D,ar as j,as as O,at as T,au as G,av as k,aw as L,ax as P,ay as R,az as V,aA as B,aB as $,aC as E,aD as U,aE as K,aF as H,aG as M,aH as q,a3 as w,aI as X,aJ as Y,aK as Q,aL as z,aM as F,aN as W,aO as J,aP as Z,aQ as _,aR as ee,aS as ae,aT as ne}from"./p-4a6ceeda.js";import{C as te,B as ce}from"./p-59e5ac12.js";import{L as oe}from"./p-94a453d7.js";import{T as se,B as re}from"./p-7f9beaa8.js";import{D as ie}from"./p-17e3c47b.js";
4
+ import{h as e}from"./p-3cb79cd9.js";import{a1 as a,$ as n,a0 as t,a2 as c,a6 as o,u as s,a7 as r,a8 as i,a9 as f,aa as u,ab as l,ac as d,ad as b,ae as m,af as v,ag as x,ah as p,ai as g,aj as y,ak as h,al as C,am as S,an as N,ao as A,ap as I,aq as D,ar as j,as as O,at as T,au as G,av as k,aw as L,ax as P,ay as R,az as V,aA as B,aB as $,aC as E,aD as U,aE as K,aF as H,aG as M,aH as q,a3 as w,aI as X,aJ as Y,aK as Q,aL as z,aM as F,aN as W,aO as J,aP as Z,aQ as _,aR as ee,aS as ae,aT as ne}from"./p-1302bd67.js";import{C as te,B as ce}from"./p-1f766dd5.js";import{L as oe}from"./p-e6a6e602.js";import{T as se,B as re}from"./p-4bc5ddbe.js";import{D as ie}from"./p-ae91d778.js";
5
5
  /**
6
6
  * @license
7
7
  * Copyright (c) Peculiar Ventures, LLC.
@@ -309,7 +309,7 @@ import{h as e}from"./p-0b356bb5.js";import{a1 as a,$ as n,a0 as t,a2 as c,a6 as
309
309
  *
310
310
  * This source code is licensed under the MIT license found in the
311
311
  * LICENSE file in the root directory of this source tree.
312
- */const Sa=a=>{const{extension:n}=a;return e(De,{extension:n},n.value.map(((a,n)=>[e(pe,{name:`Entry #${n+1}`,value:""}),e(pe,{name:"SPC",value:a.spc}),e(pe,{name:"Range",value:a.range?`start=${a.range.start} count==${a.range.count}`:null}),e(pe,{name:"One",value:a.one})])))};
312
+ */const Sa=a=>{const{extension:n}=a;return e(De,{extension:n},n.value.length>0&&[e(pe,{name:"Entries",value:""}),n.value.map((a=>e(ve,null,e(pe,{name:"SPC",value:a.spc}),e(pe,{name:"Range",value:a.range?`start=${a.range.start} count==${a.range.count}`:null}),e(pe,{name:"One",value:a.one}))))])};
313
313
  /**
314
314
  * @license
315
315
  * Copyright (c) Peculiar Ventures, LLC.
@@ -323,7 +323,7 @@ import{h as e}from"./p-0b356bb5.js";import{a1 as a,$ as n,a0 as t,a2 as c,a6 as
323
323
  *
324
324
  * This source code is licensed under the MIT license found in the
325
325
  * LICENSE file in the root directory of this source tree.
326
- */const Aa=a=>{const{extension:n}=a;return e(De,{extension:n},n.value.map(((a,n)=>[e(pe,{name:`Policy #${n+1}`,value:""}),e(pe,{name:"Issuer Domain",value:fe(a.issuerDomainPolicy)}),e(pe,{name:"Subject Domain",value:fe(a.subjectDomainPolicy)})])))};
326
+ */const Aa=a=>{const{extension:n}=a;return e(De,{extension:n},n.value.length>0&&[e(pe,{name:"Policies",value:""}),n.value.map((a=>e(ve,null,e(pe,{name:"Issuer Domain",value:fe(a.issuerDomainPolicy)}),e(pe,{name:"Subject Domain",value:fe(a.subjectDomainPolicy)}))))])};
327
327
  /**
328
328
  * @license
329
329
  * Copyright (c) Peculiar Ventures, LLC.
@@ -365,5 +365,5 @@ import{h as e}from"./p-0b356bb5.js";import{a1 as a,$ as n,a0 as t,a2 as c,a6 as
365
365
  *
366
366
  * This source code is licensed under the MIT license found in the
367
367
  * LICENSE file in the root directory of this source tree.
368
- */const Ga=a=>{const{certificate:t}=a;return[e(xe,{value:n.getString("miscellaneous")}),e("tr",null,e("td",null,e(re,{onClick:()=>t.downloadAsPEM(),startIcon:e(ie,null)},n.getString("download.pem")))),e("tr",null,e("td",null,e(re,{onClick:()=>t.downloadAsDER(),startIcon:e(ie,null)},n.getString("download.der"))))]};export{ge as B,Ta as E,Pe as G,Ne as I,Ga as M,Ce as P,pe as R,Ae as S,ve as T,xe as a,Ie as b,le as c,de as d,be as e,Se as f,fe as g};
369
- //# sourceMappingURL=p-67156853.js.map
368
+ */const Ga=a=>{const{certificate:t}=a;return[e(xe,{value:n.getString("miscellaneous")}),e("tr",null,e("td",null,e(re,{onClick:()=>t.downloadAsPEM(),startIcon:e(ie,null)},n.getString("download.pem")))),e("tr",null,e("td",null,e(re,{onClick:()=>t.downloadAsDER(),startIcon:e(ie,null)},n.getString("download.der"))))]};export{ge as B,Ta as E,Pe as G,Ne as I,Ga as M,Ce as P,pe as R,Ae as S,ve as T,xe as a,Ie as b,ue as c,le as d,de as e,be as f,fe as g,Se as h};
369
+ //# sourceMappingURL=p-75166532.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getStringByOID","value","oid","OIDs","camelCaseToWords","result","replace","charAt","toUpperCase","slice","getLEILink","lei","getDNSNameLink","dnsName","getIPAddressLink","ipAddress","isLink","indexOf","TableRowTable","_","children","h","colSpan","RowTitle","props","class","Typography","variant","color","RowValue","name","monospace","collapse","href","extraValue","undefined","elementValue","hasValue","toString","Link","BasicInformation","serialNumber","version","validity","notBefore","notAfter","lastUpdate","nextUpdate","type","l10n","getString","dateShort","getPublicKeyModulus","publicKey","params","length","modulus","byteLength","getPublicKeyExponent","publicExponent","PublicKey","renderKeyDetails","key","algorithm","namedCurve","Convert","ToHex","Array","isArray","map","param","SubjectName","n","IssuerName","issuerDnLink","title","Signature","signature","renderSignatureDetails","data","Thumbprints","thumbprints","keys","Object","BasicExtension","extension","asn","extnID","critical","KeyUsageExtension","toJSON","join","BasicConstraintsExtension","cA","pathLenConstraint","ExtendedKeyUsageExtension","Boolean","usage","SubjectKeyIdentifierExtension","getSubjectKeyIdChildrenLink","getSubjectKeyIdSiblingsLink","keyId","buffer","childrenLink","siblingsLink","AuthorityKeyIdentifierExtension","getAuthKeyIdParentLink","getAuthKeyIdSiblingsLink","keyIdentifier","parentLink","names","otherName","rfc822Name","dNSName","x400Address","directoryName","ediPartyName","uniformResourceIdentifier","iPAddress","registeredID","GeneralNamePart","generalName","Name","relativeDistinguishedName","attributeTypeAndValue","OtherName","text","AsnParser","parse","DisplayText","typeId","error","UserNotice","explicitText","BufferSourceConverter","isBufferSource","ToString","EDIPartyName","partyName","CRLDistributionPointsExtension","point","_a","distributionPoint","fullName","gn","assign","_b","cRLIssuer","InfoAccessSyntaxExtension","description","accessMethod","accessLocation","SubjectAlternativeNameExtension","CertificatePoliciesExtension","policy","policyIdentifier","policyQualifiers","qualifierInfo","policyQualifierId","qualifier","push","logs","a577ac9ced7548dd8f025b67a241089df86e0f476ec203c2ecbedb185f282638","cdb5179b7fc1c046feea31136a3f8f002e6182faf8896fecc8b2f5b5ab604900","db74afeecb29ecb1feca3e716d2ce5b9aabb36f7847183c75d9d4f37b61fbf64","fe446108b1d01ab78a62ccfeab6ab2b2babff3abdad80a4d8b30df2d0008830c","c652a0ec48ceb3fcab170992c43a87413309e80065a26252401ba3362a17c565","eec095ee8d72640f92e3c3b91bc712a3696a097b4b6a1a1438e647b2cbedc5f9","b3737707e18450f86386d605a9dc11094a792db1670c0b87dcf0030e7936a59a","c1164ae0a772d2d4392dc80ac10770d4f0c49bde991a4840c1fa075164f63360","e2694bae26e8e94009e8861bb63b83d43ee7fe7488fba48f2893019dddf1dbfe","f095a459f200d18240102d2f93888ead4bfe1d47e399e1d034a6b0a8aa8eb273","c9cf890a21109c666cc17a3ed065c930d0e0135a9feba85af14210b8072421aa","fad4c97cc49ee2f8ac85c5ea5cea09d0220dbbf4e49c6b50662ff868f86b8c28","a4501269055a15545e6211ab37bc103f62ae5576a45e4b1714453e1b22106a25","b21e05cc8ba2cd8a204e8766f92bb98a2520676bdafa70e7b249532def8b905e","f65c942fd1773022145418083094568ee34d131933bfdf0c2f200bcc4ef164e3","e83ed0da3ef5063532e75728bc896bc903d3cbd1116beceb69e1777d6d06bd6e","c3bf03a7e1ca8841c607bae3ff4270fca5ec45b186ebbe4e2cf3fc778630f5f6","a4b90990b418581487bb13a2cc67700a3c359804f91bdfb8e377cd0ec80ddc10","ee4bbdb775ce60bae142691fabe19e66a30f7e5fb072d88300c47b897aa8fdcb","bbd9dfbc1f8a71b593942397aa927b473857950aab52e81a909664368e1ed185","a3c99845e80ab7ce00157b3742df0207dd272b2b602ecf98ee2c12db9c5ae7e7","a899d8780c9290aaf462f31880ccfbd52451e970d0fbf591ef75b0d99b645681","b0cc83e5a5f97d6baf7c09cc284904872ac7e88b132c6350b7c6fd26e16c6c77","b10cd559a6d67846811f7df9a51532739ac48d703bea0323da5d38755bc0ad4e","aae70b7f3cb8d566c86c2f16979c9f445f69ab0eb4535589b2f77a030104f3cd","e0127629e90496564e3d0147984498aa48f8adb16600eb7902a1ef9909906273","cf55e28923497c340d5206d05353aeb25834b52f1f8dc9526809f212efdd7ca6","db76fdadac65e7d09508886e2159bd8b90352f5fead3e3dc5e22eb350acc7b98","ddeb1d2b7a0d4fa6208b81ad8168707e2e8e9d01d55c888d3d11c4cdb6ecbecc","a7ce4a4e6207e0addee5fdaa4b1f86768767b5d002a55d47310e7e670a95eab2","bc78e1dfc5f63c684649334da10fa15f0979692009c081b4f3f6917f3ed9b8a5","b0b784bc81c0ddc47544e883f05985bb9077d134d8ab88b2b2e533980b8e508b","ac3b9aed7fa9674757159e6d7d575672f9d98100941e9bdeffeca1313b75782d","CertificateTransparencyExtension","items","signedCertificateTimestamp","logId","timestamp","hashAlgorithm","signatureAlgorithm","NameConstraintsExtension","excludedSubtrees","generalSubtree","base","permittedSubtrees","CertificateTemplateExtension","templateID","templateMajorVersion","templateMinorVersion","EnrollCertTypeChoiceExtension","CaVersionExtension","getVersion","certificateIndex","keyIndex","PdsLocations_1","QcEuPDS_1","QcType_1","QcCClegislation_1","Iso4217CurrencyCode","constructor","this","alphabetic","numeric","__decorate","AsnProp","AsnPropTypes","PrintableString","prototype","AsnType","AsnTypeTypes","Choice","MonetaryValue","currency","amount","exponent","Integer","QcEuLimitValue","Sequence","QcEuRetentionPeriod","PdsLocation","url","language","IA5String","PdsLocations","AsnArray","super","setPrototypeOf","itemType","QcEuPDS","QcType","ObjectIdentifier","QcCClegislation","id_etsi_qcs","id_etsi_qcs_qcRetentionPeriod","id_etsi_qcs_qcPDS","id_etsi_qcs_qcType","QCStatementsExtension","renderStatementInfo","statementId","statementInfo","id_qcs_pkixQCSyntax_v2","semanticsInformation","SemanticsInformation","semanticsIdentifier","qcTypes","retentionPeriod","pdsLocations","location","statement","NetscapeCommentExtension","NetscapeCertTypeExtension","LeiRoleExtension","LeiExtension","TimestampExtension","requiresAuth","ArchiveRevInfoExtension","CRLReasonExtension","getAttributeValue","attribute","values","SubjectDirectoryAttributesExtension","AsStringExtension","PrivateKeyUsagePeriodExtension","EntrustVersionInfoExtension","entrustVers","entrustInfoFlags","BiometricSyntaxExtension","typeOfBiometricData","biometricDataOid","predefinedBiometricType","biometricDataHash","sourceDataUri","LogotypeExtension","renderImage","image","img","imageDetails","mediaType","logotypeHash","hashValue","logotypeURI","hashAlg","renderAudio","audio","aud","audioDetails","renderLogo","info","direct","subjectLogo","issuerLogo","TNAuthListExtension","entry","spc","range","start","count","one","PolicyConstraintsExtension","requireExplicitPolicy","AsnIntegerArrayBufferConverter","toASN","valueBlock","inhibitPolicyMapping","PolicyMappingsExtension","issuerDomainPolicy","subjectDomainPolicy","CRLNumberExtension","IssuingDistributionPointExtension","onlySomeReasons","indirectCRL","onlyContainsUserCerts","onlyContainsAttributeCerts","onlyContainsCACerts","KeyDescriptionExtension","renderRowValue","keyName","keyValue","IntegerSet","is","RootOfTrust","parsed","AttestationApplicationId","packageInfos","signatureDigests","attestationPackageInfo","renderAuthorizationList","authorizationList","attestationVersion","attestationSecurityLevel","keymasterVersion","keymasterSecurityLevel","attestationChallenge","uniqueId","softwareEnforced","teeEnforced","CabforganizationIdentifierExtension","Extensions","extensions","KeyUsage","BasicConstraints","ExtendedKeyUsage","SubjectKeyIdentifier","AuthorityKeyIdentifier","CRLDistributionPoints","AuthorityInfoAccessSyntax","SubjectInfoAccessSyntax","SubjectAlternativeName","CertificatePolicies","CertificateTransparency","NameConstraints","CertificateTemplate","EnrollCertTypeChoice","CaVersion","QCStatements","NetscapeComment","NetscapeCertType","LeiRole","LeiChoice","Timestamp","ArchiveRevInfo","CRLReason","SubjectDirectoryAttributes","PrivateKeyUsagePeriod","EntrustVersionInfo","BiometricSyntax","LogotypeExtn","TNAuthorizationList","PolicyConstraints","PolicyMappings","CRLNumber","IssuingDistributionPoint","NonStandardKeyDescription","CabforganizationIdentifier","console","Miscellaneous","certificate","Button","onClick","downloadAsPEM","startIcon","DownloadIcon","downloadAsDER"],"sources":["src/utils/get_string_by_oid.ts","src/utils/camel_case_to_words.ts","src/utils/third_party_links.ts","src/utils/is_link.ts","src/components/certificate-details-parts/row.tsx","src/components/certificate-details-parts/basic_information.tsx","src/components/certificate-details-parts/public_key.tsx","src/components/certificate-details-parts/subject_name.tsx","src/components/certificate-details-parts/issuer_name.tsx","src/components/certificate-details-parts/signature.tsx","src/components/certificate-details-parts/thumbprints.tsx","src/components/certificate-details-parts/extensions/basic_extension.tsx","src/components/certificate-details-parts/extensions/key_usage_extension.tsx","src/components/certificate-details-parts/extensions/basic_constraints_extension.tsx","src/components/certificate-details-parts/extensions/extended_key_usage_extension.tsx","src/components/certificate-details-parts/extensions/subject_key_identifier_extension.tsx","src/components/certificate-details-parts/extensions/authority_key_identifier_extension.tsx","src/components/certificate-details-parts/extensions/general_name_part.tsx","src/components/certificate-details-parts/extensions/crl_distribution_points_extension.tsx","src/components/certificate-details-parts/extensions/info_access_syntax_extension.tsx","src/components/certificate-details-parts/extensions/subject_alternative_name_extension.tsx","src/components/certificate-details-parts/extensions/certificate_policies_extension.tsx","src/constants/logs.ts","src/components/certificate-details-parts/extensions/certificate_transparency_extension.tsx","src/components/certificate-details-parts/extensions/name_constraints_extension.tsx","src/components/certificate-details-parts/extensions/certificate_template_extension.tsx","src/components/certificate-details-parts/extensions/enroll_cert_type_extension.tsx","src/components/certificate-details-parts/extensions/ca_version_extension.tsx","../../node_modules/@peculiar/asn1-x509-qualified-etsi/build/es2015/index.js","src/components/certificate-details-parts/extensions/qc_statements_extension.tsx","src/components/certificate-details-parts/extensions/netscape_comment_extension.tsx","src/components/certificate-details-parts/extensions/netscape_cert_type_extension.tsx","src/components/certificate-details-parts/extensions/lei_role_extennsion.tsx","src/components/certificate-details-parts/extensions/lei_extension.tsx","src/components/certificate-details-parts/extensions/timestamp_extension.tsx","src/components/certificate-details-parts/extensions/archive_rev_info_extension.tsx","src/components/certificate-details-parts/extensions/crl_reason_extension.tsx","src/components/certificate-details-parts/extensions/attribute_value.ts","src/components/certificate-details-parts/extensions/subject_directory_attributes_extension.tsx","src/components/certificate-details-parts/extensions/as_string_extension.tsx","src/components/certificate-details-parts/extensions/private_key_usage_period_extension.tsx","src/components/certificate-details-parts/extensions/entrust_version_info_extension.tsx","src/components/certificate-details-parts/extensions/biometric_syntax_extension.tsx","src/components/certificate-details-parts/extensions/logotype_extension.tsx","src/components/certificate-details-parts/extensions/tn_auth_list_extension.tsx","src/components/certificate-details-parts/extensions/policy_constraints_extension.tsx","src/components/certificate-details-parts/extensions/policy_mappings_extension.tsx","src/components/certificate-details-parts/extensions/crl_number_extension.tsx","src/components/certificate-details-parts/extensions/issuing_distribution_point_extension.tsx","src/components/certificate-details-parts/extensions/key_description_extension.tsx","src/components/certificate-details-parts/extensions/cabforganization_identifier_extension.tsx","src/components/certificate-details-parts/extensions/index.tsx","src/components/certificate-details-parts/miscellaneous.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 { OIDs } from '../constants/oids';\n\nexport function getStringByOID(value: string) {\n const oid = OIDs[value];\n\n if (oid) {\n return `${oid} (${value})`;\n }\n\n return value;\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\nexport function camelCaseToWords(value: string) {\n const result = value.replace(/([A-Z])/g, ' $1');\n\n return result.charAt(0).toUpperCase() + result.slice(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\nexport const getLEILink = (lei: string) => `https://search.gleif.org/#/record/${lei}`;\n\nexport const getDNSNameLink = (dnsName: string) => `https://search.censys.io/search?resource=hosts&q=dns.names%3A${dnsName}`;\n\nexport const getIPAddressLink = (ipAddress: string) => `https://search.censys.io/search?resource=hosts&q=ip%3A${ipAddress}`;\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\nexport default function isLink(value: string): boolean {\n return value.indexOf('http') === 0;\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 { h, FunctionalComponent } from '@stencil/core';\nimport isLink from '../../utils/is_link';\nimport { Typography } from '../typography';\nimport { Link } from '../link';\n\nexport const TableRowTable: FunctionalComponent = (_, children) => (\n <tr>\n <td colSpan={2}>\n <table>\n {children}\n </table>\n </td>\n </tr>\n);\n\ninterface IRowTitleProps {\n value: string | string[];\n}\n\nexport const RowTitle: FunctionalComponent<IRowTitleProps> = (props) => {\n const { value } = props;\n\n if (!value) {\n return null;\n }\n\n return [\n <tr class=\"title\">\n <td colSpan={2}>\n <Typography\n variant=\"s1\"\n color=\"black\"\n >\n {value}\n </Typography>\n </td>\n </tr>,\n <tr>\n <td colSpan={2} class=\"divider\">\n <span />\n </td>\n </tr>,\n ];\n};\n\ninterface IRowValueProps {\n name: string | string[];\n value: string | number | string[];\n monospace?: boolean;\n collapse?: boolean;\n href?: string;\n extraValue?: Element[];\n}\n\nexport const RowValue: FunctionalComponent<IRowValueProps> = (props) => {\n const {\n name,\n value,\n monospace,\n collapse,\n href,\n extraValue,\n } = props;\n\n if (!name) {\n return null;\n }\n\n if (value === undefined || value === null) {\n return null;\n }\n\n let elementValue;\n\n if (collapse) {\n elementValue = (\n <peculiar-text-hider>\n {value}\n </peculiar-text-hider>\n );\n } else {\n elementValue = value;\n }\n\n const hasValue = !!value.toString();\n\n return (\n <tr>\n <td\n colSpan={hasValue ? 1 : 2}\n >\n <Typography\n variant=\"b2\"\n color=\"gray-9\"\n >\n {name}\n </Typography>\n </td>\n {hasValue && (\n <td\n class={{\n monospace,\n }}\n >\n {(isLink(value.toString()) || href) ? (\n <Link\n variant=\"b2\"\n href={href || value.toString()}\n >\n {value}\n </Link>\n ) : (\n <Typography\n variant=\"b2\"\n color=\"black\"\n >\n {elementValue}\n {extraValue}\n </Typography>\n )}\n </td>\n )}\n </tr>\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 { h, FunctionalComponent } from '@stencil/core';\n\nimport { dateShort, l10n } from '../../utils';\n\nimport { RowTitle, RowValue } from './row';\n\ninterface IBasicInformationProps {\n serialNumber?: string;\n version?: number;\n validity?: string;\n notBefore?: Date;\n notAfter?: Date;\n lastUpdate?: Date;\n nextUpdate?: Date;\n type: string;\n}\n\nexport const BasicInformation: FunctionalComponent<IBasicInformationProps> = (props) => {\n const {\n serialNumber,\n version,\n validity,\n notBefore,\n notAfter,\n lastUpdate,\n nextUpdate,\n type,\n } = props;\n\n return [\n <RowTitle\n value={l10n.getString('basicInformation')}\n />,\n <RowValue\n name={l10n.getString('type')}\n value={type}\n />,\n <RowValue\n name={l10n.getString('serialNumber')}\n value={serialNumber}\n monospace\n />,\n <RowValue\n name={l10n.getString('version')}\n value={version}\n />,\n <RowValue\n name={l10n.getString('validity')}\n value={validity}\n />,\n <RowValue\n name={l10n.getString('issued')}\n value={notBefore ? dateShort(notBefore) : undefined}\n />,\n <RowValue\n name={l10n.getString('expired')}\n value={notAfter ? dateShort(notAfter) : undefined}\n />,\n <RowValue\n name={l10n.getString('lastUpdate')}\n value={lastUpdate ? dateShort(lastUpdate) : undefined}\n />,\n <RowValue\n name={l10n.getString('nextUpdate')}\n value={nextUpdate ? dateShort(nextUpdate) : undefined}\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 { h, FunctionalComponent } from '@stencil/core';\nimport { Convert } from 'pvtsutils';\n\nimport { IPublicKey } from '../../crypto';\nimport { l10n, getStringByOID } from '../../utils';\n\nimport { RowTitle, RowValue, TableRowTable } from './row';\n\nfunction getPublicKeyModulus(publicKey: IPublicKey) {\n if (publicKey.params && 'modulus' in publicKey.params) {\n let length = publicKey.params.modulus.byteLength;\n\n if (length % 2) {\n length -= 1;\n }\n\n return length * 8;\n }\n\n return null;\n}\n\nfunction getPublicKeyExponent(publicKey: IPublicKey) {\n if (publicKey.params && 'publicExponent' in publicKey.params) {\n return publicKey.params.publicExponent.byteLength === 3\n ? 65537\n : 3;\n }\n\n return null;\n}\n\ninterface IPublicKeyProps {\n publicKey: IPublicKey;\n}\n\nexport const PublicKey: FunctionalComponent<IPublicKeyProps> = (props) => {\n const { publicKey } = props;\n\n if (!publicKey) {\n return null;\n }\n\n function renderKeyDetails(key: IPublicKey) {\n return [\n <RowValue\n name={l10n.getString('algorithm')}\n value={getStringByOID(key.algorithm)}\n />,\n <RowValue\n name={l10n.getString('namedCurve')}\n value={getStringByOID((key.params && 'namedCurve' in key.params) ? key.params.namedCurve : undefined)}\n />,\n <RowValue\n name={l10n.getString('exponent')}\n value={getPublicKeyExponent(key)}\n />,\n <RowValue\n name={l10n.getString('modulus')}\n value={getPublicKeyModulus(key)}\n />,\n <RowValue\n name={l10n.getString('value')}\n value={Convert.ToHex(key.value)}\n monospace\n collapse\n />,\n ];\n }\n\n return [\n <RowTitle\n value={l10n.getString('publicKeyInfo')}\n />,\n renderKeyDetails(publicKey),\n (Array.isArray(publicKey.params) && publicKey.params.length && publicKey.params.map((param) => (\n <TableRowTable>\n {renderKeyDetails(param)}\n </TableRowTable>\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 { h, FunctionalComponent } from '@stencil/core';\n\nimport type { INameJSON } from '../../crypto/name';\nimport { l10n } from '../../utils';\n\nimport { RowTitle, RowValue } from './row';\n\ninterface ISubjectNameProps {\n name: INameJSON[];\n}\n\nexport const SubjectName: FunctionalComponent<ISubjectNameProps> = (props) => {\n const { name } = props;\n\n return [\n <RowTitle\n value={l10n.getString('subjectName')}\n />,\n name.map((n) => (\n <RowValue\n name={n.name || n.type}\n value={n.value}\n />\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 { h, FunctionalComponent } from '@stencil/core';\n\nimport type { INameJSON } from '../../crypto/name';\nimport { l10n } from '../../utils';\nimport { Link } from '../link';\nimport { RowTitle, RowValue } from './row';\n\ninterface ISubjectNameProps {\n name: INameJSON[];\n issuerDnLink?: string;\n}\n\nexport const IssuerName: FunctionalComponent<ISubjectNameProps> = (props) => {\n const { name, issuerDnLink } = props;\n const title = l10n.getString('issuerName');\n\n return [\n <RowTitle\n value={issuerDnLink ? (\n <Link\n href={issuerDnLink}\n >\n {title}\n </Link>\n ) : title}\n />,\n name.map((n) => (\n <RowValue\n name={n.name || n.type}\n value={n.value}\n />\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 { h, FunctionalComponent } from '@stencil/core';\nimport { Convert } from 'pvtsutils';\n\nimport { ISignature } from '../../crypto';\nimport { l10n, getStringByOID } from '../../utils';\n\nimport { RowTitle, RowValue, TableRowTable } from './row';\n\ninterface ISignatureProps {\n signature: ISignature;\n}\n\nexport const Signature: FunctionalComponent<ISignatureProps> = (props) => {\n const { signature } = props;\n\n if (!signature) {\n return null;\n }\n\n function renderSignatureDetails(data: ISignature) {\n return [\n <RowValue\n name={l10n.getString('algorithm')}\n value={getStringByOID(data.algorithm)}\n />,\n <RowValue\n name={l10n.getString('value')}\n value={Convert.ToHex(data.value)}\n monospace\n collapse\n />,\n ];\n }\n\n return [\n <RowTitle\n value={l10n.getString('signature')}\n />,\n renderSignatureDetails(signature),\n (signature.params && signature.params.length && signature.params.map((param) => (\n <TableRowTable>\n {renderSignatureDetails(param)}\n </TableRowTable>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { l10n } from '../../utils';\n\nimport { RowTitle, RowValue } from './row';\n\ninterface IThumbprintsProps {\n thumbprints: Record<string, string>;\n}\n\nexport const Thumbprints: FunctionalComponent<IThumbprintsProps> = (props) => {\n const { thumbprints } = props;\n\n if (!thumbprints) {\n return null;\n }\n\n const keys = Object.keys(thumbprints);\n\n if (!keys.length) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('fingerprints')}\n />,\n keys.map((name) => (\n <RowValue\n name={name}\n value={thumbprints[name]}\n monospace\n />\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 { h, FunctionalComponent } from '@stencil/core';\n\nimport { Extension, TExtensionValue } from '../../../crypto/extension';\nimport { l10n, getStringByOID } from '../../../utils';\nimport { RowValue } from '../row';\n\ninterface IBasicExtensionProps {\n extension: Extension<TExtensionValue>;\n}\n\nexport const BasicExtension: FunctionalComponent<IBasicExtensionProps> = (props, children) => {\n const { extension } = props;\n\n return ([\n <RowValue\n name=\"Name\"\n value={getStringByOID(extension.asn.extnID)}\n />,\n <RowValue\n name=\"Critical\"\n value={extension.asn.critical ? l10n.getString('yes') : l10n.getString('no')}\n />,\n children,\n <tr>\n <td colSpan={2} class=\"divider\">\n <span />\n </td>\n </tr>,\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 { h, FunctionalComponent } from '@stencil/core';\nimport { KeyUsage } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IKeyUsageExtensionProps {\n extension: Extension<KeyUsage>;\n}\n\nexport const KeyUsageExtension: FunctionalComponent<IKeyUsageExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Usage\"\n value={extension.value.toJSON().join(', ')}\n />\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { BasicConstraints } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\nimport { l10n } from '../../../utils';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IBasicConstraintsExtensionProps {\n extension: Extension<BasicConstraints>;\n}\n\nexport const BasicConstraintsExtension:\nFunctionalComponent<IBasicConstraintsExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Certificate Authority\"\n value={extension.value.cA ? l10n.getString('yes') : l10n.getString('no')}\n />\n <RowValue\n name=\"Path Length Constraint\"\n value={extension.value.pathLenConstraint}\n />\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { ExtendedKeyUsage } from '@peculiar/asn1-x509';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IExtendedKeyUsageExtensionProps {\n extension: Extension<ExtendedKeyUsage>;\n}\n\nexport const ExtendedKeyUsageExtension:\nFunctionalComponent<IExtendedKeyUsageExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Purposes\"\n value=\"\"\n />,\n extension.value.map((usage) => (\n <TableRowTable>\n <RowValue\n name=\"Purpose\"\n value={getStringByOID(usage)}\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { SubjectKeyIdentifier } from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\nimport { Extension } from '../../../crypto/extension';\nimport { Link } from '../../link';\nimport { RowValue } from '../row';\nimport { BasicExtension } from './basic_extension';\n\ninterface ISubjectKeyIdentifierExtensionProps extends ISubjectKeyIdentifierOptions {\n extension: Extension<SubjectKeyIdentifier>;\n}\n\nexport const SubjectKeyIdentifierExtension:\nFunctionalComponent<ISubjectKeyIdentifierExtensionProps> = (props) => {\n const { extension, getSubjectKeyIdChildrenLink, getSubjectKeyIdSiblingsLink } = props;\n\n const keyId = Convert.ToHex(extension.value.buffer);\n const childrenLink = getSubjectKeyIdChildrenLink(keyId);\n const siblingsLink = getSubjectKeyIdSiblingsLink(keyId);\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Key ID\"\n value={keyId}\n monospace\n extraValue={[\n childrenLink && (\n <span>\n &nbsp;[\n <Link href={childrenLink}>\n children\n </Link>\n ]\n </span>\n ),\n siblingsLink && (\n <span>\n &nbsp;[\n <Link href={siblingsLink}>\n siblings\n </Link>\n ]\n </span>\n ),\n ]}\n />\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { AuthorityKeyIdentifier } from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\nimport { Extension } from '../../../crypto/extension';\nimport { Link } from '../../link';\nimport { RowValue } from '../row';\nimport { BasicExtension } from './basic_extension';\n\ninterface IAuthorityKeyIdentifierExtensionProps extends IAuthorityKeyIdentifierOptions {\n extension: Extension<AuthorityKeyIdentifier>;\n}\n\nexport const AuthorityKeyIdentifierExtension:\nFunctionalComponent<IAuthorityKeyIdentifierExtensionProps> = (props) => {\n const { extension, getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink } = props;\n\n const keyId = Convert.ToHex(extension.value.keyIdentifier.buffer);\n const parentLink = getAuthKeyIdParentLink(keyId);\n const siblingsLink = getAuthKeyIdSiblingsLink(keyId);\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Key ID\"\n value={keyId}\n monospace\n extraValue={[\n parentLink && (\n <span>\n &nbsp;[\n <Link href={parentLink}>\n parents\n </Link>\n ]\n </span>\n ),\n siblingsLink && (\n <span>\n &nbsp;[\n <Link href={siblingsLink}>\n siblings\n </Link>\n ]\n </span>\n ),\n ]}\n />\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport {\n GeneralName,\n Name,\n OtherName,\n DisplayText,\n EDIPartyName,\n UserNotice,\n} from '@peculiar/asn1-x509';\nimport { Convert, BufferSourceConverter } from 'pvtsutils';\nimport { AsnParser } from '@peculiar/asn1-schema';\n\nimport { OIDs } from '../../../constants/oids';\nimport { RowValue, TableRowTable } from '../row';\n\nconst names: Record<keyof GeneralName, string> = {\n otherName: 'Other Name',\n rfc822Name: 'RFC 822 Name',\n dNSName: 'DNS Name',\n x400Address: 'X400 Address',\n directoryName: 'Directory Name',\n ediPartyName: 'Edi Party Name ',\n uniformResourceIdentifier: 'URI',\n iPAddress: 'IP Address',\n registeredID: 'Registered ID',\n};\n\ninterface IGeneralNamePartProps extends IGeneralNameOptions {\n generalName: GeneralName;\n}\n\nexport const GeneralNamePart: FunctionalComponent<IGeneralNamePartProps> = (props) => {\n const { generalName, getDNSNameLink, getIPAddressLink } = props;\n\n if (!generalName) {\n return null;\n }\n\n return Object.keys(generalName).map((name: keyof GeneralName) => {\n const value = generalName[name];\n\n if (value instanceof Name) {\n return [\n <RowValue\n name={names[name] || name}\n value=\"\"\n />,\n <TableRowTable>\n {value.map((relativeDistinguishedName) => (\n relativeDistinguishedName.map((attributeTypeAndValue) => (\n <RowValue\n name={OIDs[attributeTypeAndValue.type] || attributeTypeAndValue.type}\n value={attributeTypeAndValue.value.toString()}\n />\n ))\n ))}\n </TableRowTable>,\n ];\n }\n\n if (value instanceof OtherName) {\n try {\n const text = AsnParser.parse(value.value, DisplayText);\n\n return (\n <RowValue\n name={OIDs[value.typeId] || value.typeId}\n value={text.toString()}\n />\n );\n } catch (error) {\n //\n }\n\n try {\n const text = AsnParser.parse(value.value, UserNotice);\n\n if (text.explicitText) {\n return (\n <RowValue\n name={OIDs[value.typeId] || value.typeId}\n value={text.explicitText.toString()}\n />\n );\n }\n } catch (error) {\n //\n }\n\n return (\n <RowValue\n name={OIDs[value.typeId] || value.typeId}\n value={Convert.ToHex(value.value)}\n monospace\n />\n );\n }\n\n if (BufferSourceConverter.isBufferSource(value)) {\n return (\n <RowValue\n name={names[name] || name}\n value={Convert.ToString(value)}\n />\n );\n }\n\n if (value instanceof EDIPartyName) {\n return (\n <RowValue\n name={names[name] || name}\n value={value.partyName.toString()}\n />\n );\n }\n\n if (name === 'dNSName') {\n return (\n <RowValue\n name={names[name] || name}\n value={value}\n href={getDNSNameLink(value)}\n />\n );\n }\n\n if (name === 'iPAddress') {\n return (\n <RowValue\n name={names[name] || name}\n value={value}\n href={getIPAddressLink(value)}\n />\n );\n }\n\n return (\n <RowValue\n name={names[name] || name}\n value={value}\n />\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 { h, FunctionalComponent } from '@stencil/core';\nimport { CRLDistributionPoints } from '@peculiar/asn1-x509';\n\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\nimport { GeneralNamePart } from './general_name_part';\n\ninterface ICRLDistributionPointsExtensionProps extends IGeneralNameOptions {\n extension: Extension<CRLDistributionPoints>;\n}\n\nexport const CRLDistributionPointsExtension:\nFunctionalComponent<ICRLDistributionPointsExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.map((point) => ([\n point.distributionPoint?.fullName.map((gn) => (\n <GeneralNamePart\n generalName={gn}\n {...props}\n />\n )),\n point.cRLIssuer?.map((gn) => (\n <GeneralNamePart\n generalName={gn}\n {...props}\n />\n )),\n ]))}\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { AuthorityInfoAccessSyntax, SubjectInfoAccessSyntax } from '@peculiar/asn1-x509';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\nimport { GeneralNamePart } from './general_name_part';\n\ninterface IInfoAccessSyntaxExtensionProps extends IGeneralNameOptions {\n extension: Extension<AuthorityInfoAccessSyntax | SubjectInfoAccessSyntax>;\n}\n\nexport const InfoAccessSyntaxExtension:\nFunctionalComponent<IInfoAccessSyntaxExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Descriptions\"\n value=\"\"\n />,\n extension.value.map((description) => (\n <TableRowTable>\n <RowValue\n name=\"Method\"\n value={getStringByOID(description.accessMethod)}\n />\n <GeneralNamePart\n generalName={description.accessLocation}\n {...props}\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { SubjectAlternativeName } from '@peculiar/asn1-x509';\n\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\nimport { GeneralNamePart } from './general_name_part';\n\ninterface ISubjectAlternativeNameExtensionProps extends IGeneralNameOptions {\n extension: Extension<SubjectAlternativeName>;\n}\n\nexport const SubjectAlternativeNameExtension:\nFunctionalComponent<ISubjectAlternativeNameExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.map((gn) => (\n <GeneralNamePart\n generalName={gn}\n {...props}\n />\n ))}\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { CertificatePolicies, UserNotice, DisplayText } from '@peculiar/asn1-x509';\nimport { AsnParser } from '@peculiar/asn1-schema';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ICertificatePoliciesExtensionProps {\n extension: Extension<CertificatePolicies>;\n}\n\nexport const CertificatePoliciesExtension:\nFunctionalComponent<ICertificatePoliciesExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Policies\"\n value=\"\"\n />,\n extension.value.map((policy) => (\n <TableRowTable>\n <RowValue\n name=\"Policy ID\"\n value={getStringByOID(policy.policyIdentifier)}\n />\n {policy.policyQualifiers && Boolean(policy.policyQualifiers.length) && ([\n <RowValue\n name=\"Qualifiers\"\n value=\"\"\n />,\n policy.policyQualifiers.map((qualifierInfo) => {\n const data = [\n <RowValue\n name=\"Qualifier ID\"\n value={getStringByOID(qualifierInfo.policyQualifierId)}\n />,\n ];\n\n if (qualifierInfo.policyQualifierId === '1.3.6.1.5.5.7.2.1') {\n const value = AsnParser.parse(qualifierInfo.qualifier, DisplayText);\n\n data.push(\n <RowValue\n name=\"Value\"\n value={value.toString()}\n />,\n );\n }\n\n if (qualifierInfo.policyQualifierId === '1.3.6.1.5.5.7.2.2') {\n const value = AsnParser.parse(qualifierInfo.qualifier, UserNotice);\n\n if (value.explicitText) {\n data.push(\n <RowValue\n name=\"Value\"\n value={value.explicitText.toString()}\n />,\n );\n }\n }\n\n return (\n <TableRowTable>\n {data}\n </TableRowTable>\n );\n }),\n ])}\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\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\nexport default {\n '9606c02c690033aa1d145f59c6e2648d0549f0df96aab8db915a70d8ecf390a5': 'Akamai CT',\n '39376f545f7b4607f59742d768cd5d2437bf3473b6534a4834bcf72e681c83c9': 'Alpha CT',\n a577ac9ced7548dd8f025b67a241089df86e0f476ec203c2ecbedb185f282638: 'CNNIC CT',\n cdb5179b7fc1c046feea31136a3f8f002e6182faf8896fecc8b2f5b5ab604900: 'Certly.IO',\n '1fbc36e002ede97f40199e86b3573b8a4217d80187746ad0da03a06054d20df4': 'Cloudflare “Nimbus2017”',\n db74afeecb29ecb1feca3e716d2ce5b9aabb36f7847183c75d9d4f37b61fbf64: 'Cloudflare “Nimbus2018”',\n '747eda8331ad331091219cce254f4270c2bffd5e422008c6373579e6107bcc56': 'Cloudflare “Nimbus2019”',\n '5ea773f9df56c0e7b536487dd049e0327a919a0c84a112128418759681714558': 'Cloudflare “Nimbus2020”',\n '4494652eb0eeceafc44007d8a8fe28c0dae682bed8cb31b53fd33396b5b681a8': 'Cloudflare “Nimbus2021”',\n '41c8cab1df22464a10c6a13a0942875e4e318b1b03ebeb4bc768f090629606f6': 'Cloudflare “Nimbus2022”',\n '7a328c54d8b72db620ea38e0521ee98416703213854d3bd22bc13a57a352eb52': 'Cloudflare “Nimbus2023”',\n '6ff141b5647e4222f7ef052cefae7c21fd608e27d2af5a6e9f4b8a37d6633ee5': 'DigiCert Nessie2018',\n fe446108b1d01ab78a62ccfeab6ab2b2babff3abdad80a4d8b30df2d0008830c: 'DigiCert Nessie2019',\n c652a0ec48ceb3fcab170992c43a87413309e80065a26252401ba3362a17c565: 'DigiCert Nessie2020',\n eec095ee8d72640f92e3c3b91bc712a3696a097b4b6a1a1438e647b2cbedc5f9: 'DigiCert Nessie2021',\n '51a3b0f5fd01799c566db837788f0ca47acc1b27cbf79e88429a0dfed48b05e5': 'DigiCert Nessie2022',\n b3737707e18450f86386d605a9dc11094a792db1670c0b87dcf0030e7936a59a: 'DigiCert Nessie2023',\n '5614069a2fd7c2ecd3f5e1bd44b23ec74676b9bc99115cc0ef949855d689d0dd': 'DigiCert Server',\n '8775bfe7597cf88c43995fbdf36eff568d475636ff4ab560c1b4eaff5ea0830f': 'DigiCert Server 2',\n c1164ae0a772d2d4392dc80ac10770d4f0c49bde991a4840c1fa075164f63360: 'DigiCert Yeti2018',\n e2694bae26e8e94009e8861bb63b83d43ee7fe7488fba48f2893019dddf1dbfe: 'DigiCert Yeti2019',\n f095a459f200d18240102d2f93888ead4bfe1d47e399e1d034a6b0a8aa8eb273: 'DigiCert Yeti2020',\n '5cdc4392fee6ab4544b15e9ad456e61037fbd5fa47dca17394b25ee6f6c70eca': 'DigiCert Yeti2021',\n '2245450759552456963fa12ff1f76d86e0232663adc04b7f5dc6835c6ee20f02': 'DigiCert Yeti2022',\n '35cf191bbfb16c57bf0fad4c6d42cbbbb627202651ea3fe12aefa803c33bd64c': 'DigiCert Yeti2023',\n '717ea7420975be84a2723553f1777c26dd51af4e102144094d9019b462fb6668': 'GDCA 1',\n '14308d90ccd030135005c01ca526d81e84e87624e39b6248e08f724aea3bb42a': 'GDCA 2',\n c9cf890a21109c666cc17a3ed065c930d0e0135a9feba85af14210b8072421aa: 'GDCA CT #1',\n '924a30f909336ff435d6993a10ac75a2c641728e7fc2d659ae6188ffad40ce01': 'GDCA CT #2',\n fad4c97cc49ee2f8ac85c5ea5cea09d0220dbbf4e49c6b50662ff868f86b8c28: 'Google “Argon2017”',\n a4501269055a15545e6211ab37bc103f62ae5576a45e4b1714453e1b22106a25: 'Google “Argon2018”',\n '63f2dbcde83bcc2ccf0b728427576b33a48d61778fbd75a638b1c768544bd88d': 'Google “Argon2019”',\n b21e05cc8ba2cd8a204e8766f92bb98a2520676bdafa70e7b249532def8b905e: 'Google “Argon2020”',\n f65c942fd1773022145418083094568ee34d131933bfdf0c2f200bcc4ef164e3: 'Google “Argon2021”',\n '2979bef09e393921f056739f63a577e5be577d9c600af8f94d5d265c255dc784': 'Google “Argon2022”',\n e83ed0da3ef5063532e75728bc896bc903d3cbd1116beceb69e1777d6d06bd6e: 'Google “Argon2023”',\n '68f698f81f6482be3a8ceeb9281d4cfc71515d6793d444d10a67acbb4f4ffbc4': 'Google “Aviator”',\n c3bf03a7e1ca8841c607bae3ff4270fca5ec45b186ebbe4e2cf3fc778630f5f6: 'Google “Crucible”',\n '1d024b8eb1498b344dfd87ea3efc0996f7506f235d1d497061a4773c439c25fb': 'Google “Daedalus”',\n '293c519654c83965baaa50fc5807d4b76fbf587a2972dca4c30cf4e54547f478': 'Google “Icarus”',\n a4b90990b418581487bb13a2cc67700a3c359804f91bdfb8e377cd0ec80ddc10: 'Google “Pilot”',\n ee4bbdb775ce60bae142691fabe19e66a30f7e5fb072d88300c47b897aa8fdcb: 'Google “Rocketeer”',\n bbd9dfbc1f8a71b593942397aa927b473857950aab52e81a909664368e1ed185: 'Google “Skydiver”',\n '52eb4b225ec896974850675f23e43bc1d021e3214ce52ecd5fa87c203cdfca03': 'Google “Solera2018”',\n '0b760e9a8b9a682f88985b15e947501a56446bba8830785c3842994386450c00': 'Google “Solera2019”',\n '1fc72ce5a1b799f400c359bff96ca3913548e8644220610952e9ba1774f7bac7': 'Google “Solera2020”',\n a3c99845e80ab7ce00157b3742df0207dd272b2b602ecf98ee2c12db9c5ae7e7: 'Google “Solera2021”',\n '697aafca1a6b536fae21205046debad7e0eaea13d2432e6e9d8fb379f2b9aaf3': 'Google “Solera2022”',\n a899d8780c9290aaf462f31880ccfbd52451e970d0fbf591ef75b0d99b645681: 'Google “Submariner”',\n b0cc83e5a5f97d6baf7c09cc284904872ac7e88b132c6350b7c6fd26e16c6c77: 'Google “Testtube”',\n b10cd559a6d67846811f7df9a51532739ac48d703bea0323da5d38755bc0ad4e: 'Google “Xenon2018”',\n '084114980071532c16190460bcfc47fdc2653afa292c72b37ff863ae29ccc9f0': 'Google “Xenon2019”',\n '07b75c1be57d68fff1b0c61d2315c7bae6577c5794b76aeebc613a1a69d3a21c': 'Google “Xenon2020”',\n '7d3ef2f88fff88556824c2c0ca9e5289792bc50e78097f2e6a9768997e22f0d7': 'Google “Xenon2021”',\n '46a555eb75fa912030b5a28969f4f37d112c4174befd49b885abf2fc70fe6d47': 'Google “Xenon2022”',\n '7461b4a09cfb3d41d75159575b2e7649a445a8d27709b0cc564a6482b7eb41a3': 'Izenpe',\n '8941449c70742e06b9fc9ce7b116ba0024aa36d59af44f0204404f00f7ea8566': 'Izenpe “Argi”',\n '296afa2d568bca0d2ea844956ae9721fc35fa355ecda99693aafd458a71aefdd': 'Let“s Encrypt ”Clicky”',\n '537b69a3564335a9c04904e39593b2c298eb8d7a6e83023635c627248cd6b440': 'Nordu “flimsy”',\n aae70b7f3cb8d566c86c2f16979c9f445f69ab0eb4535589b2f77a030104f3cd: 'Nordu “plausible”',\n e0127629e90496564e3d0147984498aa48f8adb16600eb7902a1ef9909906273: 'PuChuangSiDa CT',\n cf55e28923497c340d5206d05353aeb25834b52f1f8dc9526809f212efdd7ca6: 'SHECA CT 1',\n '32dc59c2d4c41968d56e14bc61ac8f0e45db39faf3c155aa4252f5001fa0c623': 'SHECA CT 2',\n db76fdadac65e7d09508886e2159bd8b90352f5fead3e3dc5e22eb350acc7b98: 'Sectigo (Comodo) “Dodo” CT',\n '6f5376ac31f03119d89900a45115ff77151c11d902c10029068db2089a37d913': 'Sectigo (Comodo) “Mammoth” CT',\n '5581d4c2169036014aea0b9b573c53f0c0e43878702508172fa3aa1d0713d30c': 'Sectigo (Comodo) “Sabre” CT',\n '34bb6ad6c3df9c03eea8a499ff7891486c9d5e5cac92d01f7bfd1bce19db48ef': 'StartCom',\n ddeb1d2b7a0d4fa6208b81ad8168707e2e8e9d01d55c888d3d11c4cdb6ecbecc: 'Symantec',\n a7ce4a4e6207e0addee5fdaa4b1f86768767b5d002a55d47310e7e670a95eab2: 'Symantec Deneb',\n '15970488d7b997a05beb52512adee8d2e8b4a3165264121a9fabfbd5f85ad93f': 'Symantec “Sirius”',\n bc78e1dfc5f63c684649334da10fa15f0979692009c081b4f3f6917f3ed9b8a5: 'Symantec “Vega”',\n b0b784bc81c0ddc47544e883f05985bb9077d134d8ab88b2b2e533980b8e508b: 'Up In The Air “Behind the Sofa”',\n ac3b9aed7fa9674757159e6d7d575672f9d98100941e9bdeffeca1313b75782d: 'Venafi',\n '03019df3fd85a69a8ebd1facc6da9ba73e469774fe77f579fc5a08b8328c1d6b': 'Venafi Gen2 CT',\n '41b2dc2e89e63ce4af1ba7bb29bf68c6dee6f9f1cc047e30dffae3b3ba259263': 'WoSign',\n '63d0006026dde10bb0601f452446965ee2b6ea2cd4fbc95ac866a550af9075b7': 'WoSign 2',\n '9e4ff73dc3ce220b69217c899e468076abf8d78636d5ccfc85a31a75628ba88b': 'WoSign CT #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 { h, FunctionalComponent } from '@stencil/core';\nimport type { CertificateTransparency } from '@peculiar/asn1-cert-transparency';\n\nimport type { Extension } from '../../../crypto/extension';\nimport logs from '../../../constants/logs';\nimport { dateShort } from '../../../utils';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ICertificateTransparencyExtensionProps {\n extension: Extension<CertificateTransparency>;\n}\n\nexport const CertificateTransparencyExtension:\nFunctionalComponent<ICertificateTransparencyExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.items.length) && ([\n <RowValue\n name=\"Signed Certificate Timestamps\"\n value=\"\"\n />,\n extension.value.toJSON().map((signedCertificateTimestamp) => (\n <TableRowTable>\n <RowValue\n name=\"Version\"\n value={signedCertificateTimestamp.version + 1}\n />\n <RowValue\n name=\"Log Operator\"\n value={logs[signedCertificateTimestamp.logId] || signedCertificateTimestamp.logId}\n />\n <RowValue\n name=\"Log Key ID\"\n value={signedCertificateTimestamp.logId}\n monospace\n />\n <RowValue\n name=\"Timestamp\"\n value={dateShort(signedCertificateTimestamp.timestamp)}\n />\n <RowValue\n name=\"Signature Algorithm\"\n value={`${signedCertificateTimestamp.hashAlgorithm} ${signedCertificateTimestamp.signatureAlgorithm}`.toUpperCase()}\n />\n <RowValue\n name=\"Signature\"\n value={signedCertificateTimestamp.signature}\n monospace\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { NameConstraints } from '@peculiar/asn1-x509';\n\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\nimport { GeneralNamePart } from './general_name_part';\n\ninterface INameConstraintsExtensionProps extends IGeneralNameOptions {\n extension: Extension<NameConstraints>;\n}\n\nexport const NameConstraintsExtension:\nFunctionalComponent<INameConstraintsExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.excludedSubtrees?.map((generalSubtree) => (\n <GeneralNamePart\n generalName={generalSubtree.base}\n {...props}\n />\n ))}\n {extension.value.permittedSubtrees?.map((generalSubtree) => (\n <GeneralNamePart\n generalName={generalSubtree.base}\n {...props}\n />\n ))}\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { CertificateTemplate } from '@peculiar/asn1-x509-microsoft';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ICertificateTemplateExtensionProps {\n extension: Extension<CertificateTemplate>;\n}\n\nexport const CertificateTemplateExtension:\nFunctionalComponent<ICertificateTemplateExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Template ID\"\n value={extension.value.templateID}\n />\n <RowValue\n name=\"Template Major Version\"\n value={extension.value.templateMajorVersion}\n />\n <RowValue\n name=\"Template Minor Version\"\n value={extension.value.templateMinorVersion}\n />\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { EnrollCertTypeChoice } from '@peculiar/asn1-x509-microsoft';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IEnrollCertTypeChoiceExtensionProps {\n extension: Extension<EnrollCertTypeChoice>;\n}\n\nexport const EnrollCertTypeChoiceExtension:\nFunctionalComponent<IEnrollCertTypeChoiceExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Name\"\n value={extension.value.toString()}\n />\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { CaVersion } from '@peculiar/asn1-x509-microsoft';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ICaVersionExtensionProps {\n extension: Extension<CaVersion>;\n}\n\nexport const CaVersionExtension: FunctionalComponent<ICaVersionExtensionProps> = (props) => {\n const { extension } = props;\n const version = extension.value.getVersion();\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Certificate Index\"\n value={version.certificateIndex}\n />\n <RowValue\n name=\"Key Index\"\n value={version.keyIndex}\n />\n </BasicExtension>\n );\n};\n","var PdsLocations_1, QcEuPDS_1, QcType_1, QcCClegislation_1;\nimport { __decorate } from \"tslib\";\nimport { AsnArray, AsnProp, AsnPropTypes, AsnType, AsnTypeTypes } from \"@peculiar/asn1-schema\";\nlet Iso4217CurrencyCode = class Iso4217CurrencyCode {\n constructor(value) {\n if (typeof value === \"string\") {\n this.alphabetic = value;\n }\n else if (typeof value === \"number\") {\n this.numeric = value;\n }\n }\n};\n__decorate([\n AsnProp({ type: AsnPropTypes.PrintableString })\n], Iso4217CurrencyCode.prototype, \"alphabetic\", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.PrintableString })\n], Iso4217CurrencyCode.prototype, \"numeric\", void 0);\nIso4217CurrencyCode = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], Iso4217CurrencyCode);\nexport { Iso4217CurrencyCode };\nexport class MonetaryValue {\n constructor(params = {}) {\n this.currency = new Iso4217CurrencyCode();\n this.amount = 0;\n this.exponent = 0;\n Object.assign(this, params);\n }\n}\n__decorate([\n AsnProp({ type: Iso4217CurrencyCode })\n], MonetaryValue.prototype, \"currency\", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer })\n], MonetaryValue.prototype, \"amount\", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer })\n], MonetaryValue.prototype, \"exponent\", void 0);\nlet QcEuLimitValue = class QcEuLimitValue extends MonetaryValue {\n};\nQcEuLimitValue = __decorate([\n AsnType({ type: AsnTypeTypes.Sequence })\n], QcEuLimitValue);\nexport { QcEuLimitValue };\nlet QcEuRetentionPeriod = class QcEuRetentionPeriod {\n constructor(value = 0) {\n this.value = value;\n }\n};\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer })\n], QcEuRetentionPeriod.prototype, \"value\", void 0);\nQcEuRetentionPeriod = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], QcEuRetentionPeriod);\nexport { QcEuRetentionPeriod };\nlet PdsLocation = class PdsLocation {\n constructor(params = {}) {\n this.url = \"\";\n this.language = \"\";\n Object.assign(this, params);\n }\n};\n__decorate([\n AsnProp({ type: AsnPropTypes.IA5String })\n], PdsLocation.prototype, \"url\", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.PrintableString })\n], PdsLocation.prototype, \"language\", void 0);\nPdsLocation = __decorate([\n AsnType({ type: AsnTypeTypes.Sequence })\n], PdsLocation);\nexport { PdsLocation };\nlet PdsLocations = PdsLocations_1 = class PdsLocations extends AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, PdsLocations_1.prototype);\n }\n};\nPdsLocations = PdsLocations_1 = __decorate([\n AsnType({ type: AsnTypeTypes.Sequence, itemType: PdsLocation })\n], PdsLocations);\nexport { PdsLocations };\nlet QcEuPDS = QcEuPDS_1 = class QcEuPDS extends PdsLocations {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, QcEuPDS_1.prototype);\n }\n};\nQcEuPDS = QcEuPDS_1 = __decorate([\n AsnType({ type: AsnTypeTypes.Sequence, itemType: PdsLocation })\n], QcEuPDS);\nexport { QcEuPDS };\nlet QcType = QcType_1 = class QcType extends AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, QcType_1.prototype);\n }\n};\nQcType = QcType_1 = __decorate([\n AsnType({ type: AsnTypeTypes.Sequence, itemType: AsnPropTypes.ObjectIdentifier })\n], QcType);\nexport { QcType };\nlet QcCClegislation = QcCClegislation_1 = class QcCClegislation extends AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, QcCClegislation_1.prototype);\n }\n};\nQcCClegislation = QcCClegislation_1 = __decorate([\n AsnType({ type: AsnTypeTypes.Sequence, itemType: AsnPropTypes.PrintableString })\n], QcCClegislation);\nexport { QcCClegislation };\nexport const id_etsi_qcs = \"0.4.0.1862.1\";\nexport const id_etsi_qcs_qcCompliance = `${id_etsi_qcs}.1`;\nexport const id_etsi_qcs_qcLimitValue = `${id_etsi_qcs}.2`;\nexport const id_etsi_qcs_qcRetentionPeriod = `${id_etsi_qcs}.3`;\nexport const id_etsi_qcs_qcSSCD = `${id_etsi_qcs}.4`;\nexport const id_etsi_qcs_qcPDS = `${id_etsi_qcs}.5`;\nexport const id_etsi_qcs_qcType = `${id_etsi_qcs}.6`;\nexport const id_etsi_qcs_qcCClegislation = `${id_etsi_qcs}.7`;\nexport const id_etsi_qct_esign = `${id_etsi_qcs_qcType}.1`;\nexport const id_etsi_qct_eseal = `${id_etsi_qcs_qcType}.2`;\nexport const id_etsi_qct_web = `${id_etsi_qcs_qcType}.3`;\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 { h, FunctionalComponent } from '@stencil/core';\nimport {\n QCStatements,\n id_qcs_pkixQCSyntax_v2,\n SemanticsInformation,\n} from '@peculiar/asn1-x509-qualified';\nimport {\n id_etsi_qcs_qcType,\n QcType,\n id_etsi_qcs_qcPDS,\n PdsLocations,\n id_etsi_qcs_qcRetentionPeriod,\n QcEuRetentionPeriod,\n} from '@peculiar/asn1-x509-qualified-etsi';\nimport { AsnParser } from '@peculiar/asn1-schema';\nimport { Convert } from 'pvtsutils';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IQCStatementsExtensionProps {\n extension: Extension<QCStatements>;\n}\n\nexport const QCStatementsExtension: FunctionalComponent<IQCStatementsExtensionProps> = (props) => {\n const { extension } = props;\n\n function renderStatementInfo(statementId: string, statementInfo: ArrayBuffer) {\n if (!statementInfo.byteLength) {\n return null;\n }\n\n if (statementId === id_qcs_pkixQCSyntax_v2) {\n const semanticsInformation = AsnParser.parse(statementInfo, SemanticsInformation);\n\n return (\n <RowValue\n name=\"Semantics Identifier\"\n value={getStringByOID(semanticsInformation.semanticsIdentifier)}\n />\n );\n }\n\n if (statementId === id_etsi_qcs_qcType) {\n const qcTypes = AsnParser.parse(statementInfo, QcType);\n\n return (\n <RowValue\n name=\"QC Types\"\n value={qcTypes.map((type) => getStringByOID(type)).join(', ')}\n />\n );\n }\n\n if (statementId === id_etsi_qcs_qcRetentionPeriod) {\n const retentionPeriod = AsnParser.parse(statementInfo, QcEuRetentionPeriod);\n\n return (\n <RowValue\n name=\"Retention Period\"\n value={`${retentionPeriod.value} years`}\n />\n );\n }\n\n if (statementId === id_etsi_qcs_qcPDS) {\n const pdsLocations = AsnParser.parse(statementInfo, PdsLocations);\n\n return ([\n <RowValue\n name=\"PDS Locations\"\n value=\"\"\n />,\n pdsLocations.map((location) => (\n <TableRowTable>\n <RowValue\n name=\"URL\"\n value={location.url}\n />\n <RowValue\n name=\"Language\"\n value={location.language}\n />\n </TableRowTable>\n )),\n ]);\n }\n\n return (\n <RowValue\n name=\"Info\"\n value={Convert.ToHex(statementInfo)}\n monospace\n />\n );\n }\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Statements\"\n value=\"\"\n />,\n extension.value.map((statement) => (\n <TableRowTable>\n <RowValue\n name=\"Statement ID\"\n value={getStringByOID(statement.statementId)}\n />\n {renderStatementInfo(statement.statementId, statement.statementInfo)}\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { NetscapeComment } from '@peculiar/asn1-x509-netscape';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface INetscapeCommentExtensionProps {\n extension: Extension<NetscapeComment>;\n}\n\nexport const NetscapeCommentExtension:\nFunctionalComponent<INetscapeCommentExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Comment\"\n value={extension.value.value}\n />\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { NetscapeCertType } from '@peculiar/asn1-x509-netscape';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface INetscapeCertTypeExtensionProps {\n extension: Extension<NetscapeCertType>;\n}\n\nexport const NetscapeCertTypeExtension:\nFunctionalComponent<INetscapeCertTypeExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Type\"\n value={extension.value.toJSON().join(', ')}\n />\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { LeiRole } from '@peculiar/asn1-lei';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ILeiRoleExtensionProps {\n extension: Extension<LeiRole>;\n}\n\nexport const LeiRoleExtension: FunctionalComponent<ILeiRoleExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Role\"\n value={extension.value.text}\n />\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { LeiChoice } from '@peculiar/asn1-lei';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ILeiExtensionProps extends ILeiOptions {\n extension: Extension<LeiChoice>;\n}\n\nexport const LeiExtension: FunctionalComponent<ILeiExtensionProps> = (props) => {\n const { extension, getLEILink } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Identifier\"\n value={extension.value.text}\n href={getLEILink(extension.value.text)}\n />\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { Timestamp } from '@peculiar/asn1-adobe-acrobat';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\nimport { l10n } from '../../../utils';\n\nimport { BasicExtension } from './basic_extension';\nimport { GeneralNamePart } from './general_name_part';\n\ninterface ITimestampExtensionProps extends IGeneralNameOptions {\n extension: Extension<Timestamp>;\n}\n\nexport const TimestampExtension: FunctionalComponent<ITimestampExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Version\"\n value={extension.value.version}\n />\n <GeneralNamePart\n generalName={extension.value.location}\n {...props}\n />\n <RowValue\n name=\"Requires Auth\"\n value={extension.value.requiresAuth ? l10n.getString('yes') : l10n.getString('no')}\n />\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { ArchiveRevInfo } from '@peculiar/asn1-adobe-acrobat';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IArchiveRevInfoExtensionProps {\n extension: Extension<ArchiveRevInfo>;\n}\n\nexport const ArchiveRevInfoExtension:\nFunctionalComponent<IArchiveRevInfoExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Version\"\n value={extension.value.version}\n />\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { CRLReason } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ICRLReasonExtensionProps {\n extension: Extension<CRLReason>;\n}\n\nexport const CRLReasonExtension: FunctionalComponent<ICRLReasonExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Reason\"\n value={extension.value.toJSON()}\n />\n </BasicExtension>\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 { Convert } from 'pvtsutils';\nimport { Attribute } from '@peculiar/asn1-x509';\n\nexport function getAttributeValue(attribute: Attribute) {\n return Convert.ToString(attribute.values[0]);\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 { h, FunctionalComponent } from '@stencil/core';\nimport { SubjectDirectoryAttributes } from '@peculiar/asn1-x509';\n\nimport { Extension } from '../../../crypto/extension';\nimport { getStringByOID } from '../../../utils';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\nimport { getAttributeValue } from './attribute_value';\n\ninterface ISubjectDirectoryAttributesExtensionProps {\n extension: Extension<SubjectDirectoryAttributes>;\n}\n\nexport const SubjectDirectoryAttributesExtension:\nFunctionalComponent<ISubjectDirectoryAttributesExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Attributes\"\n value=\"\"\n />,\n extension.value.map((attribute) => (\n <TableRowTable>\n <RowValue\n name=\"Type\"\n value={getStringByOID(attribute.type)}\n />\n <RowValue\n name=\"Value\"\n value={getAttributeValue(attribute)}\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IAsStringExtensionProps {\n extension: Extension<string>;\n}\n\nexport const AsStringExtension: FunctionalComponent<IAsStringExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Value\"\n value={extension.value}\n monospace\n />\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { PrivateKeyUsagePeriod } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\nimport { dateShort } from '../../../utils';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IPrivateKeyUsagePeriodExtensionProps {\n extension: Extension<PrivateKeyUsagePeriod>;\n}\n\nexport const PrivateKeyUsagePeriodExtension:\nFunctionalComponent<IPrivateKeyUsagePeriodExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Not Before\"\n value={dateShort(extension.value.notBefore)}\n />\n <RowValue\n name=\"Not After\"\n value={dateShort(extension.value.notAfter)}\n />\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { EntrustVersionInfo } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IEntrustVersionInfoExtensionProps {\n extension: Extension<EntrustVersionInfo>;\n}\n\nexport const EntrustVersionInfoExtension:\nFunctionalComponent<IEntrustVersionInfoExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Version\"\n value={extension.value.entrustVers}\n />\n <RowValue\n name=\"Info Flags\"\n value={extension.value.entrustInfoFlags.toJSON().join(', ')}\n />\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { BiometricSyntax } from '@peculiar/asn1-x509-qualified';\nimport { Convert } from 'pvtsutils';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IBiometricSyntaxExtensionProps {\n extension: Extension<BiometricSyntax>;\n}\n\nexport const BiometricSyntaxExtension:\nFunctionalComponent<IBiometricSyntaxExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Biometrics\"\n value=\"\"\n />,\n extension.value.map((data) => (\n <TableRowTable>\n <RowValue\n name=\"OID\"\n value={getStringByOID(data.typeOfBiometricData.biometricDataOid)}\n />\n <RowValue\n name=\"Type\"\n value={data.typeOfBiometricData.predefinedBiometricType}\n />\n <RowValue\n name=\"Algorithm\"\n value={getStringByOID(data.hashAlgorithm.algorithm)}\n />\n <RowValue\n name=\"Hash\"\n value={Convert.ToHex(data.biometricDataHash.buffer)}\n monospace\n />\n <RowValue\n name=\"Source Uri\"\n value={data.sourceDataUri}\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport {\n LogotypeExtn,\n LogotypeInfo,\n LogotypeImage,\n LogotypeAudio,\n} from '@peculiar/asn1-x509-logotype';\nimport { Convert } from 'pvtsutils';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ILogotypeExtensionProps {\n extension: Extension<LogotypeExtn>;\n}\n\nexport const LogotypeExtension: FunctionalComponent<ILogotypeExtensionProps> = (props) => {\n const { extension } = props;\n\n const renderImage = (image?: LogotypeImage[]) => {\n if (!image) {\n return null;\n }\n\n return image.map((img) => {\n const { imageDetails } = img;\n\n return [\n <RowValue\n name=\"Image Type\"\n value={imageDetails.mediaType}\n />,\n <RowValue\n name=\"Image Hash\"\n value={Convert.ToHex(imageDetails.logotypeHash[0].hashValue)}\n monospace\n />,\n <RowValue\n name=\"Image URL\"\n value={imageDetails.logotypeURI[0]}\n monospace\n collapse\n />,\n <RowValue\n name=\"Image Hash Algorithm\"\n value={getStringByOID(imageDetails.logotypeHash[0].hashAlg.algorithm)}\n />,\n ];\n });\n };\n\n const renderAudio = (audio?: LogotypeAudio[]) => {\n if (!audio) {\n return null;\n }\n\n return audio.map((aud) => {\n const { audioDetails } = aud;\n\n return [\n <RowValue\n name=\"Audio Type\"\n value={audioDetails.mediaType}\n />,\n <RowValue\n name=\"Audio Hash\"\n value={Convert.ToHex(audioDetails.logotypeHash[0].hashValue)}\n monospace\n />,\n <RowValue\n name=\"Audio URL\"\n value={audioDetails.logotypeURI[0]}\n monospace\n collapse\n />,\n <RowValue\n name=\"Audio Hash Algorithm\"\n value={getStringByOID(audioDetails.logotypeHash[0].hashAlg.algorithm)}\n />,\n ];\n });\n };\n\n const renderLogo = (title: string, info?: LogotypeInfo) => {\n if (!info || !info.direct) {\n return null;\n }\n\n const { image, audio } = info.direct;\n\n return [\n <RowValue\n name=\"Type\"\n value={title}\n />,\n renderImage(image),\n renderAudio(audio),\n <tr>\n <td />\n <td />\n </tr>,\n ];\n };\n\n return (\n <BasicExtension\n extension={extension}\n >\n {renderLogo('Subject', extension.value.subjectLogo)}\n {renderLogo('Issuer', extension.value.issuerLogo)}\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { TNAuthorizationList } from '@peculiar/asn1-rfc8226';\n\nimport { RowValue, TableRowTable } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ITNAuthListExtensionProps {\n extension: Extension<TNAuthorizationList>;\n}\n\nexport const TNAuthListExtension: FunctionalComponent<ITNAuthListExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.length > 0 && ([\n <RowValue\n name=\"Entries\"\n value=\"\"\n />,\n extension.value.map((entry) => (\n <TableRowTable>\n <RowValue\n name=\"SPC\"\n value={entry.spc}\n />\n <RowValue\n name=\"Range\"\n value={entry.range ? `start=${entry.range.start} count==${entry.range.count}` : null}\n />\n <RowValue\n name=\"One\"\n value={entry.one}\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { PolicyConstraints } from '@peculiar/asn1-x509';\nimport { AsnIntegerArrayBufferConverter } from '@peculiar/asn1-schema';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IPolicyConstraintsExtensionProps {\n extension: Extension<PolicyConstraints>;\n}\n\nexport const PolicyConstraintsExtension:\nFunctionalComponent<IPolicyConstraintsExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.requireExplicitPolicy && (\n <RowValue\n name=\"Require Explicit Policy\"\n value={AsnIntegerArrayBufferConverter.toASN(\n extension.value.requireExplicitPolicy,\n ).valueBlock.toString()}\n />\n )}\n {extension.value.inhibitPolicyMapping && (\n <RowValue\n name=\"Inhibit Policy Mapping\"\n value={AsnIntegerArrayBufferConverter.toASN(\n extension.value.inhibitPolicyMapping,\n ).valueBlock.toString()}\n />\n )}\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { PolicyMappings } from '@peculiar/asn1-x509';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IPolicyMappingsExtensionProps {\n extension: Extension<PolicyMappings>;\n}\n\nexport const PolicyMappingsExtension:\nFunctionalComponent<IPolicyMappingsExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.length > 0 && ([\n <RowValue\n name=\"Policies\"\n value=\"\"\n />,\n extension.value.map((policy) => (\n <TableRowTable>\n <RowValue\n name=\"Issuer Domain\"\n value={getStringByOID(policy.issuerDomainPolicy)}\n />\n <RowValue\n name=\"Subject Domain\"\n value={getStringByOID(policy.subjectDomainPolicy)}\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { CRLNumber } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\nimport { l10n } from '../../../utils';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ICRLNumberExtensionProps {\n extension: Extension<CRLNumber>;\n}\n\nexport const CRLNumberExtension: FunctionalComponent<ICRLNumberExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name={l10n.getString('value')}\n value={extension.value.value}\n />\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport { IssuingDistributionPoint } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\nimport { l10n } from '../../../utils';\n\nimport { BasicExtension } from './basic_extension';\nimport { GeneralNamePart } from './general_name_part';\n\ninterface IIssuingDistributionPointExtensionProps extends IGeneralNameOptions {\n extension: Extension<IssuingDistributionPoint>;\n}\n\n// eslint-disable-next-line max-len\nexport const IssuingDistributionPointExtension: FunctionalComponent<IIssuingDistributionPointExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.distributionPoint?.fullName.map((gn) => (\n <GeneralNamePart\n generalName={gn}\n {...props}\n />\n ))}\n {extension.value.onlySomeReasons && (\n <RowValue\n name={l10n.getString('onlyReasons')}\n value={extension.value.onlySomeReasons.toJSON().join(', ')}\n />\n )}\n {extension.value.indirectCRL && (\n <RowValue\n name={l10n.getString('indirectCRL')}\n value={l10n.getString('yes')}\n />\n )}\n {extension.value.onlyContainsUserCerts && (\n <RowValue\n name={l10n.getString('onlyUserCertificates')}\n value={l10n.getString('yes')}\n />\n )}\n {extension.value.onlyContainsAttributeCerts && (\n <RowValue\n name={l10n.getString('onlyAttributeCertificates')}\n value={l10n.getString('yes')}\n />\n )}\n {extension.value.onlyContainsCACerts && (\n <RowValue\n name={l10n.getString('onlyCACertificates')}\n value={l10n.getString('yes')}\n />\n )}\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport {\n NonStandardKeyDescription,\n AttestationApplicationId,\n AuthorizationList,\n IntegerSet,\n RootOfTrust,\n} from '@peculiar/asn1-android';\nimport { Convert, BufferSourceConverter } from 'pvtsutils';\nimport { AsnParser } from '@peculiar/asn1-schema';\n\nimport { l10n, camelCaseToWords } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IKeyDescriptionExtensionProps {\n extension: Extension<NonStandardKeyDescription>;\n}\n\nexport const KeyDescriptionExtension:\nFunctionalComponent<IKeyDescriptionExtensionProps> = (props) => {\n const { extension } = props;\n\n const renderRowValue = (data: Object) => Object.keys(data).map((keyName) => {\n const keyValue = data[keyName];\n let value: string | number | string[] = '';\n\n switch (true) {\n case typeof keyValue === 'string' || typeof keyValue === 'number':\n value = keyValue;\n break;\n\n case keyValue instanceof IntegerSet:\n value = keyValue.join(', ');\n break;\n\n case typeof keyValue === 'boolean':\n value = keyValue\n ? l10n.getString('yes')\n : l10n.getString('no');\n break;\n\n case Object.is(keyValue, null):\n value = 'NULL';\n break;\n\n case keyValue instanceof RootOfTrust:\n return [\n <RowValue\n name={camelCaseToWords(keyName)}\n value=\"\"\n />,\n <TableRowTable>\n {renderRowValue(keyValue)}\n </TableRowTable>,\n ];\n\n case BufferSourceConverter.isBufferSource(keyValue):\n if (keyName === 'attestationApplicationId') {\n try {\n const parsed = AsnParser.parse(keyValue, AttestationApplicationId);\n\n if (parsed.packageInfos.length || parsed.signatureDigests.length) {\n return [\n <RowValue\n name={camelCaseToWords(keyName)}\n value=\"\"\n />,\n Boolean(parsed.packageInfos) && (\n <TableRowTable>\n <RowValue\n name={camelCaseToWords('packageInfos')}\n value=\"\"\n />\n {parsed.packageInfos.map((attestationPackageInfo) => (\n <TableRowTable>\n {renderRowValue(attestationPackageInfo)}\n </TableRowTable>\n ))}\n </TableRowTable>\n ),\n ];\n }\n } catch (error) {\n //\n }\n }\n\n try {\n value = Convert.ToString(keyValue);\n } catch (error) {\n value = Convert.ToHex(keyValue);\n }\n\n break;\n\n default:\n }\n\n return (\n <RowValue\n name={camelCaseToWords(keyName)}\n value={value}\n />\n );\n });\n\n const renderAuthorizationList = (title: string, authorizationList: AuthorizationList[]) => {\n if (authorizationList.length === 0) {\n return null;\n }\n\n return [\n <RowValue\n name={title}\n value=\"\"\n />,\n <TableRowTable>\n {authorizationList.map(renderRowValue)}\n </TableRowTable>,\n ];\n };\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name={camelCaseToWords('attestationVersion')}\n value={extension.value.attestationVersion}\n />\n <RowValue\n name={camelCaseToWords('attestationSecurityLevel')}\n value={extension.value.attestationSecurityLevel}\n />\n <RowValue\n name={camelCaseToWords('keymasterVersion')}\n value={extension.value.keymasterVersion}\n />\n <RowValue\n name={camelCaseToWords('keymasterSecurityLevel')}\n value={extension.value.keymasterSecurityLevel}\n />\n <RowValue\n name={camelCaseToWords('attestationChallenge')}\n value={Convert.ToString(extension.value.attestationChallenge)}\n />\n <RowValue\n name={camelCaseToWords('uniqueId')}\n value={Convert.ToString(extension.value.uniqueId) || undefined}\n />\n {renderAuthorizationList(camelCaseToWords('softwareEnforced'), extension.value.softwareEnforced)}\n {renderAuthorizationList(camelCaseToWords('teeEnforced'), extension.value.teeEnforced)}\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\n\nimport { Extension } from '../../../crypto/extension';\nimport { CabforganizationIdentifier } from '../../../crypto/extensions';\nimport { RowValue } from '../row';\n\nimport { BasicExtension } from './basic_extension';\nimport { camelCaseToWords } from '../../../utils';\n\ninterface ICabforganizationIdentifierExtensionProps {\n extension: Extension<CabforganizationIdentifier>;\n}\n\nexport const CabforganizationIdentifierExtension: FunctionalComponent<\nICabforganizationIdentifierExtensionProps\n> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Object.keys(extension.value).map((keyName) => (\n <RowValue\n name={camelCaseToWords(keyName)}\n value={extension.value[keyName]}\n />\n ))}\n </BasicExtension>\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 { h, FunctionalComponent } from '@stencil/core';\nimport {\n KeyUsage,\n BasicConstraints,\n ExtendedKeyUsage,\n SubjectKeyIdentifier,\n AuthorityKeyIdentifier,\n CRLDistributionPoints,\n AuthorityInfoAccessSyntax,\n SubjectAlternativeName,\n CertificatePolicies,\n NameConstraints,\n CRLReason,\n CRLNumber,\n SubjectDirectoryAttributes,\n PrivateKeyUsagePeriod,\n EntrustVersionInfo,\n PolicyConstraints,\n PolicyMappings,\n SubjectInfoAccessSyntax,\n IssuingDistributionPoint,\n} from '@peculiar/asn1-x509';\nimport { CertificateTransparency } from '@peculiar/asn1-cert-transparency';\nimport {\n CertificateTemplate,\n EnrollCertTypeChoice,\n CaVersion,\n} from '@peculiar/asn1-x509-microsoft';\nimport { QCStatements, BiometricSyntax } from '@peculiar/asn1-x509-qualified';\nimport { NetscapeComment, NetscapeCertType } from '@peculiar/asn1-x509-netscape';\nimport { LeiRole, LeiChoice } from '@peculiar/asn1-lei';\nimport { Timestamp, ArchiveRevInfo } from '@peculiar/asn1-adobe-acrobat';\nimport { LogotypeExtn } from '@peculiar/asn1-x509-logotype';\nimport { TNAuthorizationList } from '@peculiar/asn1-rfc8226';\nimport { NonStandardKeyDescription } from '@peculiar/asn1-android';\n\nimport { RowTitle } from '../row';\nimport { Extension, TExtensionValue } from '../../../crypto/extension';\nimport {\n CabforganizationIdentifier,\n} from '../../../crypto/extensions';\n\nimport { KeyUsageExtension } from './key_usage_extension';\nimport { BasicConstraintsExtension } from './basic_constraints_extension';\nimport { ExtendedKeyUsageExtension } from './extended_key_usage_extension';\nimport { SubjectKeyIdentifierExtension } from './subject_key_identifier_extension';\nimport { AuthorityKeyIdentifierExtension } from './authority_key_identifier_extension';\nimport { CRLDistributionPointsExtension } from './crl_distribution_points_extension';\nimport { InfoAccessSyntaxExtension } from './info_access_syntax_extension';\nimport { SubjectAlternativeNameExtension } from './subject_alternative_name_extension';\nimport { CertificatePoliciesExtension } from './certificate_policies_extension';\nimport { CertificateTransparencyExtension } from './certificate_transparency_extension';\nimport { NameConstraintsExtension } from './name_constraints_extension';\nimport { CertificateTemplateExtension } from './certificate_template_extension';\nimport { EnrollCertTypeChoiceExtension } from './enroll_cert_type_extension';\nimport { CaVersionExtension } from './ca_version_extension';\nimport { QCStatementsExtension } from './qc_statements_extension';\nimport { NetscapeCommentExtension } from './netscape_comment_extension';\nimport { NetscapeCertTypeExtension } from './netscape_cert_type_extension';\nimport { LeiRoleExtension } from './lei_role_extennsion';\nimport { LeiExtension } from './lei_extension';\nimport { TimestampExtension } from './timestamp_extension';\nimport { ArchiveRevInfoExtension } from './archive_rev_info_extension';\nimport { CRLReasonExtension } from './crl_reason_extension';\nimport { SubjectDirectoryAttributesExtension } from './subject_directory_attributes_extension';\nimport { AsStringExtension } from './as_string_extension';\nimport { BasicExtension } from './basic_extension';\nimport { PrivateKeyUsagePeriodExtension } from './private_key_usage_period_extension';\nimport { EntrustVersionInfoExtension } from './entrust_version_info_extension';\nimport { BiometricSyntaxExtension } from './biometric_syntax_extension';\nimport { LogotypeExtension } from './logotype_extension';\nimport { TNAuthListExtension } from './tn_auth_list_extension';\nimport { PolicyConstraintsExtension } from './policy_constraints_extension';\nimport { PolicyMappingsExtension } from './policy_mappings_extension';\nimport { CRLNumberExtension } from './crl_number_extension';\nimport { IssuingDistributionPointExtension } from './issuing_distribution_point_extension';\nimport { KeyDescriptionExtension } from './key_description_extension';\nimport { CabforganizationIdentifierExtension } from './cabforganization_identifier_extension';\n\ninterface IExtensionsProps extends\n IGeneralNameOptions,\n ILeiOptions,\n IAuthorityKeyIdentifierOptions,\n ISubjectKeyIdentifierOptions {\n extensions: Extension<TExtensionValue>[];\n title?: string;\n}\n\nexport const Extensions: FunctionalComponent<IExtensionsProps> = (props) => {\n const { extensions, title } = props;\n\n if (!extensions || !extensions.length) {\n return null;\n }\n\n return ([\n <RowTitle\n value={title || 'Extensions'}\n />,\n extensions.map((extension) => {\n try {\n if (extension.value instanceof KeyUsage) {\n return (\n <KeyUsageExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof BasicConstraints) {\n return (\n <BasicConstraintsExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof ExtendedKeyUsage) {\n return (\n <ExtendedKeyUsageExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof SubjectKeyIdentifier) {\n return (\n <SubjectKeyIdentifierExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof AuthorityKeyIdentifier) {\n return (\n <AuthorityKeyIdentifierExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof CRLDistributionPoints) {\n return (\n <CRLDistributionPointsExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (\n extension.value instanceof AuthorityInfoAccessSyntax\n || extension.value instanceof SubjectInfoAccessSyntax\n ) {\n return (\n <InfoAccessSyntaxExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof SubjectAlternativeName) {\n return (\n <SubjectAlternativeNameExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof CertificatePolicies) {\n return (\n <CertificatePoliciesExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof CertificateTransparency) {\n return (\n <CertificateTransparencyExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof NameConstraints) {\n return (\n <NameConstraintsExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof CertificateTemplate) {\n return (\n <CertificateTemplateExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof EnrollCertTypeChoice) {\n return (\n <EnrollCertTypeChoiceExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof CaVersion) {\n return (\n <CaVersionExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof QCStatements) {\n return (\n <QCStatementsExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof NetscapeComment) {\n return (\n <NetscapeCommentExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof NetscapeCertType) {\n return (\n <NetscapeCertTypeExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof LeiRole) {\n return (\n <LeiRoleExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof LeiChoice) {\n return (\n <LeiExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof Timestamp) {\n return (\n <TimestampExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof ArchiveRevInfo) {\n return (\n <ArchiveRevInfoExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof CRLReason) {\n return (\n <CRLReasonExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof SubjectDirectoryAttributes) {\n return (\n <SubjectDirectoryAttributesExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof PrivateKeyUsagePeriod) {\n return (\n <PrivateKeyUsagePeriodExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof EntrustVersionInfo) {\n return (\n <EntrustVersionInfoExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof BiometricSyntax) {\n return (\n <BiometricSyntaxExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof LogotypeExtn) {\n return (\n <LogotypeExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof TNAuthorizationList) {\n return (\n <TNAuthListExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof PolicyConstraints) {\n return (\n <PolicyConstraintsExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof PolicyMappings) {\n return (\n <PolicyMappingsExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof CRLNumber) {\n return (\n <CRLNumberExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof IssuingDistributionPoint) {\n return (\n <IssuingDistributionPointExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof NonStandardKeyDescription) {\n return (\n <KeyDescriptionExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof CabforganizationIdentifier) {\n return (\n <CabforganizationIdentifierExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (typeof extension.value === 'string') {\n return (\n <AsStringExtension\n extension={extension as any}\n />\n );\n }\n\n return (\n <BasicExtension\n extension={extension}\n />\n );\n } catch (error) {\n console.error('Error render extension:', extension.asn.extnID);\n\n return null;\n }\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 { h, FunctionalComponent } from '@stencil/core';\n\nimport {\n X509Certificate,\n X509AttributeCertificate,\n CSR,\n CRL,\n} from '../../crypto';\nimport { l10n } from '../../utils';\nimport { Button } from '../button';\nimport { DownloadIcon } from '../icons';\nimport { RowTitle } from './row';\n\ntype CertificateType = X509Certificate | X509AttributeCertificate | CSR | CRL;\n\ninterface IMiscellaneousProps {\n certificate: CertificateType;\n}\n\nexport const Miscellaneous: FunctionalComponent<IMiscellaneousProps> = (props) => {\n const { certificate } = props;\n\n return [\n <RowTitle\n value={l10n.getString('miscellaneous')}\n />,\n <tr>\n <td>\n <Button\n onClick={() => certificate.downloadAsPEM()}\n startIcon={<DownloadIcon />}\n >\n {l10n.getString('download.pem')}\n </Button>\n </td>\n </tr>,\n <tr>\n <td>\n <Button\n onClick={() => certificate.downloadAsDER()}\n startIcon={<DownloadIcon />}\n >\n {l10n.getString('download.der')}\n </Button>\n </td>\n </tr>,\n ];\n};\n"],"mappings":"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"}