@peculiar/certificates-viewer 4.2.1 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/components/attribute-certificate-viewer.js +17 -14
  2. package/components/attribute-certificate-viewer.js.map +1 -1
  3. package/components/attribute.js +53 -0
  4. package/components/attribute.js.map +1 -0
  5. package/components/certificate-viewer.js +15 -13
  6. package/components/certificate-viewer.js.map +1 -1
  7. package/components/crl-viewer.js +20 -18
  8. package/components/crl-viewer.js.map +1 -1
  9. package/components/csr-viewer.js +9 -99
  10. package/components/csr-viewer.js.map +1 -1
  11. package/components/download.js +12518 -9
  12. package/components/download.js.map +1 -1
  13. package/components/index.js +2 -0
  14. package/components/index.js.map +1 -1
  15. package/components/index2.js +3 -48
  16. package/components/index2.js.map +1 -1
  17. package/components/issuer_name.js +2 -2
  18. package/components/miscellaneous.js +41 -12555
  19. package/components/miscellaneous.js.map +1 -1
  20. package/components/peculiar-certificate-decoder.js +17 -105
  21. package/components/peculiar-certificate-decoder.js.map +1 -1
  22. package/components/peculiar-certificates-viewer.js +1 -2
  23. package/components/peculiar-certificates-viewer.js.map +1 -1
  24. package/components/peculiar-crl-viewer.js +1 -1
  25. package/components/peculiar-csr-viewer.js +1 -1
  26. package/components/pkcs10_certificate_request.js +102 -0
  27. package/components/pkcs10_certificate_request.js.map +1 -0
  28. package/components/read_file.js +110 -0
  29. package/components/read_file.js.map +1 -0
  30. package/components/subject_name.js +2 -2
  31. package/dist/cjs/{certification_request-b0d72620.js → certification_request-314859bb.js} +3266 -2810
  32. package/dist/cjs/certification_request-314859bb.js.map +1 -0
  33. package/dist/cjs/index.cjs.js +12 -5
  34. package/dist/cjs/index.cjs.js.map +1 -1
  35. package/dist/cjs/{miscellaneous-dcb93a5b.js → miscellaneous-f1bc3a4b.js} +22 -23
  36. package/dist/cjs/miscellaneous-f1bc3a4b.js.map +1 -0
  37. package/dist/cjs/peculiar-attribute-certificate-viewer_3.cjs.entry.js +20 -20
  38. package/dist/cjs/peculiar-attribute-certificate-viewer_3.cjs.entry.js.map +1 -1
  39. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +20 -108
  40. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js.map +1 -1
  41. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +3 -4
  42. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js.map +1 -1
  43. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +2 -3
  44. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js.map +1 -1
  45. package/dist/cjs/pkcs10_certificate_request-93c66ce7.js +149 -0
  46. package/dist/cjs/pkcs10_certificate_request-93c66ce7.js.map +1 -0
  47. package/dist/cjs/read_file-2e22a97e.js +115 -0
  48. package/dist/cjs/read_file-2e22a97e.js.map +1 -0
  49. package/dist/cjs/{x509_certificate-ebf4cbd4.js → x509_certificate-0776e3ec.js} +17 -16
  50. package/dist/cjs/x509_certificate-0776e3ec.js.map +1 -0
  51. package/dist/cjs/x509_crl-5326d209.js +179 -0
  52. package/dist/cjs/x509_crl-5326d209.js.map +1 -0
  53. package/dist/collection/components/certificate-decoder/certificate-decoder.js +15 -72
  54. package/dist/collection/components/certificate-decoder/certificate-decoder.js.map +1 -1
  55. package/dist/collection/components/certificate-details-parts/miscellaneous.js.map +1 -1
  56. package/dist/collection/components/crl-viewer/crl-viewer.js +6 -6
  57. package/dist/collection/components/crl-viewer/crl-viewer.js.map +1 -1
  58. package/dist/collection/components/csr-viewer/csr-viewer.js +6 -6
  59. package/dist/collection/components/csr-viewer/csr-viewer.js.map +1 -1
  60. package/dist/collection/constants/oids.js +3 -0
  61. package/dist/collection/constants/oids.js.map +1 -1
  62. package/dist/collection/crypto/index.js +2 -2
  63. package/dist/collection/crypto/index.js.map +1 -1
  64. package/dist/collection/crypto/{csr.js → pkcs10_certificate_request.js} +14 -12
  65. package/dist/collection/crypto/pkcs10_certificate_request.js.map +1 -0
  66. package/dist/collection/crypto/x509_attribute_certificate.js +13 -11
  67. package/dist/collection/crypto/x509_attribute_certificate.js.map +1 -1
  68. package/dist/collection/crypto/x509_certificate.js +13 -11
  69. package/dist/collection/crypto/x509_certificate.js.map +1 -1
  70. package/dist/collection/crypto/{crl.js → x509_crl.js} +14 -12
  71. package/dist/collection/crypto/x509_crl.js.map +1 -0
  72. package/dist/collection/index.js +2 -0
  73. package/dist/collection/index.js.map +1 -1
  74. package/dist/collection/utils/download.js +8 -8
  75. package/dist/collection/utils/download.js.map +1 -1
  76. package/dist/collection/utils/validator.js +0 -8
  77. package/dist/collection/utils/validator.js.map +1 -1
  78. package/dist/esm/{certification_request-2c054ece.js → certification_request-b531916a.js} +3202 -2745
  79. package/dist/esm/certification_request-b531916a.js.map +1 -0
  80. package/dist/esm/index.js +3 -1
  81. package/dist/esm/index.js.map +1 -1
  82. package/dist/esm/{miscellaneous-0e98b5bc.js → miscellaneous-7fe71e3f.js} +2 -3
  83. package/dist/esm/miscellaneous-7fe71e3f.js.map +1 -0
  84. package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js +12 -12
  85. package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js.map +1 -1
  86. package/dist/esm/peculiar-certificate-decoder.entry.js +18 -106
  87. package/dist/esm/peculiar-certificate-decoder.entry.js.map +1 -1
  88. package/dist/esm/peculiar-certificate-viewer.entry.js +3 -4
  89. package/dist/esm/peculiar-certificate-viewer.entry.js.map +1 -1
  90. package/dist/esm/peculiar-certificates-viewer.entry.js +2 -3
  91. package/dist/esm/peculiar-certificates-viewer.entry.js.map +1 -1
  92. package/dist/esm/pkcs10_certificate_request-cca2ca68.js +146 -0
  93. package/dist/esm/pkcs10_certificate_request-cca2ca68.js.map +1 -0
  94. package/dist/esm/read_file-bb0b1450.js +110 -0
  95. package/dist/esm/read_file-bb0b1450.js.map +1 -0
  96. package/dist/esm/{x509_certificate-ad568d3a.js → x509_certificate-050175dd.js} +15 -14
  97. package/dist/esm/x509_certificate-050175dd.js.map +1 -0
  98. package/dist/esm/x509_crl-c497f907.js +176 -0
  99. package/dist/esm/x509_crl-c497f907.js.map +1 -0
  100. package/dist/esm-es5/{certification_request-2c054ece.js → certification_request-b531916a.js} +61 -23
  101. package/dist/esm-es5/certification_request-b531916a.js.map +1 -0
  102. package/dist/esm-es5/index.js +1 -1
  103. package/dist/esm-es5/{miscellaneous-0e98b5bc.js → miscellaneous-7fe71e3f.js} +2 -2
  104. package/dist/esm-es5/{miscellaneous-0e98b5bc.js.map → miscellaneous-7fe71e3f.js.map} +1 -1
  105. package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js +2 -2
  106. package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js.map +1 -1
  107. package/dist/esm-es5/peculiar-certificate-decoder.entry.js +2 -9
  108. package/dist/esm-es5/peculiar-certificate-decoder.entry.js.map +1 -1
  109. package/dist/esm-es5/peculiar-certificate-viewer.entry.js +2 -2
  110. package/dist/esm-es5/peculiar-certificate-viewer.entry.js.map +1 -1
  111. package/dist/esm-es5/peculiar-certificates-viewer.entry.js +1 -1
  112. package/dist/esm-es5/pkcs10_certificate_request-cca2ca68.js +19 -0
  113. package/dist/esm-es5/pkcs10_certificate_request-cca2ca68.js.map +1 -0
  114. package/dist/esm-es5/read_file-bb0b1450.js +12 -0
  115. package/dist/esm-es5/read_file-bb0b1450.js.map +1 -0
  116. package/dist/esm-es5/x509_certificate-050175dd.js +12 -0
  117. package/dist/esm-es5/x509_certificate-050175dd.js.map +1 -0
  118. package/dist/esm-es5/x509_crl-c497f907.js +19 -0
  119. package/dist/esm-es5/x509_crl-c497f907.js.map +1 -0
  120. package/dist/peculiar/index.esm.js +1 -1
  121. package/dist/peculiar/p-05af3b74.system.js +13 -0
  122. package/dist/peculiar/p-05af3b74.system.js.map +1 -0
  123. package/dist/peculiar/p-163a3052.system.js +20 -0
  124. package/dist/peculiar/p-163a3052.system.js.map +1 -0
  125. package/dist/peculiar/p-25a532a3.js +12 -0
  126. package/dist/peculiar/p-25a532a3.js.map +1 -0
  127. package/dist/peculiar/{p-5cf4562f.system.entry.js → p-2d9c40d6.system.entry.js} +16 -16
  128. package/dist/peculiar/p-2d9c40d6.system.entry.js.map +1 -0
  129. package/dist/peculiar/p-494d26fb.entry.js +5 -0
  130. package/dist/peculiar/p-494d26fb.entry.js.map +1 -0
  131. package/dist/peculiar/{p-ff3ced3c.system.js → p-52f13c4a.system.js} +45 -45
  132. package/dist/peculiar/{p-ff3ced3c.system.js.map → p-52f13c4a.system.js.map} +1 -1
  133. package/dist/peculiar/p-55303453.system.js +12 -0
  134. package/dist/peculiar/p-55303453.system.js.map +1 -0
  135. package/dist/peculiar/p-5a699274.js +19 -0
  136. package/dist/peculiar/p-5a699274.js.map +1 -0
  137. package/dist/peculiar/p-6221d0a4.system.entry.js +5 -0
  138. package/dist/peculiar/p-6221d0a4.system.entry.js.map +1 -0
  139. package/dist/peculiar/p-666438a8.js +135 -0
  140. package/dist/peculiar/p-666438a8.js.map +1 -0
  141. package/dist/peculiar/{p-c23fd001.entry.js → p-7a5173be.entry.js} +16 -16
  142. package/dist/peculiar/p-7a5173be.entry.js.map +1 -0
  143. package/dist/peculiar/p-80477c05.js +12 -0
  144. package/dist/peculiar/p-80477c05.js.map +1 -0
  145. package/dist/peculiar/p-8393399a.system.js +1 -1
  146. package/dist/peculiar/p-8ff95ad8.entry.js +5 -0
  147. package/dist/peculiar/{p-54b37ef9.entry.js.map → p-8ff95ad8.entry.js.map} +1 -1
  148. package/dist/peculiar/p-a06f51a2.system.js +19 -0
  149. package/dist/peculiar/p-a06f51a2.system.js.map +1 -0
  150. package/dist/peculiar/{p-75166532.js → p-adf16adb.js} +21 -21
  151. package/dist/peculiar/{p-75166532.js.map → p-adf16adb.js.map} +1 -1
  152. package/dist/peculiar/p-b6d5e413.js +19 -0
  153. package/dist/peculiar/p-b6d5e413.js.map +1 -0
  154. package/dist/peculiar/p-bd7fb688.system.entry.js +5 -0
  155. package/dist/peculiar/{p-00302a20.system.entry.js.map → p-bd7fb688.system.entry.js.map} +1 -1
  156. package/dist/peculiar/{p-496449cf.system.entry.js → p-cc256004.system.entry.js} +2 -2
  157. package/dist/peculiar/p-d1066b51.system.js +135 -0
  158. package/dist/peculiar/p-d1066b51.system.js.map +1 -0
  159. package/dist/peculiar/p-d6229f42.system.js +5 -0
  160. package/dist/peculiar/{p-5f3b0fc7.entry.js → p-ddadcb44.entry.js} +3 -3
  161. package/dist/peculiar/peculiar.esm.js +1 -1
  162. package/dist/types/components/certificate-decoder/certificate-decoder.d.ts +3 -3
  163. package/dist/types/components/certificate-details-parts/miscellaneous.d.ts +2 -2
  164. package/dist/types/components/crl-viewer/crl-viewer.d.ts +2 -2
  165. package/dist/types/components/csr-viewer/csr-viewer.d.ts +2 -2
  166. package/dist/types/constants/oids.d.ts +3 -0
  167. package/dist/types/crypto/index.d.ts +2 -2
  168. package/dist/types/crypto/{csr.d.ts → pkcs10_certificate_request.d.ts} +4 -5
  169. package/dist/types/crypto/x509_attribute_certificate.d.ts +3 -4
  170. package/dist/types/crypto/x509_certificate.d.ts +3 -4
  171. package/dist/types/crypto/{crl.d.ts → x509_crl.d.ts} +4 -5
  172. package/dist/types/index.d.ts +2 -0
  173. package/dist/types/utils/download.d.ts +4 -4
  174. package/dist/types/utils/validator.d.ts +0 -4
  175. package/hydrate/index.js +84 -138
  176. package/package.json +4 -4
  177. package/dist/cjs/certification_request-b0d72620.js.map +0 -1
  178. package/dist/cjs/crl-812dd7a1.js +0 -312
  179. package/dist/cjs/crl-812dd7a1.js.map +0 -1
  180. package/dist/cjs/download-6f550549.js +0 -476
  181. package/dist/cjs/download-6f550549.js.map +0 -1
  182. package/dist/cjs/miscellaneous-dcb93a5b.js.map +0 -1
  183. package/dist/cjs/x509_certificate-ebf4cbd4.js.map +0 -1
  184. package/dist/collection/crypto/crl.js.map +0 -1
  185. package/dist/collection/crypto/csr.js.map +0 -1
  186. package/dist/esm/certification_request-2c054ece.js.map +0 -1
  187. package/dist/esm/crl-a7318483.js +0 -308
  188. package/dist/esm/crl-a7318483.js.map +0 -1
  189. package/dist/esm/download-8c128e2e.js +0 -470
  190. package/dist/esm/download-8c128e2e.js.map +0 -1
  191. package/dist/esm/miscellaneous-0e98b5bc.js.map +0 -1
  192. package/dist/esm/x509_certificate-ad568d3a.js.map +0 -1
  193. package/dist/esm-es5/certification_request-2c054ece.js.map +0 -1
  194. package/dist/esm-es5/crl-a7318483.js +0 -33
  195. package/dist/esm-es5/crl-a7318483.js.map +0 -1
  196. package/dist/esm-es5/download-8c128e2e.js +0 -43
  197. package/dist/esm-es5/download-8c128e2e.js.map +0 -1
  198. package/dist/esm-es5/x509_certificate-ad568d3a.js +0 -12
  199. package/dist/esm-es5/x509_certificate-ad568d3a.js.map +0 -1
  200. package/dist/peculiar/p-00302a20.system.entry.js +0 -5
  201. package/dist/peculiar/p-0dbc8238.system.js +0 -13
  202. package/dist/peculiar/p-0dbc8238.system.js.map +0 -1
  203. package/dist/peculiar/p-1302bd67.js +0 -97
  204. package/dist/peculiar/p-1302bd67.js.map +0 -1
  205. package/dist/peculiar/p-1f766dd5.js +0 -43
  206. package/dist/peculiar/p-1f766dd5.js.map +0 -1
  207. package/dist/peculiar/p-3d44cbd2.js +0 -12
  208. package/dist/peculiar/p-3d44cbd2.js.map +0 -1
  209. package/dist/peculiar/p-3f9af5f5.system.js +0 -97
  210. package/dist/peculiar/p-3f9af5f5.system.js.map +0 -1
  211. package/dist/peculiar/p-54b37ef9.entry.js +0 -5
  212. package/dist/peculiar/p-5c6f9a14.entry.js +0 -12
  213. package/dist/peculiar/p-5c6f9a14.entry.js.map +0 -1
  214. package/dist/peculiar/p-5cf4562f.system.entry.js.map +0 -1
  215. package/dist/peculiar/p-6680f277.system.entry.js +0 -13
  216. package/dist/peculiar/p-6680f277.system.entry.js.map +0 -1
  217. package/dist/peculiar/p-924790f5.js +0 -33
  218. package/dist/peculiar/p-924790f5.js.map +0 -1
  219. package/dist/peculiar/p-b2890eb8.system.js +0 -5
  220. package/dist/peculiar/p-c156b495.system.js +0 -33
  221. package/dist/peculiar/p-c156b495.system.js.map +0 -1
  222. package/dist/peculiar/p-c23fd001.entry.js.map +0 -1
  223. package/dist/peculiar/p-dde511c8.system.js +0 -43
  224. package/dist/peculiar/p-dde511c8.system.js.map +0 -1
  225. /package/dist/peculiar/{p-496449cf.system.entry.js.map → p-cc256004.system.entry.js.map} +0 -0
  226. /package/dist/peculiar/{p-b2890eb8.system.js.map → p-d6229f42.system.js.map} +0 -0
  227. /package/dist/peculiar/{p-5f3b0fc7.entry.js.map → p-ddadcb44.entry.js.map} +0 -0
@@ -0,0 +1,19 @@
1
+ /*!
2
+ * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
+ */
4
+ import{A as s,a as t,b as a,C as i,i as e,c as r,e as n,f as h,g as o,h as c,j as u,k as l,l as f,T as m,m as p,n as g,o as E,W as b,p as d,I as A,q as w,V as R,r as x,s as y,t as C,U as I,u as N,E as T,v as $,w as q,N as D,x as P,y as S,z as j,B as v,R as K,F as B,G as F,H as G,J as H,D as U}from"./p-666438a8.js";
5
+ /**
6
+ * @license
7
+ * Copyright (c) Peculiar Ventures, LLC.
8
+ *
9
+ * This source code is licensed under the MIT license found in the
10
+ * LICENSE file in the root directory of this source tree.
11
+ */const V={[e]:r,[n]:h,[o]:c,[u]:l,[f]:m,[p]:g,[E]:b,[d]:A,[w]:R,[x]:y,[C]:I,[N]:T};class k extends s{getAsnExtnValue(){return this.asn.values[0]}constructor(s){super(s,t);const e=this.getAsnExtnValue();try{const s=V[this.asn.type];if(s){this.value=a.parse(e,s)}else{console.warn(`Didn't detect parser for "${this.asn.type}" attribute.`);this.value=i.ToHex(e)}}catch(s){console.error(`Error parse "${this.asn.type}" attribute:`,s.message);this.value=i.ToHex(e)}}}
12
+ /**
13
+ * @license
14
+ * Copyright (c) Peculiar Ventures, LLC.
15
+ *
16
+ * This source code is licensed under the MIT license found in the
17
+ * LICENSE file in the root directory of this source tree.
18
+ */class z extends s{constructor(s){super($(s),q);this.thumbprints={};this.type="PKCS#10 Certificate Request";this.tag="CERTIFICATE REQUEST";const{certificationRequestInfo:t}=this.asn;this.subject=new D(t.subject).toJSON();this.version=t.version}get publicKey(){const{subjectPublicKey:s,algorithm:t}=this.asn.certificationRequestInfo.subjectPKInfo;let a;if(t.algorithm===P&&t.parameters){a=S.parse(t.parameters,j)}if(t.algorithm===v){a=S.parse(s,K)}const i=S.serialize(this.asn.certificationRequestInfo.subjectPKInfo);return{params:a,value:i,algorithm:t.algorithm}}get signature(){const{signature:s,signatureAlgorithm:t}=this.asn;return{value:s,algorithm:t.algorithm}}get commonName(){if(!this.subject){return""}for(let s=0;s<this.subject.length;s+=1){const t=this.subject[s];if(t.shortName==="CN"||t.shortName==="E"||t.shortName==="O"){return t.value}}return""}async getThumbprint(s="SHA-1"){try{const t=await B(s,this.raw);if(t){this.thumbprints[s]=i.ToHex(t)}}catch(s){console.error("Error thumbprint get:",s)}}parseAttributes(){const{certificationRequestInfo:s}=this.asn;if(s.attributes){this.attributes=s.attributes.map((s=>new k(S.serialize(s))));const t=this.attributes.find((s=>s.asn.type===N));if(t){this.extensions=t.value.map((s=>new F(S.serialize(s))))}}}toString(s="pem"){switch(s){case"hex":return H(i.ToHex(this.raw));case"pem":return`-----BEGIN ${this.tag}-----\n${G(this.toString("base64"))}\n-----END ${this.tag}-----`;default:return i.ToBase64(this.raw)}}downloadAsPEM(s){U.csr.asPEM(this.toString("pem"),s||this.commonName)}downloadAsDER(s){U.csr.asDER(this.raw,s||this.commonName)}}export{k as A,z as P};
19
+ //# sourceMappingURL=p-b6d5e413.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["attributesParsers","id_DomainNameBeneficiary","DomainNameBeneficiary","id_DomainNameLegalRepresentative","DomainNameLegalRepresentative","id_DomainNameOwner","DomainNameOwner","id_DomainNameTechnicalOperator","DomainNameTechnicalOperator","id_TypeRelationship","TypeRelationship","id_ActivityDescription","ActivityDescription","id_WebGDPR","WebGDPR","id_InsuranceValue","InsuranceValue","id_ValuationRanking","ValuationRanking","id_pkcs9_at_challengePassword","ChallengePassword","id_pkcs9_at_unstructuredName","UnstructuredName","id_pkcs9_at_extensionRequest","ExtensionRequest","Attribute","AsnData","getAsnExtnValue","this","asn","values","constructor","raw","super","AsnAttribute","asnExtnValue","target","type","value","AsnParser","parse","console","warn","Convert","ToHex","error","message","Pkcs10CertificateRequest","certificateRawToBuffer","CertificationRequest","thumbprints","tag","certificationRequestInfo","subject","Name","toJSON","version","publicKey","subjectPublicKey","algorithm","subjectPKInfo","params","id_ecPublicKey","parameters","AsnConvert","ECParameters","id_rsaEncryption","RSAPublicKey","spki","serialize","signature","signatureAlgorithm","commonName","i","length","name","shortName","getThumbprint","thumbprint","getCertificateThumbprint","parseAttributes","attributes","map","e","extensionRequestAttribute","find","attribute","extensions","Extension","toString","format","hexFormat","base64Format","ToBase64","downloadAsPEM","Download","csr","asPEM","downloadAsDER","asDER"],"sources":["src/crypto/attribute.ts","src/crypto/pkcs10_certificate_request.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Convert } from 'pvtsutils';\nimport { AsnParser } from '@peculiar/asn1-schema';\nimport { Attribute as AsnAttribute } from '@peculiar/asn1-x509';\nimport {\n id_DomainNameBeneficiary,\n DomainNameBeneficiary,\n\n id_DomainNameLegalRepresentative,\n DomainNameLegalRepresentative,\n\n id_DomainNameOwner,\n DomainNameOwner,\n\n id_DomainNameTechnicalOperator,\n DomainNameTechnicalOperator,\n\n id_TypeRelationship,\n TypeRelationship,\n\n id_ActivityDescription,\n ActivityDescription,\n\n id_WebGDPR,\n WebGDPR,\n\n id_InsuranceValue,\n InsuranceValue,\n\n id_ValuationRanking,\n ValuationRanking,\n} from '@peculiar/asn1-ntqwac';\nimport {\n id_pkcs9_at_extensionRequest,\n ExtensionRequest,\n\n id_pkcs9_at_challengePassword,\n ChallengePassword,\n\n id_pkcs9_at_unstructuredName,\n UnstructuredName,\n} from '@peculiar/asn1-pkcs9';\n\nimport { AsnData } from './asn_data';\n\nconst attributesParsers = {\n [id_DomainNameBeneficiary]: DomainNameBeneficiary,\n [id_DomainNameLegalRepresentative]: DomainNameLegalRepresentative,\n [id_DomainNameOwner]: DomainNameOwner,\n [id_DomainNameTechnicalOperator]: DomainNameTechnicalOperator,\n [id_TypeRelationship]: TypeRelationship,\n [id_ActivityDescription]: ActivityDescription,\n [id_WebGDPR]: WebGDPR,\n [id_InsuranceValue]: InsuranceValue,\n [id_ValuationRanking]: ValuationRanking,\n [id_pkcs9_at_challengePassword]: ChallengePassword,\n [id_pkcs9_at_unstructuredName]: UnstructuredName,\n [id_pkcs9_at_extensionRequest]: ExtensionRequest,\n};\n\ntype TAttributeKeys = keyof typeof attributesParsers;\nexport type TAttributeValue = InstanceType<typeof attributesParsers[TAttributeKeys]> | string;\n\nexport class Attribute<T extends TAttributeValue> extends AsnData<AsnAttribute> {\n public readonly value: T;\n\n private getAsnExtnValue() {\n return this.asn.values[0];\n }\n\n constructor(raw: BufferSource) {\n super(raw, AsnAttribute);\n\n const asnExtnValue = this.getAsnExtnValue();\n\n try {\n const target = attributesParsers[this.asn.type];\n\n if (target) {\n this.value = AsnParser.parse<T>(asnExtnValue, target);\n } else {\n console.warn(`Didn't detect parser for \"${this.asn.type}\" attribute.`);\n\n this.value = Convert.ToHex(asnExtnValue) as T;\n }\n } catch (error) {\n console.error(`Error parse \"${this.asn.type}\" attribute:`, error.message);\n\n this.value = Convert.ToHex(asnExtnValue) as T;\n }\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { AsnConvert } from '@peculiar/asn1-schema';\nimport { ECParameters, id_ecPublicKey } from '@peculiar/asn1-ecc';\nimport { id_rsaEncryption, RSAPublicKey } from '@peculiar/asn1-rsa';\nimport { CertificationRequest } from '@peculiar/asn1-csr';\nimport {\n id_pkcs9_at_extensionRequest,\n ExtensionRequest,\n} from '@peculiar/asn1-pkcs9';\nimport { Convert } from 'pvtsutils';\n\nimport { Download } from '../utils';\n\nimport { AsnData } from './asn_data';\nimport { Name, INameJSON } from './name';\nimport { Attribute, TAttributeValue } from './attribute';\nimport { Extension, TExtensionValue } from './extension';\nimport {\n certificateRawToBuffer,\n hexFormat,\n base64Format,\n getCertificateThumbprint,\n} from './utils';\n\ninterface ISignature {\n algorithm: string;\n value: BufferSource;\n}\n\ninterface IPublicKey {\n algorithm: string;\n value: BufferSource;\n params?: ECParameters | RSAPublicKey;\n}\n\nexport class Pkcs10CertificateRequest extends AsnData<CertificationRequest> {\n public readonly subject: INameJSON[];\n\n public readonly version: number;\n\n public attributes: Attribute<TAttributeValue>[];\n\n public extensions: Extension<TExtensionValue>[];\n\n public thumbprints: Record<string, string> = {};\n\n public readonly type = 'PKCS#10 Certificate Request';\n\n public readonly tag = 'CERTIFICATE REQUEST';\n\n constructor(raw: string) {\n super(certificateRawToBuffer(raw), CertificationRequest);\n\n const { certificationRequestInfo } = this.asn;\n\n this.subject = new Name(certificationRequestInfo.subject).toJSON();\n this.version = certificationRequestInfo.version;\n }\n\n public get publicKey(): IPublicKey {\n const { subjectPublicKey, algorithm } = this.asn.certificationRequestInfo.subjectPKInfo;\n let params;\n\n if (algorithm.algorithm === id_ecPublicKey && algorithm.parameters) {\n params = AsnConvert.parse(algorithm.parameters, ECParameters);\n }\n\n if (algorithm.algorithm === id_rsaEncryption) {\n params = AsnConvert.parse(subjectPublicKey, RSAPublicKey);\n }\n\n const spki = AsnConvert.serialize(this.asn.certificationRequestInfo.subjectPKInfo);\n\n return {\n params,\n value: spki,\n algorithm: algorithm.algorithm,\n };\n }\n\n public get signature(): ISignature {\n const { signature, signatureAlgorithm } = this.asn;\n\n return {\n value: signature,\n algorithm: signatureAlgorithm.algorithm,\n };\n }\n\n public get commonName(): string {\n if (!this.subject) {\n return '';\n }\n\n for (let i = 0; i < this.subject.length; i += 1) {\n const name = this.subject[i];\n\n if (name.shortName === 'CN' || name.shortName === 'E' || name.shortName === 'O') {\n return name.value;\n }\n }\n\n return '';\n }\n\n public async getThumbprint(\n algorithm: string = 'SHA-1',\n ): Promise<void> {\n try {\n const thumbprint = await getCertificateThumbprint(algorithm, this.raw);\n\n if (thumbprint) {\n this.thumbprints[algorithm] = Convert.ToHex(thumbprint);\n }\n } catch (error) {\n console.error('Error thumbprint get:', error);\n }\n }\n\n public parseAttributes() {\n const { certificationRequestInfo } = this.asn;\n\n if (certificationRequestInfo.attributes) {\n this.attributes = certificationRequestInfo.attributes\n .map((e) => new Attribute(AsnConvert.serialize(e)));\n\n const extensionRequestAttribute = this.attributes.find(\n (attribute) => attribute.asn.type === id_pkcs9_at_extensionRequest,\n ) as Attribute<ExtensionRequest>;\n\n if (extensionRequestAttribute) {\n this.extensions = extensionRequestAttribute.value\n .map((e) => new Extension(AsnConvert.serialize(e)));\n }\n }\n }\n\n public toString(format: 'hex' | 'pem' | 'base64' = 'pem'): string {\n switch (format) {\n case 'hex':\n return hexFormat(Convert.ToHex(this.raw));\n case 'pem':\n return `-----BEGIN ${this.tag}-----\\n${base64Format(this.toString('base64'))}\\n-----END ${this.tag}-----`;\n default:\n return Convert.ToBase64(this.raw);\n }\n }\n\n public downloadAsPEM(name?: string) {\n Download.csr.asPEM(\n this.toString('pem'),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.csr.asDER(\n this.raw,\n name || this.commonName,\n );\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,5 @@
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,i){function s(t){try{c(a.next(t))}catch(t){i(t)}}function n(t){try{c(a["throw"](t))}catch(t){i(t)}}function c(t){t.done?r(t.value):o(t.value).then(s,n)}c((a=a.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},a,o,i,s;return s={next:n(0),throw:n(1),return:n(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function n(t){return function(e){return c([t,e])}}function c(n){if(a)throw new TypeError("Generator is already executing.");while(s&&(s=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=e.call(t,r)}catch(t){n=[6,t];o=0}finally{a=i=0}if(n[0]&5)throw n[1];return{value:n[0]?n[1]:void 0,done:true}}};
2
+ /*!
3
+ * © Peculiar Ventures https://peculiarventures.com/ - MIT License
4
+ */System.register(["./p-821bdcdc.system.js","./p-05af3b74.system.js","./p-d1066b51.system.js","./p-52f13c4a.system.js","./p-9712b827.system.js","./p-243244af.system.js","./p-8bbee8f4.system.js"],(function(t){"use strict";var e,r,a,o,i,s,n,c,v,p,l,h,d,b,g,u;return{setters:[function(t){e=t.r;r=t.h;a=t.H},function(t){o=t.X},function(){},function(t){i=t.B;s=t.h;n=t.I;c=t.P;v=t.S;p=t.b;l=t.E;h=t.d;d=t.e;b=t.f;g=t.M},function(t){u=t.T},function(){},function(){}],execute:function(){var f="*{-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%;position:relative;min-width:280px;min-height:300px;word-wrap:break-word;word-break:break-word}th,td{border:none}table{width:100%;border-spacing:0;border-collapse:collapse}table td{padding:var(--pv-size-base-2) var(--pv-size-base-4);vertical-align:top}table td:first-child{width:220px}table td:last-child{width:calc(100% - 220px)}table td.monospace{max-width:0}table td.divider{padding:var(--pv-size-base-2) 0}table td.divider span{height:1px;display:block;background-color:var(--pv-color-gray-4)}table .title td{padding-top:var(--pv-size-base-6);padding-bottom:var(--pv-size-base-2)}table table{border-left:1px solid var(--pv-color-gray-5)}.status_wrapper{min-height:inherit;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}:host([data-mobile-screen-view=true]) table,:host([data-mobile-screen-view=true]) tr,:host([data-mobile-screen-view=true]) td{display:block}:host([data-mobile-screen-view=true]) table tr{padding:var(--pv-size-base-2) 0}:host([data-mobile-screen-view=true]) table tr.title{padding-top:var(--pv-size-base-6)}:host([data-mobile-screen-view=true]) table tr.title td{padding:0 var(--pv-size-base-4)}:host([data-mobile-screen-view=true]) table td{padding:0 var(--pv-size-base-4);width:100% !important;max-width:100% !important}:host([data-mobile-screen-view=true]) table td.divider{padding:0}";var y=f;var w=t("peculiar_certificate_viewer",function(){function t(t){var r=this;e(this,t);this.getAuthKeyIdParentLink=function(t){var e;return(e=r.authKeyIdParentLink)===null||e===void 0?void 0:e.replace("{{authKeyId}}",t)};this.getAuthKeyIdSiblingsLink=function(t){var e;return(e=r.authKeyIdSiblingsLink)===null||e===void 0?void 0:e.replace("{{authKeyId}}",t)};this.getSubjectKeyIdChildrenLink=function(t){var e;return(e=r.subjectKeyIdChildrenLink)===null||e===void 0?void 0:e.replace("{{subjectKeyId}}",t)};this.getSubjectKeyIdSiblingsLink=function(t){var e;return(e=r.subjectKeyIdSiblingsLink)===null||e===void 0?void 0:e.replace("{{subjectKeyId}}",t)};this.certificate=undefined;this.download=undefined;this.authKeyIdParentLink=undefined;this.authKeyIdSiblingsLink=undefined;this.subjectKeyIdChildrenLink=undefined;this.subjectKeyIdSiblingsLink=undefined;this.issuerDnLink=undefined;this.mobileMediaQueryString="(max-width: 900px)";this.mobileScreenView=false;this.isDecodeInProcess=true}t.prototype.handleMediaQueryChange=function(t){this.mobileScreenView=t.matches};t.prototype.componentWillLoad=function(){this.decodeCertificate(this.certificate);{this.mobileMediaQuery=window.matchMedia(this.mobileMediaQueryString);this.mobileMediaQuery.addEventListener("change",this.handleMediaQueryChange.bind(this));this.mobileScreenView=this.mobileMediaQuery.matches}};t.prototype.disconnectedCallback=function(){this.mobileMediaQuery.removeEventListener("change",this.handleMediaQueryChange.bind(this))};t.prototype.decodeCertificate=function(t){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(r){switch(r.label){case 0:this.isDecodeInProcess=true;r.label=1;case 1:r.trys.push([1,4,,5]);if(t instanceof o){this.certificateDecoded=t}else if(typeof t==="string"){this.certificateDecoded=new o(t)}else{return[2]}this.certificateDecoded.parseExtensions();return[4,this.certificateDecoded.getThumbprint("SHA-1")];case 2:r.sent();return[4,this.certificateDecoded.getThumbprint("SHA-256")];case 3:r.sent();return[3,5];case 4:e=r.sent();this.certificateDecodeError=e;console.error("Error certificate parse:",e);return[3,5];case 5:this.isDecodeInProcess=false;return[2]}}))}))};t.prototype.watchCertificateAndDecode=function(t,e){if(typeof t==="string"&&typeof e==="string"){if(t!==e){this.decodeCertificate(t)}return}if(t instanceof o&&e instanceof o){if(t.serialNumber!==e.serialNumber){this.decodeCertificate(t)}}};t.prototype.getIssuerDnLink=function(){return this.issuerDnLink};t.prototype.renderErrorState=function(){return r("div",{class:"status_wrapper"},r(u,null,"There was an error decoding this certificate."))};t.prototype.renderEmptyState=function(){return r("div",{class:"status_wrapper"},r(u,null,"There is no certificate available."))};t.prototype.render=function(){if(this.certificateDecodeError){return this.renderErrorState()}if(!this.certificateDecoded){return this.renderEmptyState()}return r(a,{"data-mobile-screen-view":String(this.mobileScreenView)},r("table",null,r(i,Object.assign({},this.certificateDecoded)),r(s,{name:this.certificateDecoded.subject}),r(n,{name:this.certificateDecoded.issuer,issuerDnLink:this.getIssuerDnLink()}),r(c,{publicKey:this.certificateDecoded.publicKey}),r(v,{signature:this.certificateDecoded.signature}),r(p,{thumbprints:this.certificateDecoded.thumbprints}),r(l,{extensions:this.certificateDecoded.extensions,getLEILink:h,getDNSNameLink:d,getIPAddressLink:b,getAuthKeyIdParentLink:this.getAuthKeyIdParentLink,getAuthKeyIdSiblingsLink:this.getAuthKeyIdSiblingsLink,getSubjectKeyIdChildrenLink:this.getSubjectKeyIdChildrenLink,getSubjectKeyIdSiblingsLink:this.getSubjectKeyIdSiblingsLink}),this.download&&r(g,{certificate:this.certificateDecoded})))};Object.defineProperty(t,"watchers",{get:function(){return{certificate:["watchCertificateAndDecode"]}},enumerable:false,configurable:true});return t}());w.style=y}}}));
5
+ //# sourceMappingURL=p-bd7fb688.system.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["certificateViewerCss","PeculiarCertificateViewerStyle0","CertificateViewer","exports","this","getAuthKeyIdParentLink","value","_a","_this","authKeyIdParentLink","replace","getAuthKeyIdSiblingsLink","authKeyIdSiblingsLink","getSubjectKeyIdChildrenLink","subjectKeyIdChildrenLink","getSubjectKeyIdSiblingsLink","subjectKeyIdSiblingsLink","class_1","prototype","handleMediaQueryChange","event","mobileScreenView","matches","componentWillLoad","decodeCertificate","certificate","mobileMediaQuery","window","matchMedia","mobileMediaQueryString","addEventListener","bind","disconnectedCallback","removeEventListener","isDecodeInProcess","X509Certificate","certificateDecoded","parseExtensions","getThumbprint","_b","sent","certificateDecodeError","error_1","console","error","watchCertificateAndDecode","newValue","oldValue","serialNumber","getIssuerDnLink","issuerDnLink","renderErrorState","h","class","Typography","renderEmptyState","render","Host","String","BasicInformation","Object","assign","SubjectName","name","subject","IssuerName","issuer","PublicKey","publicKey","Signature","signature","Thumbprints","thumbprints","Extensions","extensions","getLEILink","getDNSNameLink","getIPAddressLink","download","Miscellaneous"],"sources":["src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-certificate-viewer&encapsulation=shadow","src/components/certificate-viewer/certificate-viewer.tsx"],"sourcesContent":["@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n position: relative;\n min-width: 280px;\n min-height: 300px;\n word-wrap: break-word;\n word-break: break-word;\n}\n\nth, td {\n border: none;\n}\n\ntable {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n\n td {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n vertical-align: top;\n\n &:first-child {\n width: 220px;\n }\n\n &:last-child {\n width: calc(100% - 220px)\n }\n\n &.monospace {\n max-width: 0;\n }\n\n &.divider {\n padding: var(--pv-size-base-2) 0;\n\n span {\n height: 1px;\n display: block;\n background-color: var(--pv-color-gray-4);\n }\n }\n }\n\n .title td {\n padding-top: var(--pv-size-base-6);\n padding-bottom: var(--pv-size-base-2);\n }\n\n table {\n border-left: 1px solid var(--pv-color-gray-5);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tr, td {\n display: block;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n\n &.title {\n padding-top: var(--pv-size-base-6);\n\n td {\n padding: 0 var(--pv-size-base-4);\n }\n }\n }\n\n td {\n padding: 0 var(--pv-size-base-4);\n width: 100% !important;\n max-width: 100% !important;\n\n &.divider {\n padding: 0;\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 {\n Component,\n h,\n Prop,\n State,\n Watch,\n Host,\n Build,\n} from '@stencil/core';\n\nimport {\n X509Certificate,\n} from '../../crypto';\nimport { getDNSNameLink, getIPAddressLink, getLEILink } from '../../utils/third_party_links';\nimport {\n BasicInformation,\n SubjectName,\n IssuerName,\n PublicKey,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type CertificateProp = string | X509Certificate;\n\n@Component({\n tag: 'peculiar-certificate-viewer',\n styleUrl: 'certificate-viewer.scss',\n shadow: true,\n})\nexport class CertificateViewer {\n private certificateDecoded: X509Certificate;\n\n private certificateDecodeError: Error;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop({ reflect: true }) certificate: CertificateProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop({ reflect: true }) download?: boolean;\n\n /**\n * Authority Key Identifier extension parent link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.subject_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdParentLink?: string;\n\n /**\n * Authority Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdSiblingsLink?: string;\n\n /**\n * Subject Key Identifier extension children link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdChildrenLink?: string;\n\n /**\n * Subject Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://some.com/{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdSiblingsLink?: string;\n\n /**\n * Issuer DN link.\n * **NOTE**: HTML component attribute must be `issuer-dn-link`.\n */\n @Prop({ reflect: true }) issuerDnLink?: string;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n @State() mobileScreenView: boolean = false;\n\n @State() isDecodeInProcess: boolean = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.decodeCertificate(this.certificate);\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n private async decodeCertificate(certificate: CertificateProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509Certificate) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509Certificate(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseExtensions();\n await this.certificateDecoded.getThumbprint('SHA-1');\n await this.certificateDecoded.getThumbprint('SHA-256');\n } catch (error) {\n this.certificateDecodeError = error;\n\n console.error('Error certificate parse:', error);\n }\n\n this.isDecodeInProcess = false;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(newValue: CertificateProp, oldValue: CertificateProp) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (newValue instanceof X509Certificate && oldValue instanceof X509Certificate) {\n if (newValue.serialNumber !== oldValue.serialNumber) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n private getAuthKeyIdParentLink = (value: string) => this.authKeyIdParentLink\n ?.replace('{{authKeyId}}', value);\n\n private getAuthKeyIdSiblingsLink = (value: string) => this.authKeyIdSiblingsLink\n ?.replace('{{authKeyId}}', value);\n\n private getSubjectKeyIdChildrenLink = (value: string) => this.subjectKeyIdChildrenLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getSubjectKeyIdSiblingsLink = (value: string) => this.subjectKeyIdSiblingsLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getIssuerDnLink() {\n return this.issuerDnLink;\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this certificate.\n </Typography>\n </div>\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificate available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (this.certificateDecodeError) {\n return this.renderErrorState();\n }\n\n if (!this.certificateDecoded) {\n return this.renderEmptyState();\n }\n\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n <table>\n <BasicInformation\n {...this.certificateDecoded}\n />\n\n <SubjectName\n name={this.certificateDecoded.subject}\n />\n\n <IssuerName\n name={this.certificateDecoded.issuer}\n issuerDnLink={this.getIssuerDnLink()}\n />\n\n <PublicKey\n publicKey={this.certificateDecoded.publicKey}\n />\n\n <Signature\n signature={this.certificateDecoded.signature}\n />\n\n <Thumbprints\n thumbprints={this.certificateDecoded.thumbprints}\n />\n\n <Extensions\n extensions={this.certificateDecoded.extensions}\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n getSubjectKeyIdChildrenLink={this.getSubjectKeyIdChildrenLink}\n getSubjectKeyIdSiblingsLink={this.getSubjectKeyIdSiblingsLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["certificateViewerCss","PeculiarCertificateViewerStyle0","CertificateViewer","exports","this","getAuthKeyIdParentLink","value","_a","_this","authKeyIdParentLink","replace","getAuthKeyIdSiblingsLink","authKeyIdSiblingsLink","getSubjectKeyIdChildrenLink","subjectKeyIdChildrenLink","getSubjectKeyIdSiblingsLink","subjectKeyIdSiblingsLink","class_1","prototype","handleMediaQueryChange","event","mobileScreenView","matches","componentWillLoad","decodeCertificate","certificate","mobileMediaQuery","window","matchMedia","mobileMediaQueryString","addEventListener","bind","disconnectedCallback","removeEventListener","isDecodeInProcess","X509Certificate","certificateDecoded","parseExtensions","getThumbprint","_b","sent","certificateDecodeError","error_1","console","error","watchCertificateAndDecode","newValue","oldValue","serialNumber","getIssuerDnLink","issuerDnLink","renderErrorState","h","class","Typography","renderEmptyState","render","Host","String","BasicInformation","Object","assign","SubjectName","name","subject","IssuerName","issuer","PublicKey","publicKey","Signature","signature","Thumbprints","thumbprints","Extensions","extensions","getLEILink","getDNSNameLink","getIPAddressLink","download","Miscellaneous"],"sources":["src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-certificate-viewer&encapsulation=shadow","src/components/certificate-viewer/certificate-viewer.tsx"],"sourcesContent":["@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n position: relative;\n min-width: 280px;\n min-height: 300px;\n word-wrap: break-word;\n word-break: break-word;\n}\n\nth, td {\n border: none;\n}\n\ntable {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n\n td {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n vertical-align: top;\n\n &:first-child {\n width: 220px;\n }\n\n &:last-child {\n width: calc(100% - 220px)\n }\n\n &.monospace {\n max-width: 0;\n }\n\n &.divider {\n padding: var(--pv-size-base-2) 0;\n\n span {\n height: 1px;\n display: block;\n background-color: var(--pv-color-gray-4);\n }\n }\n }\n\n .title td {\n padding-top: var(--pv-size-base-6);\n padding-bottom: var(--pv-size-base-2);\n }\n\n table {\n border-left: 1px solid var(--pv-color-gray-5);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tr, td {\n display: block;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n\n &.title {\n padding-top: var(--pv-size-base-6);\n\n td {\n padding: 0 var(--pv-size-base-4);\n }\n }\n }\n\n td {\n padding: 0 var(--pv-size-base-4);\n width: 100% !important;\n max-width: 100% !important;\n\n &.divider {\n padding: 0;\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 {\n Component,\n h,\n Prop,\n State,\n Watch,\n Host,\n Build,\n} from '@stencil/core';\n\nimport {\n X509Certificate,\n} from '../../crypto';\nimport { getDNSNameLink, getIPAddressLink, getLEILink } from '../../utils/third_party_links';\nimport {\n BasicInformation,\n SubjectName,\n IssuerName,\n PublicKey,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type CertificateProp = string | X509Certificate;\n\n@Component({\n tag: 'peculiar-certificate-viewer',\n styleUrl: 'certificate-viewer.scss',\n shadow: true,\n})\nexport class CertificateViewer {\n private certificateDecoded: X509Certificate;\n\n private certificateDecodeError: Error;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop({ reflect: true }) certificate: CertificateProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop({ reflect: true }) download?: boolean;\n\n /**\n * Authority Key Identifier extension parent link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.subject_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdParentLink?: string;\n\n /**\n * Authority Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdSiblingsLink?: string;\n\n /**\n * Subject Key Identifier extension children link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdChildrenLink?: string;\n\n /**\n * Subject Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://some.com/{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdSiblingsLink?: string;\n\n /**\n * Issuer DN link.\n * **NOTE**: HTML component attribute must be `issuer-dn-link`.\n */\n @Prop({ reflect: true }) issuerDnLink?: string;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n @State() mobileScreenView: boolean = false;\n\n @State() isDecodeInProcess: boolean = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.decodeCertificate(this.certificate);\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n private async decodeCertificate(certificate: CertificateProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509Certificate) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509Certificate(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseExtensions();\n await this.certificateDecoded.getThumbprint('SHA-1');\n await this.certificateDecoded.getThumbprint('SHA-256');\n } catch (error) {\n this.certificateDecodeError = error;\n\n console.error('Error certificate parse:', error);\n }\n\n this.isDecodeInProcess = false;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(newValue: CertificateProp, oldValue: CertificateProp) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (newValue instanceof X509Certificate && oldValue instanceof X509Certificate) {\n if (newValue.serialNumber !== oldValue.serialNumber) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n private getAuthKeyIdParentLink = (value: string) => this.authKeyIdParentLink\n ?.replace('{{authKeyId}}', value);\n\n private getAuthKeyIdSiblingsLink = (value: string) => this.authKeyIdSiblingsLink\n ?.replace('{{authKeyId}}', value);\n\n private getSubjectKeyIdChildrenLink = (value: string) => this.subjectKeyIdChildrenLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getSubjectKeyIdSiblingsLink = (value: string) => this.subjectKeyIdSiblingsLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getIssuerDnLink() {\n return this.issuerDnLink;\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this certificate.\n </Typography>\n </div>\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificate available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (this.certificateDecodeError) {\n return this.renderErrorState();\n }\n\n if (!this.certificateDecoded) {\n return this.renderEmptyState();\n }\n\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n <table>\n <BasicInformation\n {...this.certificateDecoded}\n />\n\n <SubjectName\n name={this.certificateDecoded.subject}\n />\n\n <IssuerName\n name={this.certificateDecoded.issuer}\n issuerDnLink={this.getIssuerDnLink()}\n />\n\n <PublicKey\n publicKey={this.certificateDecoded.publicKey}\n />\n\n <Signature\n signature={this.certificateDecoded.signature}\n />\n\n <Thumbprints\n thumbprints={this.certificateDecoded.thumbprints}\n />\n\n <Extensions\n extensions={this.certificateDecoded.extensions}\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n getSubjectKeyIdChildrenLink={this.getSubjectKeyIdChildrenLink}\n getSubjectKeyIdSiblingsLink={this.getSubjectKeyIdSiblingsLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
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,i){function n(t){try{c(a.next(t))}catch(t){i(t)}}function s(t){try{c(a["throw"](t))}catch(t){i(t)}}function c(t){t.done?r(t.value):o(t.value).then(n,s)}c((a=a.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},a,o,i,n;return n={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(n[Symbol.iterator]=function(){return this}),n;function s(t){return function(e){return c([t,e])}}function c(s){if(a)throw new TypeError("Generator is already executing.");while(n&&(n=0,s[0]&&(r=0)),r)try{if(a=1,o&&(i=s[0]&2?o["return"]:s[0]?o["throw"]||((i=o["return"])&&i.call(o),0):o.next)&&!(i=i.call(o,s[1])).done)return i;if(o=0,i)s=[s[0]&2,i.value];switch(s[0]){case 0:case 1:i=s;break;case 4:r.label++;return{value:s[1],done:false};case 5:r.label++;o=s[1];s=[0];continue;case 7:s=r.ops.pop();r.trys.pop();continue;default:if(!(i=r.trys,i=i.length>0&&i[i.length-1])&&(s[0]===6||s[0]===2)){r=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]<i[3])){r.label=s[1];break}if(s[0]===6&&r.label<i[1]){r.label=i[1];i=s;break}if(i&&r.label<i[2]){r.label=i[2];r.ops.push(s);break}if(i[2])r.ops.pop();r.trys.pop();continue}s=e.call(t,r)}catch(t){s=[6,t];o=0}finally{a=i=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(t,e,r){if(r||arguments.length===2)for(var a=0,o=e.length,i;a<o;a++){if(i||!(a in e)){if(!i)i=Array.prototype.slice.call(e,0,a);i[a]=e[a]}}return t.concat(i||Array.prototype.slice.call(e))};
2
2
  /*!
3
3
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
4
- */System.register(["./p-821bdcdc.system.js","./p-0dbc8238.system.js","./p-3f9af5f5.system.js","./p-dde511c8.system.js","./p-9712b827.system.js","./p-eea904d7.system.js","./p-8bbee8f4.system.js","./p-c241e4ba.system.js"],(function(t){"use strict";var e,r,a,o,i,n,s,c,l,v,p,h,d,u,b,g;return{setters:[function(t){e=t.h;r=t.r;a=t.c;o=t.H},function(t){i=t.X},function(t){n=t.$;s=t.a0;c=t.a1},function(){},function(t){l=t.T;v=t.B},function(t){p=t.D;h=t.L;d=t.C},function(t){u=t.D},function(t){b=t.a;g=t.A}],execute:function(){
4
+ */System.register(["./p-821bdcdc.system.js","./p-05af3b74.system.js","./p-d1066b51.system.js","./p-9712b827.system.js","./p-eea904d7.system.js","./p-8bbee8f4.system.js","./p-c241e4ba.system.js"],(function(t){"use strict";var e,r,a,o,i,n,s,c,l,v,p,h,d,u,b,g;return{setters:[function(t){e=t.h;r=t.r;a=t.c;o=t.H},function(t){i=t.X},function(t){n=t.Z;s=t._;c=t.$},function(t){l=t.T;v=t.B},function(t){p=t.D;h=t.L;d=t.C},function(t){u=t.D},function(t){b=t.a;g=t.A}],execute:function(){
5
5
  /**
6
6
  * @license
7
7
  * Copyright (c) Peculiar Ventures, LLC.
@@ -10,4 +10,4 @@ var __awaiter=this&&this.__awaiter||function(t,e,r,a){function o(t){return t ins
10
10
  * LICENSE file in the root directory of this source tree.
11
11
  */
12
12
  var f=function(t){var r=t.certificate,a=t.showIssuer;var o=function(t,r){return e("tr",null,e("td",null,e(l,{variant:"b2",color:"gray-9"},t)),e("td",null,e(l,{variant:"b2",color:"black"},r)))};return e("table",null,e("tbody",null,o(n.getString("subjectName"),r.subjectToString()),a&&o(n.getString("issuerName"),r.issuerToString()),o(n.getString("serialNumber"),r.serialNumber),o(n.getString("version"),r.version),o(n.getString("validity"),r.validity),o(n.getString("issued"),s(r.notBefore)),o(n.getString("expired"),s(r.notAfter))))};var y="*{-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%;word-wrap:break-word;min-width:280px;overflow:auto;position:relative}.search_section{padding:var(--pv-size-base-4);border-bottom:1px solid var(--pv-color-gray-4)}.input_search{height:var(--pv-size-base-8);width:100%;outline:none;background-color:var(--pv-color-gray-1);padding:0 var(--pv-size-base-2);border:1px solid var(--pv-color-gray-7);border-radius:4px;-webkit-transition:background-color 200ms ease 0s, color 200ms ease 0s, border-color 200ms ease 0s;transition:background-color 200ms ease 0s, color 200ms ease 0s, border-color 200ms ease 0s}.input_search::-webkit-input-placeholder{color:var(--pv-color-gray-9)}.input_search::-moz-placeholder{color:var(--pv-color-gray-9)}.input_search:-ms-input-placeholder{color:var(--pv-color-gray-9)}.input_search::-ms-input-placeholder{color:var(--pv-color-gray-9)}.input_search::placeholder{color:var(--pv-color-gray-9)}table{width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0}table td,table th{border-bottom:1px solid var(--pv-color-gray-4);vertical-align:top;text-align:left}table td:first-child,table th:first-child{padding-right:0;width:var(--pv-size-base-10)}table td:last-child,table th:last-child{padding-left:0;width:var(--pv-size-base-10)}table th{padding:var(--pv-size-base-2) var(--pv-size-base-4)}table th.col_action{padding:0}table td{padding:var(--pv-size-base-4)}table tr.m_expanded{background:var(--pv-color-gray-1)}table tr.m_expanded>td{border-bottom:none}table tr.expanded_summary{background:var(--pv-color-gray-1)}table tr.expanded_summary table{table-layout:initial}table tr.expanded_summary table td{border-bottom:none;padding:var(--pv-size-base-2)}table tr.expanded_summary table td:first-child{width:200px}table tr.expanded_summary table td:last-child{width:auto}.button_table_cell{margin-top:-3px}.status_wrapper{text-align:center;height:var(--pv-size-base-16);vertical-align:middle}.modal_wrapper{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-animation:fadeIn 200ms;animation:fadeIn 200ms;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.modal_backdrop{background:var(--pv-color-black);z-index:-1;position:fixed;top:0;right:0;bottom:0;left:0;opacity:0.5}.modal_container{background:var(--pv-color-white);width:100%;display:-ms-flexbox;display:flex;max-height:calc(100% - 60px);-ms-flex-direction:column;flex-direction:column;margin:var(--pv-size-base-6);position:relative;outline:none;-webkit-box-shadow:var(--pv-shadow-dark-hight);box-shadow:var(--pv-shadow-dark-hight);overflow:hidden;border:0px;padding:0px;max-width:640px;border-radius:4px}.modal_header{padding:var(--pv-size-base-3) var(--pv-size-base-4);display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:var(--pv-size-base-2);border-bottom:1px solid var(--pv-color-gray-5)}.modal_content{-ms-flex:1 1 auto;flex:1 1 auto;overflow:auto}:host([data-mobile-screen-view=true]) table,:host([data-mobile-screen-view=true]) tbody,:host([data-mobile-screen-view=true]) tr,:host([data-mobile-screen-view=true]) td{display:block;width:100% !important;padding:0;border:none}:host([data-mobile-screen-view=true]) thead{display:none}:host([data-mobile-screen-view=true]) table tr{padding:var(--pv-size-base-2) 0}:host([data-mobile-screen-view=true]) table .expanded_summary{padding:0}:host([data-mobile-screen-view=true]) table .certificate_row{border-bottom:1px solid var(--pv-color-gray-5);padding:var(--pv-size-base-2) var(--pv-size-base-4)}:host([data-mobile-screen-view=true]) table .certificate_row_actions{padding-top:var(--pv-size-base-6)}:host([data-mobile-screen-view=true]) table .certificate_row_actions td{display:-ms-flexbox;display:flex;-ms-flex-pack:right;justify-content:right;gap:var(--pv-size-base-4)}:host([data-mobile-screen-view=true]) .button_table_cell{margin-top:0}";var m=y;var w=t("peculiar_certificates_viewer",function(){function t(t){var e=this;r(this,t);this.detailsOpen=a(this,"detailsOpen",7);this.detailsClose=a(this,"detailsClose",7);this.isHasRoots=false;this.handleClickDetails=function(t){e.certificateSelectedForDetails=t;e.detailsOpen.emit(t)};this.handleModalClose=function(){e.certificateSelectedForDetails=undefined;e.detailsClose.emit()};this.handleSearch=function(t){e.search=t.target.value.trim()};this.certificates=[];this.filterWithSearch=true;this.highlightWithSearch=true;this.mobileMediaQueryString="(max-width: 900px)";this.mobileScreenView=false;this.search="";this.certificatesDecoded=[];this.expandedRow=undefined;this.certificateSelectedForDetails=undefined;this.isDecodeInProcess=true}t.prototype.handleMediaQueryChange=function(t){this.mobileScreenView=t.matches};t.prototype.componentWillLoad=function(){this.certificatesDecodeAndSet();{this.mobileMediaQuery=window.matchMedia(this.mobileMediaQueryString);this.mobileMediaQuery.addEventListener("change",this.handleMediaQueryChange.bind(this));this.mobileScreenView=this.mobileMediaQuery.matches}};t.prototype.disconnectedCallback=function(){this.mobileMediaQuery.removeEventListener("change",this.handleMediaQueryChange.bind(this))};t.prototype.watchCertificates=function(t,e){if(JSON.stringify(t)!==JSON.stringify(e)){this.certificatesDecodeAndSet()}};t.prototype.certificatesDecodeAndSet=function(){return __awaiter(this,void 0,void 0,(function(){var t,e,r,a,o,n,s;return __generator(this,(function(c){switch(c.label){case 0:t=false;if(!Array.isArray(this.certificates)){return[2]}e=[];r=0,a=this.certificates;c.label=1;case 1:if(!(r<a.length))return[3,6];o=a[r];c.label=2;case 2:c.trys.push([2,4,,5]);n=new i(o.value);return[4,n.getThumbprint("SHA-1")];case 3:c.sent();e.push({body:n,tests:o.tests,name:o.name});if(!t&&n.isRoot){t=true}return[3,5];case 4:s=c.sent();console.error("Error certificate parse:",s);return[3,5];case 5:r++;return[3,1];case 6:this.isHasRoots=t;this.isDecodeInProcess=false;this.certificatesDecoded=e;return[2]}}))}))};t.prototype.handleClickDownloadAsPem=function(t){t.body.downloadAsPEM(t.name||t.body.commonName)};t.prototype.handleClickDownloadAsDer=function(t){t.body.downloadAsDER(t.name||t.body.commonName)};t.prototype.handleClickRow=function(t){var e=this.expandedRow===t;this.expandedRow=e?undefined:t};t.prototype.getMaxColSpanValue=function(){var t=5;if(!this.isHasRoots){t+=1}return t};t.prototype.renderCertificateButtonActions=function(t){var r=this;var a,o,i;var s=t.tests&&(t.tests.expired||t.tests.revoked||t.tests.valid);return e("peculiar-button-menu",{class:"button_table_cell",groups:__spreadArray([{title:n.getString("previewCertificate"),options:[{text:n.getString("viewDetails"),startIcon:e(p,null),onClick:function(){return r.handleClickDetails(t.body)}}]},{title:n.getString("downloadOptions"),options:[{text:n.getString("download.pem"),startIcon:e(u,null),onClick:function(){return r.handleClickDownloadAsPem(t)}},{text:n.getString("download.der"),startIcon:e(u,null),onClick:function(){return r.handleClickDownloadAsDer(t)}}]}],s?[{title:n.getString("testURLs"),options:__spreadArray(__spreadArray(__spreadArray([],((a=t.tests)===null||a===void 0?void 0:a.valid)?[{text:n.getString("valid"),href:t.tests.valid,startIcon:e(h,null)}]:[],true),((o=t.tests)===null||o===void 0?void 0:o.revoked)?[{text:n.getString("revoked"),href:t.tests.revoked,startIcon:e(h,null)}]:[],true),((i=t.tests)===null||i===void 0?void 0:i.expired)?[{text:n.getString("expired"),href:t.tests.expired,startIcon:e(h,null)}]:[],true)}]:[],true)})};t.prototype.renderExpandedRow=function(t){var r=this.getMaxColSpanValue()-2;return e("tr",{class:"expanded_summary"},e("td",null),e("td",{colSpan:r},e(f,{certificate:t,showIssuer:!t.isRoot})),e("td",null))};t.prototype.renderCertificatesRows=function(){var t=this;var r=this.highlightWithSearch?this.search:"";var a=[];this.certificatesDecoded.forEach((function(o,i){var s=i===t.expandedRow;var p=c[o.body.signature.algorithm]||o.body.signature.algorithm;if(t.filterWithSearch&&t.search){var h=[p,o.body.issuerCommonName,o.name,o.body.commonName,o.body.thumbprints["SHA-1"]].join(" ").toLowerCase();if(h.indexOf(t.search.toLowerCase())===-1){return}}if(t.mobileScreenView){a.push([e("tr",{class:{certificate_row:true,m_expanded:s},key:o.body.thumbprints["SHA-1"]},e("td",null,e("table",null,e("tbody",null,!t.isHasRoots&&e("tr",null,e("td",null,e(l,{variant:"b2",color:"gray-9"},n.getString("issuer"))),e("td",null,e(l,{variant:"b2",color:"black"},e("peculiar-highlight-words",{search:r},o.body.issuerCommonName)))),e("tr",null,e("td",null,e(l,{variant:"b2",color:"gray-9"},n.getString("name"))),e("td",null,e(l,{variant:"b2",color:"black"},e("peculiar-highlight-words",{search:r},o.name||o.body.commonName)))),e("tr",null,e("td",null,e(l,{variant:"b2",color:"gray-9"},n.getString("publicKey"))),e("td",null,e(l,{variant:"b2",color:"black"},e("peculiar-highlight-words",{search:r},p)))),e("tr",null,e("td",null,e(l,{variant:"b2",color:"gray-9"},n.getString("fingerprint"),"  (SHA-1)")),e("td",null,e(l,{variant:"b2",color:"black"},e("peculiar-highlight-words",{search:r},o.body.thumbprints["SHA-1"])))),s&&t.renderExpandedRow(o.body),e("tr",{class:"certificate_row_actions"},e("td",null,t.renderCertificateButtonActions(o),e(v,{onClick:t.handleClickRow.bind(t,i),startIcon:s?e(b,null):e(g,null)})))))))]);return}a.push([e("tr",{class:{m_expanded:s},key:o.body.thumbprints["SHA-1"]},e("td",null,e(v,{class:"button_table_cell",onClick:t.handleClickRow.bind(t,i),startIcon:s?e(b,null):e(g,null)})),!t.isHasRoots&&e("td",null,e(l,null,e("peculiar-highlight-words",{search:r},o.body.issuerCommonName))),e("td",null,e(l,null,e("peculiar-highlight-words",{search:r},o.name||o.body.commonName))),e("td",null,e(l,null,e("peculiar-highlight-words",{search:r},p))),e("td",null,e(l,null,e("peculiar-highlight-words",{search:r},o.body.thumbprints["SHA-1"]))),e("td",null,t.renderCertificateButtonActions(o))),s&&t.renderExpandedRow(o.body)])}));return a};t.prototype.renderCertificateDetailsModal=function(){if(!this.certificateSelectedForDetails){return null}return e("div",{class:"modal_wrapper",role:"presentation","aria-hidden":"false",part:"presentation"},e("div",{class:"modal_backdrop",onClick:this.handleModalClose,"aria-hidden":"true"}),e("div",{class:"modal_container",role:"dialog",part:"presentation_container"},e("header",{class:"modal_header"},e(l,{variant:"h4"},n.getString("certificateDetails")),e(v,{onClick:this.handleModalClose,startIcon:e(d,null)})),e("div",{class:"modal_content"},e("peculiar-certificate-viewer",{certificate:this.certificateSelectedForDetails,mobileMediaQueryString:this.mobileMediaQueryString}))))};t.prototype.renderSearch=function(){if(!this.filterWithSearch&&!this.highlightWithSearch){return null}return e("div",{class:"search_section"},e("input",{onInput:this.handleSearch,type:"search",value:"",class:"input_search t-b3 c-black",disabled:!this.certificatesDecoded.length,placeholder:"Search"}))};t.prototype.renderEmptyState=function(){var t=this.getMaxColSpanValue();return e("tr",null,e("td",{class:"status_wrapper",colSpan:t},e(l,{variant:"b1"},"There are no certificates available.")))};t.prototype.renderEmptySearchState=function(){var t=this.getMaxColSpanValue();return e("tr",null,e("td",{class:"status_wrapper",colSpan:t},e(l,{variant:"b1"},"No results found for “",this.search,"“")))};t.prototype.renderLoadingState=function(){return e("div",{class:"loading_container"},e("peculiar-circular-progress",null))};t.prototype.renderTableBody=function(){if(this.isDecodeInProcess){return null}if(!this.certificatesDecoded.length){return this.renderEmptyState()}var t=this.renderCertificatesRows();if(this.search&&!t.length){return this.renderEmptySearchState()}return t};t.prototype.render=function(){return e(o,{key:"e10ac3070a3cb75cb9a281a999fec42ef28d593d","data-mobile-screen-view":String(this.mobileScreenView)},this.renderSearch(),e("table",{key:"abc765a09c9537c36500143c6caffa688910483e"},!this.mobileScreenView&&e("thead",null,e("tr",null,e("th",null),!this.isHasRoots&&e("th",{class:"col_issuer"},e(l,{variant:"s2"},n.getString("issuer"))),e("th",{class:"col_name"},e(l,{variant:"s2"},n.getString("name"))),e("th",{class:"col_public_key"},e(l,{variant:"s2"},n.getString("publicKey"))),e("th",{class:"col_fingerprint"},e(l,{variant:"s2"},n.getString("fingerprint"),"  (SHA-1)")),e("th",null))),e("tbody",{key:"e61dfb14836909b154cdbc359c8f04bef5a42df0"},this.renderTableBody())),this.renderCertificateDetailsModal(),this.isDecodeInProcess&&this.renderLoadingState())};Object.defineProperty(t,"watchers",{get:function(){return{certificates:["watchCertificates"]}},enumerable:false,configurable:true});return t}());w.style=m}}}));
13
- //# sourceMappingURL=p-496449cf.system.entry.js.map
13
+ //# sourceMappingURL=p-cc256004.system.entry.js.map