@peculiar/certificates-viewer 4.2.1 → 4.2.2

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 (218) 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 +12515 -1
  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 +12 -43
  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-815ec558.js} +3271 -2805
  32. package/dist/cjs/certification_request-815ec558.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-9a573276.js} +22 -23
  36. package/dist/cjs/miscellaneous-9a573276.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 +16 -47
  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-0ebc0023.js +149 -0
  46. package/dist/cjs/pkcs10_certificate_request-0ebc0023.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-9914b149.js} +17 -16
  50. package/dist/cjs/x509_certificate-9914b149.js.map +1 -0
  51. package/dist/cjs/x509_crl-86b6e71d.js +179 -0
  52. package/dist/cjs/x509_crl-86b6e71d.js.map +1 -0
  53. package/dist/collection/components/certificate-decoder/certificate-decoder.js +8 -8
  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/crypto/index.js +2 -2
  61. package/dist/collection/crypto/index.js.map +1 -1
  62. package/dist/collection/crypto/{csr.js → pkcs10_certificate_request.js} +14 -12
  63. package/dist/collection/crypto/pkcs10_certificate_request.js.map +1 -0
  64. package/dist/collection/crypto/x509_attribute_certificate.js +13 -11
  65. package/dist/collection/crypto/x509_attribute_certificate.js.map +1 -1
  66. package/dist/collection/crypto/x509_certificate.js +13 -11
  67. package/dist/collection/crypto/x509_certificate.js.map +1 -1
  68. package/dist/collection/crypto/{crl.js → x509_crl.js} +14 -12
  69. package/dist/collection/crypto/x509_crl.js.map +1 -0
  70. package/dist/collection/index.js +2 -0
  71. package/dist/collection/index.js.map +1 -1
  72. package/dist/esm/{certification_request-2c054ece.js → certification_request-08b4deb8.js} +3207 -2745
  73. package/dist/esm/certification_request-08b4deb8.js.map +1 -0
  74. package/dist/esm/index.js +3 -1
  75. package/dist/esm/index.js.map +1 -1
  76. package/dist/esm/{miscellaneous-0e98b5bc.js → miscellaneous-d4bbc6f2.js} +2 -3
  77. package/dist/esm/miscellaneous-d4bbc6f2.js.map +1 -0
  78. package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js +12 -12
  79. package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js.map +1 -1
  80. package/dist/esm/peculiar-certificate-decoder.entry.js +12 -43
  81. package/dist/esm/peculiar-certificate-decoder.entry.js.map +1 -1
  82. package/dist/esm/peculiar-certificate-viewer.entry.js +3 -4
  83. package/dist/esm/peculiar-certificate-viewer.entry.js.map +1 -1
  84. package/dist/esm/peculiar-certificates-viewer.entry.js +2 -3
  85. package/dist/esm/peculiar-certificates-viewer.entry.js.map +1 -1
  86. package/dist/esm/pkcs10_certificate_request-3763c2af.js +146 -0
  87. package/dist/esm/pkcs10_certificate_request-3763c2af.js.map +1 -0
  88. package/dist/esm/read_file-bb0b1450.js +110 -0
  89. package/dist/esm/read_file-bb0b1450.js.map +1 -0
  90. package/dist/esm/{x509_certificate-ad568d3a.js → x509_certificate-47b4c5ee.js} +15 -14
  91. package/dist/esm/x509_certificate-47b4c5ee.js.map +1 -0
  92. package/dist/esm/x509_crl-ba76d3ed.js +176 -0
  93. package/dist/esm/x509_crl-ba76d3ed.js.map +1 -0
  94. package/dist/esm-es5/{certification_request-2c054ece.js → certification_request-08b4deb8.js} +61 -23
  95. package/dist/esm-es5/certification_request-08b4deb8.js.map +1 -0
  96. package/dist/esm-es5/index.js +1 -1
  97. package/dist/esm-es5/{miscellaneous-0e98b5bc.js → miscellaneous-d4bbc6f2.js} +2 -2
  98. package/dist/esm-es5/{miscellaneous-0e98b5bc.js.map → miscellaneous-d4bbc6f2.js.map} +1 -1
  99. package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js +2 -2
  100. package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js.map +1 -1
  101. package/dist/esm-es5/peculiar-certificate-decoder.entry.js +2 -9
  102. package/dist/esm-es5/peculiar-certificate-decoder.entry.js.map +1 -1
  103. package/dist/esm-es5/peculiar-certificate-viewer.entry.js +2 -2
  104. package/dist/esm-es5/peculiar-certificate-viewer.entry.js.map +1 -1
  105. package/dist/esm-es5/peculiar-certificates-viewer.entry.js +1 -1
  106. package/dist/esm-es5/pkcs10_certificate_request-3763c2af.js +19 -0
  107. package/dist/esm-es5/pkcs10_certificate_request-3763c2af.js.map +1 -0
  108. package/dist/esm-es5/read_file-bb0b1450.js +12 -0
  109. package/dist/esm-es5/read_file-bb0b1450.js.map +1 -0
  110. package/dist/esm-es5/x509_certificate-47b4c5ee.js +12 -0
  111. package/dist/esm-es5/x509_certificate-47b4c5ee.js.map +1 -0
  112. package/dist/esm-es5/x509_crl-ba76d3ed.js +19 -0
  113. package/dist/esm-es5/x509_crl-ba76d3ed.js.map +1 -0
  114. package/dist/peculiar/index.esm.js +1 -1
  115. package/dist/peculiar/{p-496449cf.system.entry.js → p-0f3787cf.system.entry.js} +2 -2
  116. package/dist/peculiar/p-1818204e.system.js +13 -0
  117. package/dist/peculiar/p-1818204e.system.js.map +1 -0
  118. package/dist/peculiar/p-25a532a3.js +12 -0
  119. package/dist/peculiar/p-25a532a3.js.map +1 -0
  120. package/dist/peculiar/p-28b4d316.system.js +5 -0
  121. package/dist/peculiar/p-30e18f2d.system.js +20 -0
  122. package/dist/peculiar/p-30e18f2d.system.js.map +1 -0
  123. package/dist/peculiar/p-31d5da39.js +12 -0
  124. package/dist/peculiar/p-31d5da39.js.map +1 -0
  125. package/dist/peculiar/{p-5cf4562f.system.entry.js → p-364df80d.system.entry.js} +16 -16
  126. package/dist/peculiar/p-364df80d.system.entry.js.map +1 -0
  127. package/dist/peculiar/p-4ee5140c.system.js +19 -0
  128. package/dist/peculiar/p-4ee5140c.system.js.map +1 -0
  129. package/dist/peculiar/p-55303453.system.js +12 -0
  130. package/dist/peculiar/p-55303453.system.js.map +1 -0
  131. package/dist/peculiar/p-6acca6ea.js +135 -0
  132. package/dist/peculiar/p-6acca6ea.js.map +1 -0
  133. package/dist/peculiar/p-78a6b479.js +19 -0
  134. package/dist/peculiar/p-78a6b479.js.map +1 -0
  135. package/dist/peculiar/p-82005297.system.entry.js +5 -0
  136. package/dist/peculiar/p-82005297.system.entry.js.map +1 -0
  137. package/dist/peculiar/p-82e4faf0.js +19 -0
  138. package/dist/peculiar/p-82e4faf0.js.map +1 -0
  139. package/dist/peculiar/p-8393399a.system.js +1 -1
  140. package/dist/peculiar/{p-c23fd001.entry.js → p-84e3e94a.entry.js} +16 -16
  141. package/dist/peculiar/p-84e3e94a.entry.js.map +1 -0
  142. package/dist/peculiar/p-8db3e1fd.system.entry.js +5 -0
  143. package/dist/peculiar/{p-00302a20.system.entry.js.map → p-8db3e1fd.system.entry.js.map} +1 -1
  144. package/dist/peculiar/p-9c8dc738.entry.js +5 -0
  145. package/dist/peculiar/{p-54b37ef9.entry.js.map → p-9c8dc738.entry.js.map} +1 -1
  146. package/dist/peculiar/{p-75166532.js → p-b0c963b1.js} +23 -23
  147. package/dist/peculiar/{p-75166532.js.map → p-b0c963b1.js.map} +1 -1
  148. package/dist/peculiar/{p-ff3ced3c.system.js → p-c10bfa6a.system.js} +45 -45
  149. package/dist/peculiar/{p-ff3ced3c.system.js.map → p-c10bfa6a.system.js.map} +1 -1
  150. package/dist/peculiar/p-c3fce3f5.entry.js +5 -0
  151. package/dist/peculiar/p-c3fce3f5.entry.js.map +1 -0
  152. package/dist/peculiar/p-df2c8826.system.js +135 -0
  153. package/dist/peculiar/p-df2c8826.system.js.map +1 -0
  154. package/dist/peculiar/{p-5f3b0fc7.entry.js → p-f8efbe93.entry.js} +3 -3
  155. package/dist/peculiar/peculiar.esm.js +1 -1
  156. package/dist/types/components/certificate-decoder/certificate-decoder.d.ts +3 -3
  157. package/dist/types/components/certificate-details-parts/miscellaneous.d.ts +2 -2
  158. package/dist/types/components/crl-viewer/crl-viewer.d.ts +2 -2
  159. package/dist/types/components/csr-viewer/csr-viewer.d.ts +2 -2
  160. package/dist/types/crypto/index.d.ts +2 -2
  161. package/dist/types/crypto/{csr.d.ts → pkcs10_certificate_request.d.ts} +4 -5
  162. package/dist/types/crypto/x509_attribute_certificate.d.ts +3 -4
  163. package/dist/types/crypto/x509_certificate.d.ts +3 -4
  164. package/dist/types/crypto/{crl.d.ts → x509_crl.d.ts} +4 -5
  165. package/dist/types/index.d.ts +2 -0
  166. package/hydrate/index.js +67 -59
  167. package/package.json +3 -3
  168. package/dist/cjs/certification_request-b0d72620.js.map +0 -1
  169. package/dist/cjs/crl-812dd7a1.js +0 -312
  170. package/dist/cjs/crl-812dd7a1.js.map +0 -1
  171. package/dist/cjs/download-6f550549.js +0 -476
  172. package/dist/cjs/download-6f550549.js.map +0 -1
  173. package/dist/cjs/miscellaneous-dcb93a5b.js.map +0 -1
  174. package/dist/cjs/x509_certificate-ebf4cbd4.js.map +0 -1
  175. package/dist/collection/crypto/crl.js.map +0 -1
  176. package/dist/collection/crypto/csr.js.map +0 -1
  177. package/dist/esm/certification_request-2c054ece.js.map +0 -1
  178. package/dist/esm/crl-a7318483.js +0 -308
  179. package/dist/esm/crl-a7318483.js.map +0 -1
  180. package/dist/esm/download-8c128e2e.js +0 -470
  181. package/dist/esm/download-8c128e2e.js.map +0 -1
  182. package/dist/esm/miscellaneous-0e98b5bc.js.map +0 -1
  183. package/dist/esm/x509_certificate-ad568d3a.js.map +0 -1
  184. package/dist/esm-es5/certification_request-2c054ece.js.map +0 -1
  185. package/dist/esm-es5/crl-a7318483.js +0 -33
  186. package/dist/esm-es5/crl-a7318483.js.map +0 -1
  187. package/dist/esm-es5/download-8c128e2e.js +0 -43
  188. package/dist/esm-es5/download-8c128e2e.js.map +0 -1
  189. package/dist/esm-es5/x509_certificate-ad568d3a.js +0 -12
  190. package/dist/esm-es5/x509_certificate-ad568d3a.js.map +0 -1
  191. package/dist/peculiar/p-00302a20.system.entry.js +0 -5
  192. package/dist/peculiar/p-0dbc8238.system.js +0 -13
  193. package/dist/peculiar/p-0dbc8238.system.js.map +0 -1
  194. package/dist/peculiar/p-1302bd67.js +0 -97
  195. package/dist/peculiar/p-1302bd67.js.map +0 -1
  196. package/dist/peculiar/p-1f766dd5.js +0 -43
  197. package/dist/peculiar/p-1f766dd5.js.map +0 -1
  198. package/dist/peculiar/p-3d44cbd2.js +0 -12
  199. package/dist/peculiar/p-3d44cbd2.js.map +0 -1
  200. package/dist/peculiar/p-3f9af5f5.system.js +0 -97
  201. package/dist/peculiar/p-3f9af5f5.system.js.map +0 -1
  202. package/dist/peculiar/p-54b37ef9.entry.js +0 -5
  203. package/dist/peculiar/p-5c6f9a14.entry.js +0 -12
  204. package/dist/peculiar/p-5c6f9a14.entry.js.map +0 -1
  205. package/dist/peculiar/p-5cf4562f.system.entry.js.map +0 -1
  206. package/dist/peculiar/p-6680f277.system.entry.js +0 -13
  207. package/dist/peculiar/p-6680f277.system.entry.js.map +0 -1
  208. package/dist/peculiar/p-924790f5.js +0 -33
  209. package/dist/peculiar/p-924790f5.js.map +0 -1
  210. package/dist/peculiar/p-b2890eb8.system.js +0 -5
  211. package/dist/peculiar/p-c156b495.system.js +0 -33
  212. package/dist/peculiar/p-c156b495.system.js.map +0 -1
  213. package/dist/peculiar/p-c23fd001.entry.js.map +0 -1
  214. package/dist/peculiar/p-dde511c8.system.js +0 -43
  215. package/dist/peculiar/p-dde511c8.system.js.map +0 -1
  216. /package/dist/peculiar/{p-496449cf.system.entry.js.map → p-0f3787cf.system.entry.js.map} +0 -0
  217. /package/dist/peculiar/{p-b2890eb8.system.js.map → p-28b4d316.system.js.map} +0 -0
  218. /package/dist/peculiar/{p-5f3b0fc7.entry.js.map → p-f8efbe93.entry.js.map} +0 -0
@@ -6,11 +6,11 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-e2ae280a.js');
9
- const certification_request = require('./certification_request-b0d72620.js');
10
- const download = require('./download-6f550549.js');
11
- const crl = require('./crl-812dd7a1.js');
12
- const miscellaneous = require('./miscellaneous-dcb93a5b.js');
9
+ const certification_request = require('./certification_request-815ec558.js');
10
+ const x509_crl = require('./x509_crl-86b6e71d.js');
11
+ const miscellaneous = require('./miscellaneous-9a573276.js');
13
12
  const button = require('./button-87086210.js');
13
+ const pkcs10_certificate_request = require('./pkcs10_certificate_request-0ebc0023.js');
14
14
  require('./link-a3d3799d.js');
15
15
  require('./download-820d66ba.js');
16
16
 
@@ -263,7 +263,7 @@ const RevokedCertificates = (props) => {
263
263
  return [
264
264
  index.h(miscellaneous.RowTitle, { value: certification_request.l10n.getString('revokedCertificates') }),
265
265
  revokedCertificates.map((certificate) => ([
266
- index.h(miscellaneous.RowValue, { name: certification_request.l10n.getString('serialNumber'), value: download.Convert_1.ToHex(certificate.userCertificate), monospace: true }),
266
+ index.h(miscellaneous.RowValue, { name: certification_request.l10n.getString('serialNumber'), value: certification_request.Convert_1.ToHex(certificate.userCertificate), monospace: true }),
267
267
  index.h(miscellaneous.RowValue, { name: certification_request.l10n.getString('revocationDate'), value: certification_request.dateShort(certificate.revocationDate.getTime()) }),
268
268
  (certificate.crlEntryExtensions && certificate.crlEntryExtensions.length && ([
269
269
  index.h(miscellaneous.RowValue, { name: `${certification_request.l10n.getString('crlEntryExtensions')}:`, value: "" }),
@@ -281,7 +281,7 @@ const RevokedCertificates = (props) => {
281
281
  index.h(miscellaneous.GeneralNamePart, { generalName: gn, getDNSNameLink: getDNSNameLink, getIPAddressLink: getIPAddressLink })))),
282
282
  ]);
283
283
  }
284
- return (index.h(miscellaneous.RowValue, { name: miscellaneous.getStringByOID(extension.asn.extnID), value: download.Convert_1.ToHex(extension.asn.extnValue), monospace: true }));
284
+ return (index.h(miscellaneous.RowValue, { name: miscellaneous.getStringByOID(extension.asn.extnID), value: certification_request.Convert_1.ToHex(extension.asn.extnValue), monospace: true }));
285
285
  })),
286
286
  ])),
287
287
  index.h("tr", null,
@@ -311,7 +311,7 @@ const Holder = (props) => {
311
311
  index.h("tr", null,
312
312
  index.h("td", null),
313
313
  index.h("td", null)),
314
- index.h(miscellaneous.RowValue, { name: certification_request.l10n.getString('serialNumber'), value: download.Convert_1.ToHex(baseCertificateID.serial), monospace: true }),
314
+ index.h(miscellaneous.RowValue, { name: certification_request.l10n.getString('serialNumber'), value: certification_request.Convert_1.ToHex(baseCertificateID.serial), monospace: true }),
315
315
  index.h("tr", null,
316
316
  index.h("td", null),
317
317
  index.h("td", null)),
@@ -320,7 +320,7 @@ const Holder = (props) => {
320
320
  index.h(miscellaneous.RowValue, { name: certification_request.l10n.getString('digestInfo'), value: "" }),
321
321
  index.h(miscellaneous.TableRowTable, null,
322
322
  index.h(miscellaneous.RowValue, { name: certification_request.l10n.getString('algorithm'), value: miscellaneous.getStringByOID(objectDigestInfo.digestAlgorithm.algorithm) }),
323
- index.h(miscellaneous.RowValue, { name: certification_request.l10n.getString('value'), value: download.Convert_1.ToHex(objectDigestInfo.objectDigest), monospace: true }),
323
+ index.h(miscellaneous.RowValue, { name: certification_request.l10n.getString('value'), value: certification_request.Convert_1.ToHex(objectDigestInfo.objectDigest), monospace: true }),
324
324
  index.h(miscellaneous.RowValue, { name: certification_request.l10n.getString('type'), value: objectDigestInfo.digestedObjectType })),
325
325
  ]),
326
326
  ];
@@ -393,11 +393,11 @@ const AttributeCertificateViewer = class {
393
393
  async decodeCertificate(certificate) {
394
394
  this.isDecodeInProcess = true;
395
395
  try {
396
- if (certificate instanceof crl.X509AttributeCertificate) {
396
+ if (certificate instanceof x509_crl.X509AttributeCertificate) {
397
397
  this.certificateDecoded = certificate;
398
398
  }
399
399
  else if (typeof certificate === 'string') {
400
- this.certificateDecoded = new crl.X509AttributeCertificate(certificate);
400
+ this.certificateDecoded = new x509_crl.X509AttributeCertificate(certificate);
401
401
  }
402
402
  else {
403
403
  return;
@@ -423,8 +423,8 @@ const AttributeCertificateViewer = class {
423
423
  }
424
424
  return;
425
425
  }
426
- if (newValue instanceof crl.X509AttributeCertificate
427
- && oldValue instanceof crl.X509AttributeCertificate) {
426
+ if (newValue instanceof x509_crl.X509AttributeCertificate
427
+ && oldValue instanceof x509_crl.X509AttributeCertificate) {
428
428
  if (newValue.serialNumber !== oldValue.serialNumber) {
429
429
  this.decodeCertificate(newValue);
430
430
  }
@@ -493,11 +493,11 @@ const CrlViewer = class {
493
493
  async decodeCertificate(certificate) {
494
494
  this.isDecodeInProcess = true;
495
495
  try {
496
- if (certificate instanceof crl.CRL) {
496
+ if (certificate instanceof x509_crl.X509Crl) {
497
497
  this.certificateDecoded = certificate;
498
498
  }
499
499
  else if (typeof certificate === 'string') {
500
- this.certificateDecoded = new crl.CRL(certificate);
500
+ this.certificateDecoded = new x509_crl.X509Crl(certificate);
501
501
  }
502
502
  else {
503
503
  return;
@@ -525,8 +525,8 @@ const CrlViewer = class {
525
525
  }
526
526
  return;
527
527
  }
528
- if (newValue instanceof crl.CRL
529
- && oldValue instanceof crl.CRL) {
528
+ if (newValue instanceof x509_crl.X509Crl
529
+ && oldValue instanceof x509_crl.X509Crl) {
530
530
  if (newValue.commonName !== oldValue.commonName) {
531
531
  this.decodeCertificate(newValue);
532
532
  }
@@ -598,11 +598,11 @@ const CsrViewer = class {
598
598
  async decodeCertificate(certificate) {
599
599
  this.isDecodeInProcess = true;
600
600
  try {
601
- if (certificate instanceof crl.CSR) {
601
+ if (certificate instanceof pkcs10_certificate_request.Pkcs10CertificateRequest) {
602
602
  this.certificateDecoded = certificate;
603
603
  }
604
604
  else if (typeof certificate === 'string') {
605
- this.certificateDecoded = new crl.CSR(certificate);
605
+ this.certificateDecoded = new pkcs10_certificate_request.Pkcs10CertificateRequest(certificate);
606
606
  }
607
607
  else {
608
608
  return;
@@ -627,8 +627,8 @@ const CsrViewer = class {
627
627
  }
628
628
  return;
629
629
  }
630
- if (newValue instanceof crl.CSR
631
- && oldValue instanceof crl.CSR) {
630
+ if (newValue instanceof pkcs10_certificate_request.Pkcs10CertificateRequest
631
+ && oldValue instanceof pkcs10_certificate_request.Pkcs10CertificateRequest) {
632
632
  if (newValue.commonName !== oldValue.commonName) {
633
633
  this.decodeCertificate(newValue);
634
634
  }
@@ -1 +1 @@
1
- {"file":"peculiar-attribute-certificate-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.cjs.js","mappings":"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","names":["h","RowValue","getStringByOID","OIDs","camelCaseToWords","TableRowTable","GeneralNamePart","l10n","RowTitle","Name","ActivityDescription","WebGDPR","InsuranceValue","TypeRelationship","ValuationRanking","UnstructuredName","ChallengePassword","Convert","dateShort","CRLReason","InvalidityDate","CertificateIssuer","certificateViewerCss","X509AttributeCertificate","Typography","Host","BasicInformation","Signature","Thumbprints","getLEILink","getDNSNameLink","getIPAddressLink","Extensions","Miscellaneous","CRL","IssuerName","CSR","SubjectName","PublicKey"],"sources":["src/components/certificate-details-parts/attributes/basic_attribute.tsx","src/components/certificate-details-parts/attributes/name_part.tsx","src/components/certificate-details-parts/attributes/name_attribute.tsx","src/components/certificate-details-parts/attributes/activity_description_attribute.tsx","src/components/certificate-details-parts/attributes/web_gdpr_attribute.tsx","src/components/certificate-details-parts/attributes/insurance_value_attribute.tsx","src/components/certificate-details-parts/attributes/type_relationship_attribute.tsx","src/components/certificate-details-parts/attributes/valuation_ranking_attribute.tsx","src/components/certificate-details-parts/attributes/as_string_attribute.tsx","src/components/certificate-details-parts/attributes/unstructured_name_attribute.tsx","src/components/certificate-details-parts/attributes/challenge_password_attribute.tsx","src/components/certificate-details-parts/attributes/index.tsx","src/components/certificate-details-parts/revoked_certificates.tsx","src/components/certificate-details-parts/holder.tsx","src/components/certificate-details-parts/issuer.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-attribute-certificate-viewer&encapsulation=shadow","src/components/attribute-certificate-viewer/attribute-certificate-viewer.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-crl-viewer&encapsulation=shadow","src/components/crl-viewer/crl-viewer.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-csr-viewer&encapsulation=shadow","src/components/csr-viewer/csr-viewer.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\n\nimport type { Attribute, TAttributeValue } from '../../../crypto/attribute';\nimport { getStringByOID } from '../../../utils';\nimport { RowValue } from '../row';\n\ninterface IBasicAttributeProps {\n attribute: Attribute<TAttributeValue>;\n}\n\nexport const BasicAttribute: FunctionalComponent<IBasicAttributeProps> = (props, children) => {\n const { attribute } = props;\n\n return ([\n <RowValue\n name=\"Name\"\n value={getStringByOID(attribute.asn.type)}\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 type { Name } from '@peculiar/asn1-x509';\n\nimport { OIDs } from '../../../constants/oids';\nimport { RowValue } from '../row';\n\ninterface INamePartProps {\n name: Name;\n}\n\nexport const NamePart: FunctionalComponent<INamePartProps> = (props): any[] => {\n const { name } = props;\n\n if (!name) {\n return null;\n }\n\n return name.map((relativeDistinguishedName) => (\n relativeDistinguishedName.map((attributeTypeAndValue) => (\n <RowValue\n name={OIDs[attributeTypeAndValue.type] || attributeTypeAndValue.type}\n value={attributeTypeAndValue.value.toString()}\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 type { Name } from '@peculiar/asn1-x509';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { BasicAttribute } from './basic_attribute';\nimport { NamePart } from './name_part';\n\ninterface INameAttributeProps {\n attribute: Attribute<Name>;\n}\n\nexport const NameAttribute:\nFunctionalComponent<INameAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <NamePart\n name={attribute.value}\n />\n </BasicAttribute>\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 type { ActivityDescription } from '@peculiar/asn1-ntqwac';\n\nimport { Attribute } from '../../../crypto/attribute';\nimport { camelCaseToWords } from '../../../utils';\nimport { GeneralNamePart } from '../extensions/general_name_part';\nimport { RowValue, TableRowTable } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IActivityDescriptionAttributeProps {\n attribute: Attribute<ActivityDescription>;\n}\n\nexport const ActivityDescriptionAttribute:\nFunctionalComponent<IActivityDescriptionAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name={camelCaseToWords('codeAuthority')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.codeAuthority}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('codeId')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.codeId}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('shortName')}\n value={attribute.value.shortName}\n />\n <RowValue\n name={camelCaseToWords('shortDescription')}\n value={attribute.value.shortDescription}\n />\n </BasicAttribute>\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 type { WebGDPR } from '@peculiar/asn1-ntqwac';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { camelCaseToWords } from '../../../utils';\nimport { GeneralNamePart } from '../extensions/general_name_part';\nimport { RowValue, TableRowTable } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IWebGdprAttributeProps {\n attribute: Attribute<WebGDPR>;\n}\n\nexport const WebGdprAttribute:\nFunctionalComponent<IWebGdprAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name={camelCaseToWords('assessmentAuthority')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.assessmentAuthority}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('assessmentLocation')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.assessmentLocation}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('assessmentRef')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.assessmentRef}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('dataStorageTerritory')}\n value={attribute.value.dataStorageTerritory}\n />\n <RowValue\n name={camelCaseToWords('description')}\n value={attribute.value.description}\n />\n </BasicAttribute>\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 type { InsuranceValue } from '@peculiar/asn1-ntqwac';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IInsuranceValueAttributeProps {\n attribute: Attribute<InsuranceValue>;\n}\n\nexport const InsuranceValueAttribute:\nFunctionalComponent<IInsuranceValueAttributeProps> = (props) => {\n const { attribute } = props;\n const value = `${attribute.value.base} * 10^${attribute.value.degree} ${attribute.value.location}`;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={value}\n />\n </BasicAttribute>\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 type { TypeRelationship } from '@peculiar/asn1-ntqwac';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { l10n } from '../../../utils';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface ITypeRelationshipAttributeProps {\n attribute: Attribute<TypeRelationship>;\n}\n\nexport const TypeRelationshipAttribute:\nFunctionalComponent<ITypeRelationshipAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n {Object.keys(attribute.value).map((keyName) => (\n <RowValue\n name={keyName}\n value={attribute.value[keyName].toNumber() ? l10n.getString('yes') : l10n.getString('no')}\n />\n ))}\n </BasicAttribute>\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 type { ValuationRanking } from '@peculiar/asn1-ntqwac';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IValuationRankingAttributeProps {\n attribute: Attribute<ValuationRanking>;\n}\n\nconst getValueRank = (value: number): string => {\n let ratio = 1;\n\n if (value / 100 > 1) {\n ratio = 100;\n } else if (value / 10 > 1) {\n ratio = 10;\n }\n\n return `${value}/${5 * ratio}`;\n};\n\nexport const ValuationRankingAttribute:\nFunctionalComponent<IValuationRankingAttributeProps> = (props) => {\n const { attribute } = props;\n const values = Object.keys(attribute.value).map((keyName) => ([\n getValueRank(attribute.value[keyName]),\n <br />,\n ]));\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={values as any}\n />\n </BasicAttribute>\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 { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IAsStringAttributeProps {\n attribute: Attribute<string>;\n}\n\nexport const AsStringAttribute:\nFunctionalComponent<IAsStringAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={attribute.value}\n monospace\n />\n </BasicAttribute>\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 type { UnstructuredName } from '@peculiar/asn1-pkcs9';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IUnstructuredNameAttributeProps {\n attribute: Attribute<UnstructuredName>;\n}\n\nexport const UnstructuredNameAttribute:\nFunctionalComponent<IUnstructuredNameAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={attribute.value.utf8String}\n />\n </BasicAttribute>\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 type { ChallengePassword } from '@peculiar/asn1-pkcs9';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IChallengePasswordAttributeProps {\n attribute: Attribute<ChallengePassword>;\n}\n\nexport const ChallengePasswordAttribute:\nFunctionalComponent<IChallengePasswordAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={attribute.value.toString()}\n />\n </BasicAttribute>\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 { Name } from '@peculiar/asn1-x509';\nimport {\n TypeRelationship,\n ActivityDescription,\n WebGDPR,\n InsuranceValue,\n ValuationRanking,\n} from '@peculiar/asn1-ntqwac';\nimport {\n UnstructuredName,\n ChallengePassword,\n} from '@peculiar/asn1-pkcs9';\n\nimport type { Attribute, TAttributeValue } from '../../../crypto/attribute';\nimport { RowTitle } from '../row';\nimport { NameAttribute } from './name_attribute';\nimport { ActivityDescriptionAttribute } from './activity_description_attribute';\nimport { WebGdprAttribute } from './web_gdpr_attribute';\nimport { InsuranceValueAttribute } from './insurance_value_attribute';\nimport { TypeRelationshipAttribute } from './type_relationship_attribute';\nimport { ValuationRankingAttribute } from './valuation_ranking_attribute';\nimport { BasicAttribute } from './basic_attribute';\nimport { AsStringAttribute } from './as_string_attribute';\nimport { UnstructuredNameAttribute } from './unstructured_name_attribute';\nimport { ChallengePasswordAttribute } from './challenge_password_attribute';\n\ninterface IAttributesPtops extends\n IGeneralNameOptions,\n ILeiOptions,\n IAuthorityKeyIdentifierOptions,\n ISubjectKeyIdentifierOptions {\n attributes: Attribute<TAttributeValue>[];\n}\n\nexport const Attributes: FunctionalComponent<IAttributesPtops> = (props) => {\n const { attributes } = props;\n\n if (!attributes || !attributes.length) {\n return null;\n }\n\n return ([\n <RowTitle\n value=\"Attributes\"\n />,\n attributes.map((attribute) => {\n try {\n if (attribute.value instanceof Name) {\n return (\n <NameAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof ActivityDescription) {\n return (\n <ActivityDescriptionAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof WebGDPR) {\n return (\n <WebGdprAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof InsuranceValue) {\n return (\n <InsuranceValueAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof TypeRelationship) {\n return (\n <TypeRelationshipAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof ValuationRanking) {\n return (\n <ValuationRankingAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof UnstructuredName) {\n return (\n <UnstructuredNameAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof ChallengePassword) {\n return (\n <ChallengePasswordAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (typeof attribute.value === 'string') {\n return (\n <AsStringAttribute\n attribute={attribute as any}\n />\n );\n }\n\n return (\n <BasicAttribute\n attribute={attribute}\n />\n );\n } catch (error) {\n console.error('Error render attribute:', attribute.asn.type);\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';\nimport { CRLReason, InvalidityDate, CertificateIssuer } from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\n\nimport { dateShort, l10n, getStringByOID } from '../../utils';\nimport { IRevokedCertificate } from '../../crypto';\nimport { GeneralNamePart } from './extensions/general_name_part';\nimport { RowTitle, RowValue, TableRowTable } from './row';\n\ninterface IRevokedCertificatesProps extends IGeneralNameOptions {\n revokedCertificates: IRevokedCertificate[];\n}\n\nexport const RevokedCertificates: FunctionalComponent<IRevokedCertificatesProps> = (props) => {\n const {\n revokedCertificates,\n getDNSNameLink,\n getIPAddressLink,\n } = props;\n\n if (!revokedCertificates || !revokedCertificates.length) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('revokedCertificates')}\n />,\n revokedCertificates.map((certificate) => ([\n <RowValue\n name={l10n.getString('serialNumber')}\n value={Convert.ToHex(certificate.userCertificate)}\n monospace\n />,\n <RowValue\n name={l10n.getString('revocationDate')}\n value={dateShort(certificate.revocationDate.getTime())}\n />,\n (certificate.crlEntryExtensions && certificate.crlEntryExtensions.length && ([\n <RowValue\n name={`${l10n.getString('crlEntryExtensions')}:`}\n value=\"\"\n />,\n <TableRowTable>\n {\n certificate.crlEntryExtensions.map((extension) => {\n if (extension.value instanceof CRLReason) {\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={extension.value.toJSON() || extension.value.reason}\n />\n );\n }\n\n if (extension.value instanceof InvalidityDate) {\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={extension.value.value.getTime()}\n />\n );\n }\n\n if (extension.value instanceof CertificateIssuer && extension.value.length) {\n return ([\n <RowValue\n name={`${getStringByOID(extension.asn.extnID)}:`}\n value=\"\"\n />,\n extension.value.map((gn) => (\n <TableRowTable>\n <GeneralNamePart\n generalName={gn}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n />\n </TableRowTable>\n )),\n ]);\n }\n\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={Convert.ToHex(extension.asn.extnValue)}\n monospace\n />\n );\n })\n }\n </TableRowTable>,\n ])),\n <tr>\n <td colSpan={2} class=\"divider\">\n <span />\n </td>\n </tr>,\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 type { X509AttributeCertificate } from '../../crypto';\nimport { l10n, getStringByOID } from '../../utils';\nimport { RowTitle, RowValue, TableRowTable } from './row';\nimport { GeneralNamePart } from './extensions/general_name_part';\n\ninterface IHolderProps {\n holder: X509AttributeCertificate['holder'];\n}\n\nexport const Holder: FunctionalComponent<IHolderProps> = (props) => {\n const { holder } = props;\n\n if (!holder) {\n return null;\n }\n\n const { baseCertificateID, objectDigestInfo } = holder;\n\n return [\n <RowTitle\n value={l10n.getString('holder')}\n />,\n baseCertificateID && ([\n baseCertificateID.issuer.map((item) => (\n <GeneralNamePart\n generalName={item}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n )),\n <tr>\n <td />\n <td />\n </tr>,\n <RowValue\n name={l10n.getString('serialNumber')}\n value={Convert.ToHex(baseCertificateID.serial)}\n monospace\n />,\n <tr>\n <td />\n <td />\n </tr>,\n ]),\n objectDigestInfo && ([\n <RowValue\n name={l10n.getString('digestInfo')}\n value=\"\"\n />,\n <TableRowTable>\n <RowValue\n name={l10n.getString('algorithm')}\n value={getStringByOID(objectDigestInfo.digestAlgorithm.algorithm)}\n />\n <RowValue\n name={l10n.getString('value')}\n value={Convert.ToHex(objectDigestInfo.objectDigest)}\n monospace\n />\n <RowValue\n name={l10n.getString('type')}\n value={objectDigestInfo.digestedObjectType}\n />\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 { X509AttributeCertificate } from '../../crypto';\nimport { l10n } from '../../utils';\nimport { RowTitle } from './row';\nimport { GeneralNamePart } from './extensions/general_name_part';\n\ninterface IIssuerProps {\n issuer: X509AttributeCertificate['issuer'];\n}\n\nexport const Issuer: FunctionalComponent<IIssuerProps> = (props) => {\n const { issuer } = props;\n\n if (!issuer) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('issuer')}\n />,\n issuer.map((item) => (\n <GeneralNamePart\n generalName={item}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n )),\n ];\n};\n","@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 Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\n\nimport { X509AttributeCertificate } from '../../crypto';\nimport { getDNSNameLink, getIPAddressLink, getLEILink } from '../../utils/third_party_links';\nimport {\n BasicInformation,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n Attributes,\n Holder,\n Issuer,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type AttributeCertificateProp = string | X509AttributeCertificate;\n\n@Component({\n tag: 'peculiar-attribute-certificate-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class AttributeCertificateViewer {\n private certificateDecoded: X509AttributeCertificate;\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() certificate: AttributeCertificateProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() 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 * 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: AttributeCertificateProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509AttributeCertificate) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509AttributeCertificate(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseExtensions();\n this.certificateDecoded.parseAttributes();\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(\n newValue: AttributeCertificateProp,\n oldValue: AttributeCertificateProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof X509AttributeCertificate\n && oldValue instanceof X509AttributeCertificate\n ) {\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 // 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 attribute 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 attribute 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 <Issuer\n issuer={this.certificateDecoded.issuer}\n />\n\n <Holder\n holder={this.certificateDecoded.holder}\n />\n\n <Signature\n signature={this.certificateDecoded.signature}\n />\n\n <Thumbprints\n thumbprints={this.certificateDecoded.thumbprints}\n />\n\n <Attributes\n attributes={this.certificateDecoded.attributes}\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 <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","@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 Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\n\nimport { CRL } from '../../crypto';\nimport { getDNSNameLink, getIPAddressLink, getLEILink } from '../../utils/third_party_links';\nimport {\n BasicInformation,\n IssuerName,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n RevokedCertificates,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type CrlProp = string | CRL;\n\n@Component({\n tag: 'peculiar-crl-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class CrlViewer {\n private certificateDecoded: CRL;\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: CrlProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() 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 * 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: CrlProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof CRL) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new CRL(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 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 getIssuerDnLink() {\n return this.issuerDnLink;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(\n newValue: CrlProp,\n oldValue: CrlProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof CRL\n && oldValue instanceof CRL\n ) {\n if (newValue.commonName !== oldValue.commonName) {\n this.decodeCertificate(newValue);\n }\n }\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 revocation list.\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 revocation list 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 <IssuerName\n name={this.certificateDecoded.issuer}\n issuerDnLink={this.getIssuerDnLink()}\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 />\n\n <RevokedCertificates\n revokedCertificates={this.certificateDecoded.revokedCertificates}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n","@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 Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\n\nimport { CSR } from '../../crypto';\nimport { getDNSNameLink, getIPAddressLink, getLEILink } from '../../utils/third_party_links';\nimport {\n BasicInformation,\n SubjectName,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n PublicKey,\n Attributes,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type CsrProp = string | CSR;\n\n@Component({\n tag: 'peculiar-csr-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class CsrViewer {\n private certificateDecoded: CSR;\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: CsrProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() download?: boolean;\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 * 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: CsrProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof CSR) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new CSR(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseAttributes();\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(\n newValue: CsrProp,\n oldValue: CsrProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof CSR\n && oldValue instanceof CSR\n ) {\n if (newValue.commonName !== oldValue.commonName) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n private getAuthKeyIdParentLink = (value: string) => value;\n\n // eslint-disable-next-line class-methods-use-this\n private getAuthKeyIdSiblingsLink = (value: string) => 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 // 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 request.\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 request 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 <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 <Attributes\n attributes={this.certificateDecoded.attributes}\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 <Extensions\n extensions={this.certificateDecoded.extensions}\n title=\"Extension Request\"\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"],"version":3}
1
+ {"file":"peculiar-attribute-certificate-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.cjs.js","mappings":"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","names":["h","RowValue","getStringByOID","OIDs","camelCaseToWords","TableRowTable","GeneralNamePart","l10n","RowTitle","Name","ActivityDescription","WebGDPR","InsuranceValue","TypeRelationship","ValuationRanking","UnstructuredName","ChallengePassword","Convert","dateShort","CRLReason","InvalidityDate","CertificateIssuer","certificateViewerCss","X509AttributeCertificate","Typography","Host","BasicInformation","Signature","Thumbprints","getLEILink","getDNSNameLink","getIPAddressLink","Extensions","Miscellaneous","X509Crl","IssuerName","Pkcs10CertificateRequest","SubjectName","PublicKey"],"sources":["src/components/certificate-details-parts/attributes/basic_attribute.tsx","src/components/certificate-details-parts/attributes/name_part.tsx","src/components/certificate-details-parts/attributes/name_attribute.tsx","src/components/certificate-details-parts/attributes/activity_description_attribute.tsx","src/components/certificate-details-parts/attributes/web_gdpr_attribute.tsx","src/components/certificate-details-parts/attributes/insurance_value_attribute.tsx","src/components/certificate-details-parts/attributes/type_relationship_attribute.tsx","src/components/certificate-details-parts/attributes/valuation_ranking_attribute.tsx","src/components/certificate-details-parts/attributes/as_string_attribute.tsx","src/components/certificate-details-parts/attributes/unstructured_name_attribute.tsx","src/components/certificate-details-parts/attributes/challenge_password_attribute.tsx","src/components/certificate-details-parts/attributes/index.tsx","src/components/certificate-details-parts/revoked_certificates.tsx","src/components/certificate-details-parts/holder.tsx","src/components/certificate-details-parts/issuer.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-attribute-certificate-viewer&encapsulation=shadow","src/components/attribute-certificate-viewer/attribute-certificate-viewer.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-crl-viewer&encapsulation=shadow","src/components/crl-viewer/crl-viewer.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-csr-viewer&encapsulation=shadow","src/components/csr-viewer/csr-viewer.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\n\nimport type { Attribute, TAttributeValue } from '../../../crypto/attribute';\nimport { getStringByOID } from '../../../utils';\nimport { RowValue } from '../row';\n\ninterface IBasicAttributeProps {\n attribute: Attribute<TAttributeValue>;\n}\n\nexport const BasicAttribute: FunctionalComponent<IBasicAttributeProps> = (props, children) => {\n const { attribute } = props;\n\n return ([\n <RowValue\n name=\"Name\"\n value={getStringByOID(attribute.asn.type)}\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 type { Name } from '@peculiar/asn1-x509';\n\nimport { OIDs } from '../../../constants/oids';\nimport { RowValue } from '../row';\n\ninterface INamePartProps {\n name: Name;\n}\n\nexport const NamePart: FunctionalComponent<INamePartProps> = (props): any[] => {\n const { name } = props;\n\n if (!name) {\n return null;\n }\n\n return name.map((relativeDistinguishedName) => (\n relativeDistinguishedName.map((attributeTypeAndValue) => (\n <RowValue\n name={OIDs[attributeTypeAndValue.type] || attributeTypeAndValue.type}\n value={attributeTypeAndValue.value.toString()}\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 type { Name } from '@peculiar/asn1-x509';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { BasicAttribute } from './basic_attribute';\nimport { NamePart } from './name_part';\n\ninterface INameAttributeProps {\n attribute: Attribute<Name>;\n}\n\nexport const NameAttribute:\nFunctionalComponent<INameAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <NamePart\n name={attribute.value}\n />\n </BasicAttribute>\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 type { ActivityDescription } from '@peculiar/asn1-ntqwac';\n\nimport { Attribute } from '../../../crypto/attribute';\nimport { camelCaseToWords } from '../../../utils';\nimport { GeneralNamePart } from '../extensions/general_name_part';\nimport { RowValue, TableRowTable } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IActivityDescriptionAttributeProps {\n attribute: Attribute<ActivityDescription>;\n}\n\nexport const ActivityDescriptionAttribute:\nFunctionalComponent<IActivityDescriptionAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name={camelCaseToWords('codeAuthority')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.codeAuthority}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('codeId')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.codeId}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('shortName')}\n value={attribute.value.shortName}\n />\n <RowValue\n name={camelCaseToWords('shortDescription')}\n value={attribute.value.shortDescription}\n />\n </BasicAttribute>\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 type { WebGDPR } from '@peculiar/asn1-ntqwac';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { camelCaseToWords } from '../../../utils';\nimport { GeneralNamePart } from '../extensions/general_name_part';\nimport { RowValue, TableRowTable } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IWebGdprAttributeProps {\n attribute: Attribute<WebGDPR>;\n}\n\nexport const WebGdprAttribute:\nFunctionalComponent<IWebGdprAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name={camelCaseToWords('assessmentAuthority')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.assessmentAuthority}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('assessmentLocation')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.assessmentLocation}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('assessmentRef')}\n value=\"\"\n />\n <TableRowTable>\n <GeneralNamePart\n generalName={attribute.value.assessmentRef}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n </TableRowTable>\n\n <RowValue\n name={camelCaseToWords('dataStorageTerritory')}\n value={attribute.value.dataStorageTerritory}\n />\n <RowValue\n name={camelCaseToWords('description')}\n value={attribute.value.description}\n />\n </BasicAttribute>\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 type { InsuranceValue } from '@peculiar/asn1-ntqwac';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IInsuranceValueAttributeProps {\n attribute: Attribute<InsuranceValue>;\n}\n\nexport const InsuranceValueAttribute:\nFunctionalComponent<IInsuranceValueAttributeProps> = (props) => {\n const { attribute } = props;\n const value = `${attribute.value.base} * 10^${attribute.value.degree} ${attribute.value.location}`;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={value}\n />\n </BasicAttribute>\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 type { TypeRelationship } from '@peculiar/asn1-ntqwac';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { l10n } from '../../../utils';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface ITypeRelationshipAttributeProps {\n attribute: Attribute<TypeRelationship>;\n}\n\nexport const TypeRelationshipAttribute:\nFunctionalComponent<ITypeRelationshipAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n {Object.keys(attribute.value).map((keyName) => (\n <RowValue\n name={keyName}\n value={attribute.value[keyName].toNumber() ? l10n.getString('yes') : l10n.getString('no')}\n />\n ))}\n </BasicAttribute>\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 type { ValuationRanking } from '@peculiar/asn1-ntqwac';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IValuationRankingAttributeProps {\n attribute: Attribute<ValuationRanking>;\n}\n\nconst getValueRank = (value: number): string => {\n let ratio = 1;\n\n if (value / 100 > 1) {\n ratio = 100;\n } else if (value / 10 > 1) {\n ratio = 10;\n }\n\n return `${value}/${5 * ratio}`;\n};\n\nexport const ValuationRankingAttribute:\nFunctionalComponent<IValuationRankingAttributeProps> = (props) => {\n const { attribute } = props;\n const values = Object.keys(attribute.value).map((keyName) => ([\n getValueRank(attribute.value[keyName]),\n <br />,\n ]));\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={values as any}\n />\n </BasicAttribute>\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 { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IAsStringAttributeProps {\n attribute: Attribute<string>;\n}\n\nexport const AsStringAttribute:\nFunctionalComponent<IAsStringAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={attribute.value}\n monospace\n />\n </BasicAttribute>\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 type { UnstructuredName } from '@peculiar/asn1-pkcs9';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IUnstructuredNameAttributeProps {\n attribute: Attribute<UnstructuredName>;\n}\n\nexport const UnstructuredNameAttribute:\nFunctionalComponent<IUnstructuredNameAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={attribute.value.utf8String}\n />\n </BasicAttribute>\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 type { ChallengePassword } from '@peculiar/asn1-pkcs9';\n\nimport type { Attribute } from '../../../crypto/attribute';\nimport { RowValue } from '../row';\nimport { BasicAttribute } from './basic_attribute';\n\ninterface IChallengePasswordAttributeProps {\n attribute: Attribute<ChallengePassword>;\n}\n\nexport const ChallengePasswordAttribute:\nFunctionalComponent<IChallengePasswordAttributeProps> = (props) => {\n const { attribute } = props;\n\n return (\n <BasicAttribute\n attribute={attribute}\n >\n <RowValue\n name=\"Value\"\n value={attribute.value.toString()}\n />\n </BasicAttribute>\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 { Name } from '@peculiar/asn1-x509';\nimport {\n TypeRelationship,\n ActivityDescription,\n WebGDPR,\n InsuranceValue,\n ValuationRanking,\n} from '@peculiar/asn1-ntqwac';\nimport {\n UnstructuredName,\n ChallengePassword,\n} from '@peculiar/asn1-pkcs9';\n\nimport type { Attribute, TAttributeValue } from '../../../crypto/attribute';\nimport { RowTitle } from '../row';\nimport { NameAttribute } from './name_attribute';\nimport { ActivityDescriptionAttribute } from './activity_description_attribute';\nimport { WebGdprAttribute } from './web_gdpr_attribute';\nimport { InsuranceValueAttribute } from './insurance_value_attribute';\nimport { TypeRelationshipAttribute } from './type_relationship_attribute';\nimport { ValuationRankingAttribute } from './valuation_ranking_attribute';\nimport { BasicAttribute } from './basic_attribute';\nimport { AsStringAttribute } from './as_string_attribute';\nimport { UnstructuredNameAttribute } from './unstructured_name_attribute';\nimport { ChallengePasswordAttribute } from './challenge_password_attribute';\n\ninterface IAttributesPtops extends\n IGeneralNameOptions,\n ILeiOptions,\n IAuthorityKeyIdentifierOptions,\n ISubjectKeyIdentifierOptions {\n attributes: Attribute<TAttributeValue>[];\n}\n\nexport const Attributes: FunctionalComponent<IAttributesPtops> = (props) => {\n const { attributes } = props;\n\n if (!attributes || !attributes.length) {\n return null;\n }\n\n return ([\n <RowTitle\n value=\"Attributes\"\n />,\n attributes.map((attribute) => {\n try {\n if (attribute.value instanceof Name) {\n return (\n <NameAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof ActivityDescription) {\n return (\n <ActivityDescriptionAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof WebGDPR) {\n return (\n <WebGdprAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof InsuranceValue) {\n return (\n <InsuranceValueAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof TypeRelationship) {\n return (\n <TypeRelationshipAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof ValuationRanking) {\n return (\n <ValuationRankingAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof UnstructuredName) {\n return (\n <UnstructuredNameAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (attribute.value instanceof ChallengePassword) {\n return (\n <ChallengePasswordAttribute\n attribute={attribute as any}\n />\n );\n }\n\n if (typeof attribute.value === 'string') {\n return (\n <AsStringAttribute\n attribute={attribute as any}\n />\n );\n }\n\n return (\n <BasicAttribute\n attribute={attribute}\n />\n );\n } catch (error) {\n console.error('Error render attribute:', attribute.asn.type);\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';\nimport { CRLReason, InvalidityDate, CertificateIssuer } from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\n\nimport { dateShort, l10n, getStringByOID } from '../../utils';\nimport { IRevokedCertificate } from '../../crypto';\nimport { GeneralNamePart } from './extensions/general_name_part';\nimport { RowTitle, RowValue, TableRowTable } from './row';\n\ninterface IRevokedCertificatesProps extends IGeneralNameOptions {\n revokedCertificates: IRevokedCertificate[];\n}\n\nexport const RevokedCertificates: FunctionalComponent<IRevokedCertificatesProps> = (props) => {\n const {\n revokedCertificates,\n getDNSNameLink,\n getIPAddressLink,\n } = props;\n\n if (!revokedCertificates || !revokedCertificates.length) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('revokedCertificates')}\n />,\n revokedCertificates.map((certificate) => ([\n <RowValue\n name={l10n.getString('serialNumber')}\n value={Convert.ToHex(certificate.userCertificate)}\n monospace\n />,\n <RowValue\n name={l10n.getString('revocationDate')}\n value={dateShort(certificate.revocationDate.getTime())}\n />,\n (certificate.crlEntryExtensions && certificate.crlEntryExtensions.length && ([\n <RowValue\n name={`${l10n.getString('crlEntryExtensions')}:`}\n value=\"\"\n />,\n <TableRowTable>\n {\n certificate.crlEntryExtensions.map((extension) => {\n if (extension.value instanceof CRLReason) {\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={extension.value.toJSON() || extension.value.reason}\n />\n );\n }\n\n if (extension.value instanceof InvalidityDate) {\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={extension.value.value.getTime()}\n />\n );\n }\n\n if (extension.value instanceof CertificateIssuer && extension.value.length) {\n return ([\n <RowValue\n name={`${getStringByOID(extension.asn.extnID)}:`}\n value=\"\"\n />,\n extension.value.map((gn) => (\n <TableRowTable>\n <GeneralNamePart\n generalName={gn}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n />\n </TableRowTable>\n )),\n ]);\n }\n\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={Convert.ToHex(extension.asn.extnValue)}\n monospace\n />\n );\n })\n }\n </TableRowTable>,\n ])),\n <tr>\n <td colSpan={2} class=\"divider\">\n <span />\n </td>\n </tr>,\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 type { X509AttributeCertificate } from '../../crypto';\nimport { l10n, getStringByOID } from '../../utils';\nimport { RowTitle, RowValue, TableRowTable } from './row';\nimport { GeneralNamePart } from './extensions/general_name_part';\n\ninterface IHolderProps {\n holder: X509AttributeCertificate['holder'];\n}\n\nexport const Holder: FunctionalComponent<IHolderProps> = (props) => {\n const { holder } = props;\n\n if (!holder) {\n return null;\n }\n\n const { baseCertificateID, objectDigestInfo } = holder;\n\n return [\n <RowTitle\n value={l10n.getString('holder')}\n />,\n baseCertificateID && ([\n baseCertificateID.issuer.map((item) => (\n <GeneralNamePart\n generalName={item}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n )),\n <tr>\n <td />\n <td />\n </tr>,\n <RowValue\n name={l10n.getString('serialNumber')}\n value={Convert.ToHex(baseCertificateID.serial)}\n monospace\n />,\n <tr>\n <td />\n <td />\n </tr>,\n ]),\n objectDigestInfo && ([\n <RowValue\n name={l10n.getString('digestInfo')}\n value=\"\"\n />,\n <TableRowTable>\n <RowValue\n name={l10n.getString('algorithm')}\n value={getStringByOID(objectDigestInfo.digestAlgorithm.algorithm)}\n />\n <RowValue\n name={l10n.getString('value')}\n value={Convert.ToHex(objectDigestInfo.objectDigest)}\n monospace\n />\n <RowValue\n name={l10n.getString('type')}\n value={objectDigestInfo.digestedObjectType}\n />\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 { X509AttributeCertificate } from '../../crypto';\nimport { l10n } from '../../utils';\nimport { RowTitle } from './row';\nimport { GeneralNamePart } from './extensions/general_name_part';\n\ninterface IIssuerProps {\n issuer: X509AttributeCertificate['issuer'];\n}\n\nexport const Issuer: FunctionalComponent<IIssuerProps> = (props) => {\n const { issuer } = props;\n\n if (!issuer) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('issuer')}\n />,\n issuer.map((item) => (\n <GeneralNamePart\n generalName={item}\n getDNSNameLink={() => ''}\n getIPAddressLink={() => ''}\n />\n )),\n ];\n};\n","@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 Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\n\nimport { X509AttributeCertificate } from '../../crypto';\nimport { getDNSNameLink, getIPAddressLink, getLEILink } from '../../utils/third_party_links';\nimport {\n BasicInformation,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n Attributes,\n Holder,\n Issuer,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type AttributeCertificateProp = string | X509AttributeCertificate;\n\n@Component({\n tag: 'peculiar-attribute-certificate-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class AttributeCertificateViewer {\n private certificateDecoded: X509AttributeCertificate;\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() certificate: AttributeCertificateProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() 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 * 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: AttributeCertificateProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509AttributeCertificate) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509AttributeCertificate(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseExtensions();\n this.certificateDecoded.parseAttributes();\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(\n newValue: AttributeCertificateProp,\n oldValue: AttributeCertificateProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof X509AttributeCertificate\n && oldValue instanceof X509AttributeCertificate\n ) {\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 // 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 attribute 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 attribute 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 <Issuer\n issuer={this.certificateDecoded.issuer}\n />\n\n <Holder\n holder={this.certificateDecoded.holder}\n />\n\n <Signature\n signature={this.certificateDecoded.signature}\n />\n\n <Thumbprints\n thumbprints={this.certificateDecoded.thumbprints}\n />\n\n <Attributes\n attributes={this.certificateDecoded.attributes}\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 <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","@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 Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\n\nimport { X509Crl } from '../../crypto';\nimport { getDNSNameLink, getIPAddressLink, getLEILink } from '../../utils/third_party_links';\nimport {\n BasicInformation,\n IssuerName,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n RevokedCertificates,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type CrlProp = string | X509Crl;\n\n@Component({\n tag: 'peculiar-crl-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class CrlViewer {\n private certificateDecoded: X509Crl;\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: CrlProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() 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 * 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: CrlProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509Crl) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509Crl(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 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 getIssuerDnLink() {\n return this.issuerDnLink;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(\n newValue: CrlProp,\n oldValue: CrlProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof X509Crl\n && oldValue instanceof X509Crl\n ) {\n if (newValue.commonName !== oldValue.commonName) {\n this.decodeCertificate(newValue);\n }\n }\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 revocation list.\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 revocation list 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 <IssuerName\n name={this.certificateDecoded.issuer}\n issuerDnLink={this.getIssuerDnLink()}\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 />\n\n <RevokedCertificates\n revokedCertificates={this.certificateDecoded.revokedCertificates}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n","@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 Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\n\nimport { Pkcs10CertificateRequest } from '../../crypto';\nimport { getDNSNameLink, getIPAddressLink, getLEILink } from '../../utils/third_party_links';\nimport {\n BasicInformation,\n SubjectName,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n PublicKey,\n Attributes,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type CsrProp = string | Pkcs10CertificateRequest;\n\n@Component({\n tag: 'peculiar-csr-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class CsrViewer {\n private certificateDecoded: Pkcs10CertificateRequest;\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: CsrProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() download?: boolean;\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 * 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: CsrProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof Pkcs10CertificateRequest) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new Pkcs10CertificateRequest(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseAttributes();\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(\n newValue: CsrProp,\n oldValue: CsrProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof Pkcs10CertificateRequest\n && oldValue instanceof Pkcs10CertificateRequest\n ) {\n if (newValue.commonName !== oldValue.commonName) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n private getAuthKeyIdParentLink = (value: string) => value;\n\n // eslint-disable-next-line class-methods-use-this\n private getAuthKeyIdSiblingsLink = (value: string) => 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 // 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 request.\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 request 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 <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 <Attributes\n attributes={this.certificateDecoded.attributes}\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 <Extensions\n extensions={this.certificateDecoded.extensions}\n title=\"Extension Request\"\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"],"version":3}