@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
@@ -5,26 +5,33 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const download = require('./download-6f550549.js');
8
+ const certification_request = require('./certification_request-815ec558.js');
9
+ const read_file = require('./read_file-2e22a97e.js');
10
+ const pkcs10_certificate_request = require('./pkcs10_certificate_request-0ebc0023.js');
9
11
  const button = require('./button-87086210.js');
10
12
  const link = require('./link-a3d3799d.js');
11
13
  const cross = require('./cross-bd099933.js');
12
- const download$1 = require('./download-820d66ba.js');
14
+ const download = require('./download-820d66ba.js');
13
15
  const actions = require('./actions-789906f5.js');
14
16
  const arrow_top = require('./arrow_top-76e4261e.js');
15
17
  require('./index-e2ae280a.js');
16
18
 
17
19
 
18
20
 
19
- exports.Download = download.Download;
20
- exports.downloadFromBuffer = download.downloadFromBuffer;
21
+ exports.Download = certification_request.Download;
22
+ exports.downloadFromBuffer = certification_request.downloadFromBuffer;
23
+ exports.readAsArrayBuffer = read_file.readAsArrayBuffer;
24
+ exports.readAsBinaryString = read_file.readAsBinaryString;
25
+ exports.readAsDataUrl = read_file.readAsDataUrl;
26
+ exports.readAsText = read_file.readAsText;
27
+ exports.Pkcs10CertificateRequest = pkcs10_certificate_request.Pkcs10CertificateRequest;
21
28
  exports.Button = button.Button;
22
29
  exports.Typography = button.Typography;
23
30
  exports.Link = link.Link;
24
31
  exports.CrossIcon = cross.CrossIcon;
25
32
  exports.DetailsIcon = cross.DetailsIcon;
26
33
  exports.LinkIcon = cross.LinkIcon;
27
- exports.DownloadIcon = download$1.DownloadIcon;
34
+ exports.DownloadIcon = download.DownloadIcon;
28
35
  exports.ActionsIcon = actions.ActionsIcon;
29
36
  exports.ArrowBottomIcon = arrow_top.ArrowBottomIcon;
30
37
  exports.ArrowTopIcon = arrow_top.ArrowTopIcon;
@@ -1 +1 @@
1
- {"file":"index.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
1
+ {"file":"index.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -4,11 +4,10 @@
4
4
  'use strict';
5
5
 
6
6
  const index = require('./index-e2ae280a.js');
7
- const certification_request = require('./certification_request-b0d72620.js');
8
- const download = require('./download-6f550549.js');
7
+ const certification_request = require('./certification_request-815ec558.js');
9
8
  const link = require('./link-a3d3799d.js');
10
9
  const button = require('./button-87086210.js');
11
- const download$1 = require('./download-820d66ba.js');
10
+ const download = require('./download-820d66ba.js');
12
11
 
13
12
  /**
14
13
  * @license
@@ -167,7 +166,7 @@ const PublicKey = (props) => {
167
166
  index.h(RowValue, { name: certification_request.l10n.getString('namedCurve'), value: getStringByOID((key.params && 'namedCurve' in key.params) ? key.params.namedCurve : undefined) }),
168
167
  index.h(RowValue, { name: certification_request.l10n.getString('exponent'), value: getPublicKeyExponent(key) }),
169
168
  index.h(RowValue, { name: certification_request.l10n.getString('modulus'), value: getPublicKeyModulus(key) }),
170
- index.h(RowValue, { name: certification_request.l10n.getString('value'), value: download.Convert_1.ToHex(key.value), monospace: true, collapse: true }),
169
+ index.h(RowValue, { name: certification_request.l10n.getString('value'), value: certification_request.Convert_1.ToHex(key.value), monospace: true, collapse: true }),
171
170
  ];
172
171
  }
173
172
  return [
@@ -223,7 +222,7 @@ const Signature = (props) => {
223
222
  function renderSignatureDetails(data) {
224
223
  return [
225
224
  index.h(RowValue, { name: certification_request.l10n.getString('algorithm'), value: getStringByOID(data.algorithm) }),
226
- index.h(RowValue, { name: certification_request.l10n.getString('value'), value: download.Convert_1.ToHex(data.value), monospace: true, collapse: true }),
225
+ index.h(RowValue, { name: certification_request.l10n.getString('value'), value: certification_request.Convert_1.ToHex(data.value), monospace: true, collapse: true }),
227
226
  ];
228
227
  }
229
228
  return [
@@ -326,7 +325,7 @@ const ExtendedKeyUsageExtension = (props) => {
326
325
  */
327
326
  const SubjectKeyIdentifierExtension = (props) => {
328
327
  const { extension, getSubjectKeyIdChildrenLink, getSubjectKeyIdSiblingsLink } = props;
329
- const keyId = download.Convert_1.ToHex(extension.value.buffer);
328
+ const keyId = certification_request.Convert_1.ToHex(extension.value.buffer);
330
329
  const childrenLink = getSubjectKeyIdChildrenLink(keyId);
331
330
  const siblingsLink = getSubjectKeyIdSiblingsLink(keyId);
332
331
  return (index.h(BasicExtension, { extension: extension },
@@ -351,7 +350,7 @@ const SubjectKeyIdentifierExtension = (props) => {
351
350
  */
352
351
  const AuthorityKeyIdentifierExtension = (props) => {
353
352
  const { extension, getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink } = props;
354
- const keyId = download.Convert_1.ToHex(extension.value.keyIdentifier.buffer);
353
+ const keyId = certification_request.Convert_1.ToHex(extension.value.keyIdentifier.buffer);
355
354
  const parentLink = getAuthKeyIdParentLink(keyId);
356
355
  const siblingsLink = getAuthKeyIdSiblingsLink(keyId);
357
356
  return (index.h(BasicExtension, { extension: extension },
@@ -415,10 +414,10 @@ const GeneralNamePart = (props) => {
415
414
  catch (error) {
416
415
  //
417
416
  }
418
- return (index.h(RowValue, { name: certification_request.OIDs[value.typeId] || value.typeId, value: download.Convert_1.ToHex(value.value), monospace: true }));
417
+ return (index.h(RowValue, { name: certification_request.OIDs[value.typeId] || value.typeId, value: certification_request.Convert_1.ToHex(value.value), monospace: true }));
419
418
  }
420
- if (download.BufferSourceConverter_1.isBufferSource(value)) {
421
- return (index.h(RowValue, { name: names[name] || name, value: download.Convert_1.ToString(value) }));
419
+ if (certification_request.BufferSourceConverter_1.isBufferSource(value)) {
420
+ return (index.h(RowValue, { name: names[name] || name, value: certification_request.Convert_1.ToString(value) }));
422
421
  }
423
422
  if (value instanceof certification_request.EDIPartyName) {
424
423
  return (index.h(RowValue, { name: names[name] || name, value: value.partyName.toString() }));
@@ -825,7 +824,7 @@ const QCStatementsExtension = (props) => {
825
824
  index.h(RowValue, { name: "Language", value: location.language })))),
826
825
  ]);
827
826
  }
828
- return (index.h(RowValue, { name: "Info", value: download.Convert_1.ToHex(statementInfo), monospace: true }));
827
+ return (index.h(RowValue, { name: "Info", value: certification_request.Convert_1.ToHex(statementInfo), monospace: true }));
829
828
  }
830
829
  return (index.h(BasicExtension, { extension: extension }, Boolean(extension.value.length) && ([
831
830
  index.h(RowValue, { name: "Statements", value: "" }),
@@ -936,7 +935,7 @@ const CRLReasonExtension = (props) => {
936
935
  * LICENSE file in the root directory of this source tree.
937
936
  */
938
937
  function getAttributeValue(attribute) {
939
- return download.Convert_1.ToString(attribute.values[0]);
938
+ return certification_request.Convert_1.ToString(attribute.values[0]);
940
939
  }
941
940
 
942
941
  /**
@@ -1012,7 +1011,7 @@ const BiometricSyntaxExtension = (props) => {
1012
1011
  index.h(RowValue, { name: "OID", value: getStringByOID(data.typeOfBiometricData.biometricDataOid) }),
1013
1012
  index.h(RowValue, { name: "Type", value: data.typeOfBiometricData.predefinedBiometricType }),
1014
1013
  index.h(RowValue, { name: "Algorithm", value: getStringByOID(data.hashAlgorithm.algorithm) }),
1015
- index.h(RowValue, { name: "Hash", value: download.Convert_1.ToHex(data.biometricDataHash.buffer), monospace: true }),
1014
+ index.h(RowValue, { name: "Hash", value: certification_request.Convert_1.ToHex(data.biometricDataHash.buffer), monospace: true }),
1016
1015
  index.h(RowValue, { name: "Source Uri", value: data.sourceDataUri })))),
1017
1016
  ])));
1018
1017
  };
@@ -1034,7 +1033,7 @@ const LogotypeExtension = (props) => {
1034
1033
  const { imageDetails } = img;
1035
1034
  return [
1036
1035
  index.h(RowValue, { name: "Image Type", value: imageDetails.mediaType }),
1037
- index.h(RowValue, { name: "Image Hash", value: download.Convert_1.ToHex(imageDetails.logotypeHash[0].hashValue), monospace: true }),
1036
+ index.h(RowValue, { name: "Image Hash", value: certification_request.Convert_1.ToHex(imageDetails.logotypeHash[0].hashValue), monospace: true }),
1038
1037
  index.h(RowValue, { name: "Image URL", value: imageDetails.logotypeURI[0], monospace: true, collapse: true }),
1039
1038
  index.h(RowValue, { name: "Image Hash Algorithm", value: getStringByOID(imageDetails.logotypeHash[0].hashAlg.algorithm) }),
1040
1039
  ];
@@ -1048,7 +1047,7 @@ const LogotypeExtension = (props) => {
1048
1047
  const { audioDetails } = aud;
1049
1048
  return [
1050
1049
  index.h(RowValue, { name: "Audio Type", value: audioDetails.mediaType }),
1051
- index.h(RowValue, { name: "Audio Hash", value: download.Convert_1.ToHex(audioDetails.logotypeHash[0].hashValue), monospace: true }),
1050
+ index.h(RowValue, { name: "Audio Hash", value: certification_request.Convert_1.ToHex(audioDetails.logotypeHash[0].hashValue), monospace: true }),
1052
1051
  index.h(RowValue, { name: "Audio URL", value: audioDetails.logotypeURI[0], monospace: true, collapse: true }),
1053
1052
  index.h(RowValue, { name: "Audio Hash Algorithm", value: getStringByOID(audioDetails.logotypeHash[0].hashAlg.algorithm) }),
1054
1053
  ];
@@ -1187,7 +1186,7 @@ const KeyDescriptionExtension = (props) => {
1187
1186
  index.h(RowValue, { name: camelCaseToWords(keyName), value: "" }),
1188
1187
  index.h(TableRowTable, null, renderRowValue(keyValue)),
1189
1188
  ];
1190
- case download.BufferSourceConverter_1.isBufferSource(keyValue):
1189
+ case certification_request.BufferSourceConverter_1.isBufferSource(keyValue):
1191
1190
  if (keyName === 'attestationApplicationId') {
1192
1191
  try {
1193
1192
  const parsed = certification_request.AsnParser.parse(keyValue, certification_request.AttestationApplicationId);
@@ -1205,10 +1204,10 @@ const KeyDescriptionExtension = (props) => {
1205
1204
  }
1206
1205
  }
1207
1206
  try {
1208
- value = download.Convert_1.ToString(keyValue);
1207
+ value = certification_request.Convert_1.ToString(keyValue);
1209
1208
  }
1210
1209
  catch (error) {
1211
- value = download.Convert_1.ToHex(keyValue);
1210
+ value = certification_request.Convert_1.ToHex(keyValue);
1212
1211
  }
1213
1212
  break;
1214
1213
  }
@@ -1228,8 +1227,8 @@ const KeyDescriptionExtension = (props) => {
1228
1227
  index.h(RowValue, { name: camelCaseToWords('attestationSecurityLevel'), value: extension.value.attestationSecurityLevel }),
1229
1228
  index.h(RowValue, { name: camelCaseToWords('keymasterVersion'), value: extension.value.keymasterVersion }),
1230
1229
  index.h(RowValue, { name: camelCaseToWords('keymasterSecurityLevel'), value: extension.value.keymasterSecurityLevel }),
1231
- index.h(RowValue, { name: camelCaseToWords('attestationChallenge'), value: download.Convert_1.ToString(extension.value.attestationChallenge) }),
1232
- index.h(RowValue, { name: camelCaseToWords('uniqueId'), value: download.Convert_1.ToString(extension.value.uniqueId) || undefined }),
1230
+ index.h(RowValue, { name: camelCaseToWords('attestationChallenge'), value: certification_request.Convert_1.ToString(extension.value.attestationChallenge) }),
1231
+ index.h(RowValue, { name: camelCaseToWords('uniqueId'), value: certification_request.Convert_1.ToString(extension.value.uniqueId) || undefined }),
1233
1232
  renderAuthorizationList(camelCaseToWords('softwareEnforced'), extension.value.softwareEnforced),
1234
1233
  renderAuthorizationList(camelCaseToWords('teeEnforced'), extension.value.teeEnforced)));
1235
1234
  };
@@ -1391,10 +1390,10 @@ const Miscellaneous = (props) => {
1391
1390
  index.h(RowTitle, { value: certification_request.l10n.getString('miscellaneous') }),
1392
1391
  index.h("tr", null,
1393
1392
  index.h("td", null,
1394
- index.h(button.Button, { onClick: () => certificate.downloadAsPEM(), startIcon: index.h(download$1.DownloadIcon, null) }, certification_request.l10n.getString('download.pem')))),
1393
+ index.h(button.Button, { onClick: () => certificate.downloadAsPEM(), startIcon: index.h(download.DownloadIcon, null) }, certification_request.l10n.getString('download.pem')))),
1395
1394
  index.h("tr", null,
1396
1395
  index.h("td", null,
1397
- index.h(button.Button, { onClick: () => certificate.downloadAsDER(), startIcon: index.h(download$1.DownloadIcon, null) }, certification_request.l10n.getString('download.der')))),
1396
+ index.h(button.Button, { onClick: () => certificate.downloadAsDER(), startIcon: index.h(download.DownloadIcon, null) }, certification_request.l10n.getString('download.der')))),
1398
1397
  ];
1399
1398
  };
1400
1399
 
@@ -1416,4 +1415,4 @@ exports.getIPAddressLink = getIPAddressLink;
1416
1415
  exports.getLEILink = getLEILink;
1417
1416
  exports.getStringByOID = getStringByOID;
1418
1417
 
1419
- //# sourceMappingURL=miscellaneous-dcb93a5b.js.map
1418
+ //# sourceMappingURL=miscellaneous-9a573276.js.map
@@ -0,0 +1 @@
1
+ {"file":"miscellaneous-9a573276.js","mappings":"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","names":["OIDs","h","Typography","Link","l10n","dateShort","Convert","Name","OtherName","AsnParser","DisplayText","UserNotice","BufferSourceConverter","EDIPartyName","__decorate","AsnProp","AsnPropTypes","AsnType","AsnTypeTypes","AsnArray","id_qcs_pkixQCSyntax_v2","SemanticsInformation","AsnIntegerArrayBufferConverter","IntegerSet","RootOfTrust","AttestationApplicationId","KeyUsage","BasicConstraints","ExtendedKeyUsage","SubjectKeyIdentifier","AuthorityKeyIdentifier","CRLDistributionPoints","AuthorityInfoAccessSyntax","SubjectInfoAccessSyntax","SubjectAlternativeName","CertificatePolicies","CertificateTransparency","NameConstraints","CertificateTemplate","EnrollCertTypeChoice","CaVersion","QCStatements","NetscapeComment","NetscapeCertType","LeiRole","LeiChoice","Timestamp","ArchiveRevInfo","CRLReason","SubjectDirectoryAttributes","PrivateKeyUsagePeriod","EntrustVersionInfo","BiometricSyntax","LogotypeExtn","TNAuthorizationList","PolicyConstraints","PolicyMappings","CRLNumber","IssuingDistributionPoint","NonStandardKeyDescription","CabforganizationIdentifier","Button","DownloadIcon"],"sources":["src/utils/get_string_by_oid.ts","src/utils/camel_case_to_words.ts","src/utils/third_party_links.ts","src/utils/is_link.ts","src/components/certificate-details-parts/row.tsx","src/components/certificate-details-parts/basic_information.tsx","src/components/certificate-details-parts/public_key.tsx","src/components/certificate-details-parts/subject_name.tsx","src/components/certificate-details-parts/issuer_name.tsx","src/components/certificate-details-parts/signature.tsx","src/components/certificate-details-parts/thumbprints.tsx","src/components/certificate-details-parts/extensions/basic_extension.tsx","src/components/certificate-details-parts/extensions/key_usage_extension.tsx","src/components/certificate-details-parts/extensions/basic_constraints_extension.tsx","src/components/certificate-details-parts/extensions/extended_key_usage_extension.tsx","src/components/certificate-details-parts/extensions/subject_key_identifier_extension.tsx","src/components/certificate-details-parts/extensions/authority_key_identifier_extension.tsx","src/components/certificate-details-parts/extensions/general_name_part.tsx","src/components/certificate-details-parts/extensions/crl_distribution_points_extension.tsx","src/components/certificate-details-parts/extensions/info_access_syntax_extension.tsx","src/components/certificate-details-parts/extensions/subject_alternative_name_extension.tsx","src/components/certificate-details-parts/extensions/certificate_policies_extension.tsx","src/constants/logs.ts","src/components/certificate-details-parts/extensions/certificate_transparency_extension.tsx","src/components/certificate-details-parts/extensions/name_constraints_extension.tsx","src/components/certificate-details-parts/extensions/certificate_template_extension.tsx","src/components/certificate-details-parts/extensions/enroll_cert_type_extension.tsx","src/components/certificate-details-parts/extensions/ca_version_extension.tsx","../../node_modules/@peculiar/asn1-x509-qualified-etsi/build/es2015/index.js","src/components/certificate-details-parts/extensions/qc_statements_extension.tsx","src/components/certificate-details-parts/extensions/netscape_comment_extension.tsx","src/components/certificate-details-parts/extensions/netscape_cert_type_extension.tsx","src/components/certificate-details-parts/extensions/lei_role_extennsion.tsx","src/components/certificate-details-parts/extensions/lei_extension.tsx","src/components/certificate-details-parts/extensions/timestamp_extension.tsx","src/components/certificate-details-parts/extensions/archive_rev_info_extension.tsx","src/components/certificate-details-parts/extensions/crl_reason_extension.tsx","src/components/certificate-details-parts/extensions/attribute_value.ts","src/components/certificate-details-parts/extensions/subject_directory_attributes_extension.tsx","src/components/certificate-details-parts/extensions/as_string_extension.tsx","src/components/certificate-details-parts/extensions/private_key_usage_period_extension.tsx","src/components/certificate-details-parts/extensions/entrust_version_info_extension.tsx","src/components/certificate-details-parts/extensions/biometric_syntax_extension.tsx","src/components/certificate-details-parts/extensions/logotype_extension.tsx","src/components/certificate-details-parts/extensions/tn_auth_list_extension.tsx","src/components/certificate-details-parts/extensions/policy_constraints_extension.tsx","src/components/certificate-details-parts/extensions/policy_mappings_extension.tsx","src/components/certificate-details-parts/extensions/crl_number_extension.tsx","src/components/certificate-details-parts/extensions/issuing_distribution_point_extension.tsx","src/components/certificate-details-parts/extensions/key_description_extension.tsx","src/components/certificate-details-parts/extensions/cabforganization_identifier_extension.tsx","src/components/certificate-details-parts/extensions/index.tsx","src/components/certificate-details-parts/miscellaneous.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { OIDs } from '../constants/oids';\n\nexport function getStringByOID(value: string) {\n const oid = OIDs[value];\n\n if (oid) {\n return `${oid} (${value})`;\n }\n\n return value;\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport function camelCaseToWords(value: string) {\n const result = value.replace(/([A-Z])/g, ' $1');\n\n return result.charAt(0).toUpperCase() + result.slice(1);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport const getLEILink = (lei: string) => `https://search.gleif.org/#/record/${lei}`;\n\nexport const getDNSNameLink = (dnsName: string) => `https://search.censys.io/search?resource=hosts&q=dns.names%3A${dnsName}`;\n\nexport const getIPAddressLink = (ipAddress: string) => `https://search.censys.io/search?resource=hosts&q=ip%3A${ipAddress}`;\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport default function isLink(value: string): boolean {\n return value.indexOf('http') === 0;\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport isLink from '../../utils/is_link';\nimport { Typography } from '../typography';\nimport { Link } from '../link';\n\nexport const TableRowTable: FunctionalComponent = (_, children) => (\n <tr>\n <td colSpan={2}>\n <table>\n {children}\n </table>\n </td>\n </tr>\n);\n\ninterface IRowTitleProps {\n value: string | string[];\n}\n\nexport const RowTitle: FunctionalComponent<IRowTitleProps> = (props) => {\n const { value } = props;\n\n if (!value) {\n return null;\n }\n\n return [\n <tr class=\"title\">\n <td colSpan={2}>\n <Typography\n variant=\"s1\"\n color=\"black\"\n >\n {value}\n </Typography>\n </td>\n </tr>,\n <tr>\n <td colSpan={2} class=\"divider\">\n <span />\n </td>\n </tr>,\n ];\n};\n\ninterface IRowValueProps {\n name: string | string[];\n value: string | number | string[];\n monospace?: boolean;\n collapse?: boolean;\n href?: string;\n extraValue?: Element[];\n}\n\nexport const RowValue: FunctionalComponent<IRowValueProps> = (props) => {\n const {\n name,\n value,\n monospace,\n collapse,\n href,\n extraValue,\n } = props;\n\n if (!name) {\n return null;\n }\n\n if (value === undefined || value === null) {\n return null;\n }\n\n let elementValue;\n\n if (collapse) {\n elementValue = (\n <peculiar-text-hider>\n {value}\n </peculiar-text-hider>\n );\n } else {\n elementValue = value;\n }\n\n const hasValue = !!value.toString();\n\n return (\n <tr>\n <td\n colSpan={hasValue ? 1 : 2}\n >\n <Typography\n variant=\"b2\"\n color=\"gray-9\"\n >\n {name}\n </Typography>\n </td>\n {hasValue && (\n <td\n class={{\n monospace,\n }}\n >\n {(isLink(value.toString()) || href) ? (\n <Link\n variant=\"b2\"\n href={href || value.toString()}\n >\n {value}\n </Link>\n ) : (\n <Typography\n variant=\"b2\"\n color=\"black\"\n >\n {elementValue}\n {extraValue}\n </Typography>\n )}\n </td>\n )}\n </tr>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\n\nimport { dateShort, l10n } from '../../utils';\n\nimport { RowTitle, RowValue } from './row';\n\ninterface IBasicInformationProps {\n serialNumber?: string;\n version?: number;\n validity?: string;\n notBefore?: Date;\n notAfter?: Date;\n lastUpdate?: Date;\n nextUpdate?: Date;\n type: string;\n}\n\nexport const BasicInformation: FunctionalComponent<IBasicInformationProps> = (props) => {\n const {\n serialNumber,\n version,\n validity,\n notBefore,\n notAfter,\n lastUpdate,\n nextUpdate,\n type,\n } = props;\n\n return [\n <RowTitle\n value={l10n.getString('basicInformation')}\n />,\n <RowValue\n name={l10n.getString('type')}\n value={type}\n />,\n <RowValue\n name={l10n.getString('serialNumber')}\n value={serialNumber}\n monospace\n />,\n <RowValue\n name={l10n.getString('version')}\n value={version}\n />,\n <RowValue\n name={l10n.getString('validity')}\n value={validity}\n />,\n <RowValue\n name={l10n.getString('issued')}\n value={notBefore ? dateShort(notBefore) : undefined}\n />,\n <RowValue\n name={l10n.getString('expired')}\n value={notAfter ? dateShort(notAfter) : undefined}\n />,\n <RowValue\n name={l10n.getString('lastUpdate')}\n value={lastUpdate ? dateShort(lastUpdate) : undefined}\n />,\n <RowValue\n name={l10n.getString('nextUpdate')}\n value={nextUpdate ? dateShort(nextUpdate) : undefined}\n />,\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { Convert } from 'pvtsutils';\n\nimport { IPublicKey } from '../../crypto';\nimport { l10n, getStringByOID } from '../../utils';\n\nimport { RowTitle, RowValue, TableRowTable } from './row';\n\nfunction getPublicKeyModulus(publicKey: IPublicKey) {\n if (publicKey.params && 'modulus' in publicKey.params) {\n let length = publicKey.params.modulus.byteLength;\n\n if (length % 2) {\n length -= 1;\n }\n\n return length * 8;\n }\n\n return null;\n}\n\nfunction getPublicKeyExponent(publicKey: IPublicKey) {\n if (publicKey.params && 'publicExponent' in publicKey.params) {\n return publicKey.params.publicExponent.byteLength === 3\n ? 65537\n : 3;\n }\n\n return null;\n}\n\ninterface IPublicKeyProps {\n publicKey: IPublicKey;\n}\n\nexport const PublicKey: FunctionalComponent<IPublicKeyProps> = (props) => {\n const { publicKey } = props;\n\n if (!publicKey) {\n return null;\n }\n\n function renderKeyDetails(key: IPublicKey) {\n return [\n <RowValue\n name={l10n.getString('algorithm')}\n value={getStringByOID(key.algorithm)}\n />,\n <RowValue\n name={l10n.getString('namedCurve')}\n value={getStringByOID((key.params && 'namedCurve' in key.params) ? key.params.namedCurve : undefined)}\n />,\n <RowValue\n name={l10n.getString('exponent')}\n value={getPublicKeyExponent(key)}\n />,\n <RowValue\n name={l10n.getString('modulus')}\n value={getPublicKeyModulus(key)}\n />,\n <RowValue\n name={l10n.getString('value')}\n value={Convert.ToHex(key.value)}\n monospace\n collapse\n />,\n ];\n }\n\n return [\n <RowTitle\n value={l10n.getString('publicKeyInfo')}\n />,\n renderKeyDetails(publicKey),\n (Array.isArray(publicKey.params) && publicKey.params.length && publicKey.params.map((param) => (\n <TableRowTable>\n {renderKeyDetails(param)}\n </TableRowTable>\n ))),\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\n\nimport type { INameJSON } from '../../crypto/name';\nimport { l10n } from '../../utils';\n\nimport { RowTitle, RowValue } from './row';\n\ninterface ISubjectNameProps {\n name: INameJSON[];\n}\n\nexport const SubjectName: FunctionalComponent<ISubjectNameProps> = (props) => {\n const { name } = props;\n\n return [\n <RowTitle\n value={l10n.getString('subjectName')}\n />,\n name.map((n) => (\n <RowValue\n name={n.name || n.type}\n value={n.value}\n />\n )),\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\n\nimport type { INameJSON } from '../../crypto/name';\nimport { l10n } from '../../utils';\nimport { Link } from '../link';\nimport { RowTitle, RowValue } from './row';\n\ninterface ISubjectNameProps {\n name: INameJSON[];\n issuerDnLink?: string;\n}\n\nexport const IssuerName: FunctionalComponent<ISubjectNameProps> = (props) => {\n const { name, issuerDnLink } = props;\n const title = l10n.getString('issuerName');\n\n return [\n <RowTitle\n value={issuerDnLink ? (\n <Link\n href={issuerDnLink}\n >\n {title}\n </Link>\n ) : title}\n />,\n name.map((n) => (\n <RowValue\n name={n.name || n.type}\n value={n.value}\n />\n )),\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { Convert } from 'pvtsutils';\n\nimport { ISignature } from '../../crypto';\nimport { l10n, getStringByOID } from '../../utils';\n\nimport { RowTitle, RowValue, TableRowTable } from './row';\n\ninterface ISignatureProps {\n signature: ISignature;\n}\n\nexport const Signature: FunctionalComponent<ISignatureProps> = (props) => {\n const { signature } = props;\n\n if (!signature) {\n return null;\n }\n\n function renderSignatureDetails(data: ISignature) {\n return [\n <RowValue\n name={l10n.getString('algorithm')}\n value={getStringByOID(data.algorithm)}\n />,\n <RowValue\n name={l10n.getString('value')}\n value={Convert.ToHex(data.value)}\n monospace\n collapse\n />,\n ];\n }\n\n return [\n <RowTitle\n value={l10n.getString('signature')}\n />,\n renderSignatureDetails(signature),\n (signature.params && signature.params.length && signature.params.map((param) => (\n <TableRowTable>\n {renderSignatureDetails(param)}\n </TableRowTable>\n ))),\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { l10n } from '../../utils';\n\nimport { RowTitle, RowValue } from './row';\n\ninterface IThumbprintsProps {\n thumbprints: Record<string, string>;\n}\n\nexport const Thumbprints: FunctionalComponent<IThumbprintsProps> = (props) => {\n const { thumbprints } = props;\n\n if (!thumbprints) {\n return null;\n }\n\n const keys = Object.keys(thumbprints);\n\n if (!keys.length) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('fingerprints')}\n />,\n keys.map((name) => (\n <RowValue\n name={name}\n value={thumbprints[name]}\n monospace\n />\n )),\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\n\nimport { Extension, TExtensionValue } from '../../../crypto/extension';\nimport { l10n, getStringByOID } from '../../../utils';\nimport { RowValue } from '../row';\n\ninterface IBasicExtensionProps {\n extension: Extension<TExtensionValue>;\n}\n\nexport const BasicExtension: FunctionalComponent<IBasicExtensionProps> = (props, children) => {\n const { extension } = props;\n\n return ([\n <RowValue\n name=\"Name\"\n value={getStringByOID(extension.asn.extnID)}\n />,\n <RowValue\n name=\"Critical\"\n value={extension.asn.critical ? l10n.getString('yes') : l10n.getString('no')}\n />,\n children,\n <tr>\n <td colSpan={2} class=\"divider\">\n <span />\n </td>\n </tr>,\n ]);\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { KeyUsage } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IKeyUsageExtensionProps {\n extension: Extension<KeyUsage>;\n}\n\nexport const KeyUsageExtension: FunctionalComponent<IKeyUsageExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Usage\"\n value={extension.value.toJSON().join(', ')}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { BasicConstraints } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\nimport { l10n } from '../../../utils';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IBasicConstraintsExtensionProps {\n extension: Extension<BasicConstraints>;\n}\n\nexport const BasicConstraintsExtension:\nFunctionalComponent<IBasicConstraintsExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Certificate Authority\"\n value={extension.value.cA ? l10n.getString('yes') : l10n.getString('no')}\n />\n <RowValue\n name=\"Path Length Constraint\"\n value={extension.value.pathLenConstraint}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { ExtendedKeyUsage } from '@peculiar/asn1-x509';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IExtendedKeyUsageExtensionProps {\n extension: Extension<ExtendedKeyUsage>;\n}\n\nexport const ExtendedKeyUsageExtension:\nFunctionalComponent<IExtendedKeyUsageExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Purposes\"\n value=\"\"\n />,\n extension.value.map((usage) => (\n <TableRowTable>\n <RowValue\n name=\"Purpose\"\n value={getStringByOID(usage)}\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { SubjectKeyIdentifier } from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\nimport { Extension } from '../../../crypto/extension';\nimport { Link } from '../../link';\nimport { RowValue } from '../row';\nimport { BasicExtension } from './basic_extension';\n\ninterface ISubjectKeyIdentifierExtensionProps extends ISubjectKeyIdentifierOptions {\n extension: Extension<SubjectKeyIdentifier>;\n}\n\nexport const SubjectKeyIdentifierExtension:\nFunctionalComponent<ISubjectKeyIdentifierExtensionProps> = (props) => {\n const { extension, getSubjectKeyIdChildrenLink, getSubjectKeyIdSiblingsLink } = props;\n\n const keyId = Convert.ToHex(extension.value.buffer);\n const childrenLink = getSubjectKeyIdChildrenLink(keyId);\n const siblingsLink = getSubjectKeyIdSiblingsLink(keyId);\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Key ID\"\n value={keyId}\n monospace\n extraValue={[\n childrenLink && (\n <span>\n &nbsp;[\n <Link href={childrenLink}>\n children\n </Link>\n ]\n </span>\n ),\n siblingsLink && (\n <span>\n &nbsp;[\n <Link href={siblingsLink}>\n siblings\n </Link>\n ]\n </span>\n ),\n ]}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { AuthorityKeyIdentifier } from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\nimport { Extension } from '../../../crypto/extension';\nimport { Link } from '../../link';\nimport { RowValue } from '../row';\nimport { BasicExtension } from './basic_extension';\n\ninterface IAuthorityKeyIdentifierExtensionProps extends IAuthorityKeyIdentifierOptions {\n extension: Extension<AuthorityKeyIdentifier>;\n}\n\nexport const AuthorityKeyIdentifierExtension:\nFunctionalComponent<IAuthorityKeyIdentifierExtensionProps> = (props) => {\n const { extension, getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink } = props;\n\n const keyId = Convert.ToHex(extension.value.keyIdentifier.buffer);\n const parentLink = getAuthKeyIdParentLink(keyId);\n const siblingsLink = getAuthKeyIdSiblingsLink(keyId);\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Key ID\"\n value={keyId}\n monospace\n extraValue={[\n parentLink && (\n <span>\n &nbsp;[\n <Link href={parentLink}>\n parents\n </Link>\n ]\n </span>\n ),\n siblingsLink && (\n <span>\n &nbsp;[\n <Link href={siblingsLink}>\n siblings\n </Link>\n ]\n </span>\n ),\n ]}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport {\n GeneralName,\n Name,\n OtherName,\n DisplayText,\n EDIPartyName,\n UserNotice,\n} from '@peculiar/asn1-x509';\nimport { Convert, BufferSourceConverter } from 'pvtsutils';\nimport { AsnParser } from '@peculiar/asn1-schema';\n\nimport { OIDs } from '../../../constants/oids';\nimport { RowValue, TableRowTable } from '../row';\n\nconst names: Record<keyof GeneralName, string> = {\n otherName: 'Other Name',\n rfc822Name: 'RFC 822 Name',\n dNSName: 'DNS Name',\n x400Address: 'X400 Address',\n directoryName: 'Directory Name',\n ediPartyName: 'Edi Party Name ',\n uniformResourceIdentifier: 'URI',\n iPAddress: 'IP Address',\n registeredID: 'Registered ID',\n};\n\ninterface IGeneralNamePartProps extends IGeneralNameOptions {\n generalName: GeneralName;\n}\n\nexport const GeneralNamePart: FunctionalComponent<IGeneralNamePartProps> = (props) => {\n const { generalName, getDNSNameLink, getIPAddressLink } = props;\n\n if (!generalName) {\n return null;\n }\n\n return Object.keys(generalName).map((name: keyof GeneralName) => {\n const value = generalName[name];\n\n if (value instanceof Name) {\n return [\n <RowValue\n name={names[name] || name}\n value=\"\"\n />,\n <TableRowTable>\n {value.map((relativeDistinguishedName) => (\n relativeDistinguishedName.map((attributeTypeAndValue) => (\n <RowValue\n name={OIDs[attributeTypeAndValue.type] || attributeTypeAndValue.type}\n value={attributeTypeAndValue.value.toString()}\n />\n ))\n ))}\n </TableRowTable>,\n ];\n }\n\n if (value instanceof OtherName) {\n try {\n const text = AsnParser.parse(value.value, DisplayText);\n\n return (\n <RowValue\n name={OIDs[value.typeId] || value.typeId}\n value={text.toString()}\n />\n );\n } catch (error) {\n //\n }\n\n try {\n const text = AsnParser.parse(value.value, UserNotice);\n\n if (text.explicitText) {\n return (\n <RowValue\n name={OIDs[value.typeId] || value.typeId}\n value={text.explicitText.toString()}\n />\n );\n }\n } catch (error) {\n //\n }\n\n return (\n <RowValue\n name={OIDs[value.typeId] || value.typeId}\n value={Convert.ToHex(value.value)}\n monospace\n />\n );\n }\n\n if (BufferSourceConverter.isBufferSource(value)) {\n return (\n <RowValue\n name={names[name] || name}\n value={Convert.ToString(value)}\n />\n );\n }\n\n if (value instanceof EDIPartyName) {\n return (\n <RowValue\n name={names[name] || name}\n value={value.partyName.toString()}\n />\n );\n }\n\n if (name === 'dNSName') {\n return (\n <RowValue\n name={names[name] || name}\n value={value}\n href={getDNSNameLink(value)}\n />\n );\n }\n\n if (name === 'iPAddress') {\n return (\n <RowValue\n name={names[name] || name}\n value={value}\n href={getIPAddressLink(value)}\n />\n );\n }\n\n return (\n <RowValue\n name={names[name] || name}\n value={value}\n />\n );\n });\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { CRLDistributionPoints } from '@peculiar/asn1-x509';\n\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\nimport { GeneralNamePart } from './general_name_part';\n\ninterface ICRLDistributionPointsExtensionProps extends IGeneralNameOptions {\n extension: Extension<CRLDistributionPoints>;\n}\n\nexport const CRLDistributionPointsExtension:\nFunctionalComponent<ICRLDistributionPointsExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.map((point) => ([\n point.distributionPoint?.fullName.map((gn) => (\n <GeneralNamePart\n generalName={gn}\n {...props}\n />\n )),\n point.cRLIssuer?.map((gn) => (\n <GeneralNamePart\n generalName={gn}\n {...props}\n />\n )),\n ]))}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { AuthorityInfoAccessSyntax, SubjectInfoAccessSyntax } from '@peculiar/asn1-x509';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\nimport { GeneralNamePart } from './general_name_part';\n\ninterface IInfoAccessSyntaxExtensionProps extends IGeneralNameOptions {\n extension: Extension<AuthorityInfoAccessSyntax | SubjectInfoAccessSyntax>;\n}\n\nexport const InfoAccessSyntaxExtension:\nFunctionalComponent<IInfoAccessSyntaxExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Descriptions\"\n value=\"\"\n />,\n extension.value.map((description) => (\n <TableRowTable>\n <RowValue\n name=\"Method\"\n value={getStringByOID(description.accessMethod)}\n />\n <GeneralNamePart\n generalName={description.accessLocation}\n {...props}\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { SubjectAlternativeName } from '@peculiar/asn1-x509';\n\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\nimport { GeneralNamePart } from './general_name_part';\n\ninterface ISubjectAlternativeNameExtensionProps extends IGeneralNameOptions {\n extension: Extension<SubjectAlternativeName>;\n}\n\nexport const SubjectAlternativeNameExtension:\nFunctionalComponent<ISubjectAlternativeNameExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.map((gn) => (\n <GeneralNamePart\n generalName={gn}\n {...props}\n />\n ))}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { CertificatePolicies, UserNotice, DisplayText } from '@peculiar/asn1-x509';\nimport { AsnParser } from '@peculiar/asn1-schema';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ICertificatePoliciesExtensionProps {\n extension: Extension<CertificatePolicies>;\n}\n\nexport const CertificatePoliciesExtension:\nFunctionalComponent<ICertificatePoliciesExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Policies\"\n value=\"\"\n />,\n extension.value.map((policy) => (\n <TableRowTable>\n <RowValue\n name=\"Policy ID\"\n value={getStringByOID(policy.policyIdentifier)}\n />\n {policy.policyQualifiers && Boolean(policy.policyQualifiers.length) && ([\n <RowValue\n name=\"Qualifiers\"\n value=\"\"\n />,\n policy.policyQualifiers.map((qualifierInfo) => {\n const data = [\n <RowValue\n name=\"Qualifier ID\"\n value={getStringByOID(qualifierInfo.policyQualifierId)}\n />,\n ];\n\n if (qualifierInfo.policyQualifierId === '1.3.6.1.5.5.7.2.1') {\n const value = AsnParser.parse(qualifierInfo.qualifier, DisplayText);\n\n data.push(\n <RowValue\n name=\"Value\"\n value={value.toString()}\n />,\n );\n }\n\n if (qualifierInfo.policyQualifierId === '1.3.6.1.5.5.7.2.2') {\n const value = AsnParser.parse(qualifierInfo.qualifier, UserNotice);\n\n if (value.explicitText) {\n data.push(\n <RowValue\n name=\"Value\"\n value={value.explicitText.toString()}\n />,\n );\n }\n }\n\n return (\n <TableRowTable>\n {data}\n </TableRowTable>\n );\n }),\n ])}\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport default {\n '9606c02c690033aa1d145f59c6e2648d0549f0df96aab8db915a70d8ecf390a5': 'Akamai CT',\n '39376f545f7b4607f59742d768cd5d2437bf3473b6534a4834bcf72e681c83c9': 'Alpha CT',\n a577ac9ced7548dd8f025b67a241089df86e0f476ec203c2ecbedb185f282638: 'CNNIC CT',\n cdb5179b7fc1c046feea31136a3f8f002e6182faf8896fecc8b2f5b5ab604900: 'Certly.IO',\n '1fbc36e002ede97f40199e86b3573b8a4217d80187746ad0da03a06054d20df4': 'Cloudflare “Nimbus2017”',\n db74afeecb29ecb1feca3e716d2ce5b9aabb36f7847183c75d9d4f37b61fbf64: 'Cloudflare “Nimbus2018”',\n '747eda8331ad331091219cce254f4270c2bffd5e422008c6373579e6107bcc56': 'Cloudflare “Nimbus2019”',\n '5ea773f9df56c0e7b536487dd049e0327a919a0c84a112128418759681714558': 'Cloudflare “Nimbus2020”',\n '4494652eb0eeceafc44007d8a8fe28c0dae682bed8cb31b53fd33396b5b681a8': 'Cloudflare “Nimbus2021”',\n '41c8cab1df22464a10c6a13a0942875e4e318b1b03ebeb4bc768f090629606f6': 'Cloudflare “Nimbus2022”',\n '7a328c54d8b72db620ea38e0521ee98416703213854d3bd22bc13a57a352eb52': 'Cloudflare “Nimbus2023”',\n '6ff141b5647e4222f7ef052cefae7c21fd608e27d2af5a6e9f4b8a37d6633ee5': 'DigiCert Nessie2018',\n fe446108b1d01ab78a62ccfeab6ab2b2babff3abdad80a4d8b30df2d0008830c: 'DigiCert Nessie2019',\n c652a0ec48ceb3fcab170992c43a87413309e80065a26252401ba3362a17c565: 'DigiCert Nessie2020',\n eec095ee8d72640f92e3c3b91bc712a3696a097b4b6a1a1438e647b2cbedc5f9: 'DigiCert Nessie2021',\n '51a3b0f5fd01799c566db837788f0ca47acc1b27cbf79e88429a0dfed48b05e5': 'DigiCert Nessie2022',\n b3737707e18450f86386d605a9dc11094a792db1670c0b87dcf0030e7936a59a: 'DigiCert Nessie2023',\n '5614069a2fd7c2ecd3f5e1bd44b23ec74676b9bc99115cc0ef949855d689d0dd': 'DigiCert Server',\n '8775bfe7597cf88c43995fbdf36eff568d475636ff4ab560c1b4eaff5ea0830f': 'DigiCert Server 2',\n c1164ae0a772d2d4392dc80ac10770d4f0c49bde991a4840c1fa075164f63360: 'DigiCert Yeti2018',\n e2694bae26e8e94009e8861bb63b83d43ee7fe7488fba48f2893019dddf1dbfe: 'DigiCert Yeti2019',\n f095a459f200d18240102d2f93888ead4bfe1d47e399e1d034a6b0a8aa8eb273: 'DigiCert Yeti2020',\n '5cdc4392fee6ab4544b15e9ad456e61037fbd5fa47dca17394b25ee6f6c70eca': 'DigiCert Yeti2021',\n '2245450759552456963fa12ff1f76d86e0232663adc04b7f5dc6835c6ee20f02': 'DigiCert Yeti2022',\n '35cf191bbfb16c57bf0fad4c6d42cbbbb627202651ea3fe12aefa803c33bd64c': 'DigiCert Yeti2023',\n '717ea7420975be84a2723553f1777c26dd51af4e102144094d9019b462fb6668': 'GDCA 1',\n '14308d90ccd030135005c01ca526d81e84e87624e39b6248e08f724aea3bb42a': 'GDCA 2',\n c9cf890a21109c666cc17a3ed065c930d0e0135a9feba85af14210b8072421aa: 'GDCA CT #1',\n '924a30f909336ff435d6993a10ac75a2c641728e7fc2d659ae6188ffad40ce01': 'GDCA CT #2',\n fad4c97cc49ee2f8ac85c5ea5cea09d0220dbbf4e49c6b50662ff868f86b8c28: 'Google “Argon2017”',\n a4501269055a15545e6211ab37bc103f62ae5576a45e4b1714453e1b22106a25: 'Google “Argon2018”',\n '63f2dbcde83bcc2ccf0b728427576b33a48d61778fbd75a638b1c768544bd88d': 'Google “Argon2019”',\n b21e05cc8ba2cd8a204e8766f92bb98a2520676bdafa70e7b249532def8b905e: 'Google “Argon2020”',\n f65c942fd1773022145418083094568ee34d131933bfdf0c2f200bcc4ef164e3: 'Google “Argon2021”',\n '2979bef09e393921f056739f63a577e5be577d9c600af8f94d5d265c255dc784': 'Google “Argon2022”',\n e83ed0da3ef5063532e75728bc896bc903d3cbd1116beceb69e1777d6d06bd6e: 'Google “Argon2023”',\n '68f698f81f6482be3a8ceeb9281d4cfc71515d6793d444d10a67acbb4f4ffbc4': 'Google “Aviator”',\n c3bf03a7e1ca8841c607bae3ff4270fca5ec45b186ebbe4e2cf3fc778630f5f6: 'Google “Crucible”',\n '1d024b8eb1498b344dfd87ea3efc0996f7506f235d1d497061a4773c439c25fb': 'Google “Daedalus”',\n '293c519654c83965baaa50fc5807d4b76fbf587a2972dca4c30cf4e54547f478': 'Google “Icarus”',\n a4b90990b418581487bb13a2cc67700a3c359804f91bdfb8e377cd0ec80ddc10: 'Google “Pilot”',\n ee4bbdb775ce60bae142691fabe19e66a30f7e5fb072d88300c47b897aa8fdcb: 'Google “Rocketeer”',\n bbd9dfbc1f8a71b593942397aa927b473857950aab52e81a909664368e1ed185: 'Google “Skydiver”',\n '52eb4b225ec896974850675f23e43bc1d021e3214ce52ecd5fa87c203cdfca03': 'Google “Solera2018”',\n '0b760e9a8b9a682f88985b15e947501a56446bba8830785c3842994386450c00': 'Google “Solera2019”',\n '1fc72ce5a1b799f400c359bff96ca3913548e8644220610952e9ba1774f7bac7': 'Google “Solera2020”',\n a3c99845e80ab7ce00157b3742df0207dd272b2b602ecf98ee2c12db9c5ae7e7: 'Google “Solera2021”',\n '697aafca1a6b536fae21205046debad7e0eaea13d2432e6e9d8fb379f2b9aaf3': 'Google “Solera2022”',\n a899d8780c9290aaf462f31880ccfbd52451e970d0fbf591ef75b0d99b645681: 'Google “Submariner”',\n b0cc83e5a5f97d6baf7c09cc284904872ac7e88b132c6350b7c6fd26e16c6c77: 'Google “Testtube”',\n b10cd559a6d67846811f7df9a51532739ac48d703bea0323da5d38755bc0ad4e: 'Google “Xenon2018”',\n '084114980071532c16190460bcfc47fdc2653afa292c72b37ff863ae29ccc9f0': 'Google “Xenon2019”',\n '07b75c1be57d68fff1b0c61d2315c7bae6577c5794b76aeebc613a1a69d3a21c': 'Google “Xenon2020”',\n '7d3ef2f88fff88556824c2c0ca9e5289792bc50e78097f2e6a9768997e22f0d7': 'Google “Xenon2021”',\n '46a555eb75fa912030b5a28969f4f37d112c4174befd49b885abf2fc70fe6d47': 'Google “Xenon2022”',\n '7461b4a09cfb3d41d75159575b2e7649a445a8d27709b0cc564a6482b7eb41a3': 'Izenpe',\n '8941449c70742e06b9fc9ce7b116ba0024aa36d59af44f0204404f00f7ea8566': 'Izenpe “Argi”',\n '296afa2d568bca0d2ea844956ae9721fc35fa355ecda99693aafd458a71aefdd': 'Let“s Encrypt ”Clicky”',\n '537b69a3564335a9c04904e39593b2c298eb8d7a6e83023635c627248cd6b440': 'Nordu “flimsy”',\n aae70b7f3cb8d566c86c2f16979c9f445f69ab0eb4535589b2f77a030104f3cd: 'Nordu “plausible”',\n e0127629e90496564e3d0147984498aa48f8adb16600eb7902a1ef9909906273: 'PuChuangSiDa CT',\n cf55e28923497c340d5206d05353aeb25834b52f1f8dc9526809f212efdd7ca6: 'SHECA CT 1',\n '32dc59c2d4c41968d56e14bc61ac8f0e45db39faf3c155aa4252f5001fa0c623': 'SHECA CT 2',\n db76fdadac65e7d09508886e2159bd8b90352f5fead3e3dc5e22eb350acc7b98: 'Sectigo (Comodo) “Dodo” CT',\n '6f5376ac31f03119d89900a45115ff77151c11d902c10029068db2089a37d913': 'Sectigo (Comodo) “Mammoth” CT',\n '5581d4c2169036014aea0b9b573c53f0c0e43878702508172fa3aa1d0713d30c': 'Sectigo (Comodo) “Sabre” CT',\n '34bb6ad6c3df9c03eea8a499ff7891486c9d5e5cac92d01f7bfd1bce19db48ef': 'StartCom',\n ddeb1d2b7a0d4fa6208b81ad8168707e2e8e9d01d55c888d3d11c4cdb6ecbecc: 'Symantec',\n a7ce4a4e6207e0addee5fdaa4b1f86768767b5d002a55d47310e7e670a95eab2: 'Symantec Deneb',\n '15970488d7b997a05beb52512adee8d2e8b4a3165264121a9fabfbd5f85ad93f': 'Symantec “Sirius”',\n bc78e1dfc5f63c684649334da10fa15f0979692009c081b4f3f6917f3ed9b8a5: 'Symantec “Vega”',\n b0b784bc81c0ddc47544e883f05985bb9077d134d8ab88b2b2e533980b8e508b: 'Up In The Air “Behind the Sofa”',\n ac3b9aed7fa9674757159e6d7d575672f9d98100941e9bdeffeca1313b75782d: 'Venafi',\n '03019df3fd85a69a8ebd1facc6da9ba73e469774fe77f579fc5a08b8328c1d6b': 'Venafi Gen2 CT',\n '41b2dc2e89e63ce4af1ba7bb29bf68c6dee6f9f1cc047e30dffae3b3ba259263': 'WoSign',\n '63d0006026dde10bb0601f452446965ee2b6ea2cd4fbc95ac866a550af9075b7': 'WoSign 2',\n '9e4ff73dc3ce220b69217c899e468076abf8d78636d5ccfc85a31a75628ba88b': 'WoSign CT #1',\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { CertificateTransparency } from '@peculiar/asn1-cert-transparency';\n\nimport type { Extension } from '../../../crypto/extension';\nimport logs from '../../../constants/logs';\nimport { dateShort } from '../../../utils';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ICertificateTransparencyExtensionProps {\n extension: Extension<CertificateTransparency>;\n}\n\nexport const CertificateTransparencyExtension:\nFunctionalComponent<ICertificateTransparencyExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.items.length) && ([\n <RowValue\n name=\"Signed Certificate Timestamps\"\n value=\"\"\n />,\n extension.value.toJSON().map((signedCertificateTimestamp) => (\n <TableRowTable>\n <RowValue\n name=\"Version\"\n value={signedCertificateTimestamp.version + 1}\n />\n <RowValue\n name=\"Log Operator\"\n value={logs[signedCertificateTimestamp.logId] || signedCertificateTimestamp.logId}\n />\n <RowValue\n name=\"Log Key ID\"\n value={signedCertificateTimestamp.logId}\n monospace\n />\n <RowValue\n name=\"Timestamp\"\n value={dateShort(signedCertificateTimestamp.timestamp)}\n />\n <RowValue\n name=\"Signature Algorithm\"\n value={`${signedCertificateTimestamp.hashAlgorithm} ${signedCertificateTimestamp.signatureAlgorithm}`.toUpperCase()}\n />\n <RowValue\n name=\"Signature\"\n value={signedCertificateTimestamp.signature}\n monospace\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { NameConstraints } from '@peculiar/asn1-x509';\n\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\nimport { GeneralNamePart } from './general_name_part';\n\ninterface INameConstraintsExtensionProps extends IGeneralNameOptions {\n extension: Extension<NameConstraints>;\n}\n\nexport const NameConstraintsExtension:\nFunctionalComponent<INameConstraintsExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.excludedSubtrees?.map((generalSubtree) => (\n <GeneralNamePart\n generalName={generalSubtree.base}\n {...props}\n />\n ))}\n {extension.value.permittedSubtrees?.map((generalSubtree) => (\n <GeneralNamePart\n generalName={generalSubtree.base}\n {...props}\n />\n ))}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { CertificateTemplate } from '@peculiar/asn1-x509-microsoft';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ICertificateTemplateExtensionProps {\n extension: Extension<CertificateTemplate>;\n}\n\nexport const CertificateTemplateExtension:\nFunctionalComponent<ICertificateTemplateExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Template ID\"\n value={extension.value.templateID}\n />\n <RowValue\n name=\"Template Major Version\"\n value={extension.value.templateMajorVersion}\n />\n <RowValue\n name=\"Template Minor Version\"\n value={extension.value.templateMinorVersion}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { EnrollCertTypeChoice } from '@peculiar/asn1-x509-microsoft';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IEnrollCertTypeChoiceExtensionProps {\n extension: Extension<EnrollCertTypeChoice>;\n}\n\nexport const EnrollCertTypeChoiceExtension:\nFunctionalComponent<IEnrollCertTypeChoiceExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Name\"\n value={extension.value.toString()}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { CaVersion } from '@peculiar/asn1-x509-microsoft';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ICaVersionExtensionProps {\n extension: Extension<CaVersion>;\n}\n\nexport const CaVersionExtension: FunctionalComponent<ICaVersionExtensionProps> = (props) => {\n const { extension } = props;\n const version = extension.value.getVersion();\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Certificate Index\"\n value={version.certificateIndex}\n />\n <RowValue\n name=\"Key Index\"\n value={version.keyIndex}\n />\n </BasicExtension>\n );\n};\n","var PdsLocations_1, QcEuPDS_1, QcType_1, QcCClegislation_1;\nimport { __decorate } from \"tslib\";\nimport { AsnArray, AsnProp, AsnPropTypes, AsnType, AsnTypeTypes } from \"@peculiar/asn1-schema\";\nlet Iso4217CurrencyCode = class Iso4217CurrencyCode {\n constructor(value) {\n if (typeof value === \"string\") {\n this.alphabetic = value;\n }\n else if (typeof value === \"number\") {\n this.numeric = value;\n }\n }\n};\n__decorate([\n AsnProp({ type: AsnPropTypes.PrintableString })\n], Iso4217CurrencyCode.prototype, \"alphabetic\", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.PrintableString })\n], Iso4217CurrencyCode.prototype, \"numeric\", void 0);\nIso4217CurrencyCode = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], Iso4217CurrencyCode);\nexport { Iso4217CurrencyCode };\nexport class MonetaryValue {\n constructor(params = {}) {\n this.currency = new Iso4217CurrencyCode();\n this.amount = 0;\n this.exponent = 0;\n Object.assign(this, params);\n }\n}\n__decorate([\n AsnProp({ type: Iso4217CurrencyCode })\n], MonetaryValue.prototype, \"currency\", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer })\n], MonetaryValue.prototype, \"amount\", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer })\n], MonetaryValue.prototype, \"exponent\", void 0);\nlet QcEuLimitValue = class QcEuLimitValue extends MonetaryValue {\n};\nQcEuLimitValue = __decorate([\n AsnType({ type: AsnTypeTypes.Sequence })\n], QcEuLimitValue);\nexport { QcEuLimitValue };\nlet QcEuRetentionPeriod = class QcEuRetentionPeriod {\n constructor(value = 0) {\n this.value = value;\n }\n};\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer })\n], QcEuRetentionPeriod.prototype, \"value\", void 0);\nQcEuRetentionPeriod = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], QcEuRetentionPeriod);\nexport { QcEuRetentionPeriod };\nlet PdsLocation = class PdsLocation {\n constructor(params = {}) {\n this.url = \"\";\n this.language = \"\";\n Object.assign(this, params);\n }\n};\n__decorate([\n AsnProp({ type: AsnPropTypes.IA5String })\n], PdsLocation.prototype, \"url\", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.PrintableString })\n], PdsLocation.prototype, \"language\", void 0);\nPdsLocation = __decorate([\n AsnType({ type: AsnTypeTypes.Sequence })\n], PdsLocation);\nexport { PdsLocation };\nlet PdsLocations = PdsLocations_1 = class PdsLocations extends AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, PdsLocations_1.prototype);\n }\n};\nPdsLocations = PdsLocations_1 = __decorate([\n AsnType({ type: AsnTypeTypes.Sequence, itemType: PdsLocation })\n], PdsLocations);\nexport { PdsLocations };\nlet QcEuPDS = QcEuPDS_1 = class QcEuPDS extends PdsLocations {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, QcEuPDS_1.prototype);\n }\n};\nQcEuPDS = QcEuPDS_1 = __decorate([\n AsnType({ type: AsnTypeTypes.Sequence, itemType: PdsLocation })\n], QcEuPDS);\nexport { QcEuPDS };\nlet QcType = QcType_1 = class QcType extends AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, QcType_1.prototype);\n }\n};\nQcType = QcType_1 = __decorate([\n AsnType({ type: AsnTypeTypes.Sequence, itemType: AsnPropTypes.ObjectIdentifier })\n], QcType);\nexport { QcType };\nlet QcCClegislation = QcCClegislation_1 = class QcCClegislation extends AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, QcCClegislation_1.prototype);\n }\n};\nQcCClegislation = QcCClegislation_1 = __decorate([\n AsnType({ type: AsnTypeTypes.Sequence, itemType: AsnPropTypes.PrintableString })\n], QcCClegislation);\nexport { QcCClegislation };\nexport const id_etsi_qcs = \"0.4.0.1862.1\";\nexport const id_etsi_qcs_qcCompliance = `${id_etsi_qcs}.1`;\nexport const id_etsi_qcs_qcLimitValue = `${id_etsi_qcs}.2`;\nexport const id_etsi_qcs_qcRetentionPeriod = `${id_etsi_qcs}.3`;\nexport const id_etsi_qcs_qcSSCD = `${id_etsi_qcs}.4`;\nexport const id_etsi_qcs_qcPDS = `${id_etsi_qcs}.5`;\nexport const id_etsi_qcs_qcType = `${id_etsi_qcs}.6`;\nexport const id_etsi_qcs_qcCClegislation = `${id_etsi_qcs}.7`;\nexport const id_etsi_qct_esign = `${id_etsi_qcs_qcType}.1`;\nexport const id_etsi_qct_eseal = `${id_etsi_qcs_qcType}.2`;\nexport const id_etsi_qct_web = `${id_etsi_qcs_qcType}.3`;\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport {\n QCStatements,\n id_qcs_pkixQCSyntax_v2,\n SemanticsInformation,\n} from '@peculiar/asn1-x509-qualified';\nimport {\n id_etsi_qcs_qcType,\n QcType,\n id_etsi_qcs_qcPDS,\n PdsLocations,\n id_etsi_qcs_qcRetentionPeriod,\n QcEuRetentionPeriod,\n} from '@peculiar/asn1-x509-qualified-etsi';\nimport { AsnParser } from '@peculiar/asn1-schema';\nimport { Convert } from 'pvtsutils';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IQCStatementsExtensionProps {\n extension: Extension<QCStatements>;\n}\n\nexport const QCStatementsExtension: FunctionalComponent<IQCStatementsExtensionProps> = (props) => {\n const { extension } = props;\n\n function renderStatementInfo(statementId: string, statementInfo: ArrayBuffer) {\n if (!statementInfo.byteLength) {\n return null;\n }\n\n if (statementId === id_qcs_pkixQCSyntax_v2) {\n const semanticsInformation = AsnParser.parse(statementInfo, SemanticsInformation);\n\n return (\n <RowValue\n name=\"Semantics Identifier\"\n value={getStringByOID(semanticsInformation.semanticsIdentifier)}\n />\n );\n }\n\n if (statementId === id_etsi_qcs_qcType) {\n const qcTypes = AsnParser.parse(statementInfo, QcType);\n\n return (\n <RowValue\n name=\"QC Types\"\n value={qcTypes.map((type) => getStringByOID(type)).join(', ')}\n />\n );\n }\n\n if (statementId === id_etsi_qcs_qcRetentionPeriod) {\n const retentionPeriod = AsnParser.parse(statementInfo, QcEuRetentionPeriod);\n\n return (\n <RowValue\n name=\"Retention Period\"\n value={`${retentionPeriod.value} years`}\n />\n );\n }\n\n if (statementId === id_etsi_qcs_qcPDS) {\n const pdsLocations = AsnParser.parse(statementInfo, PdsLocations);\n\n return ([\n <RowValue\n name=\"PDS Locations\"\n value=\"\"\n />,\n pdsLocations.map((location) => (\n <TableRowTable>\n <RowValue\n name=\"URL\"\n value={location.url}\n />\n <RowValue\n name=\"Language\"\n value={location.language}\n />\n </TableRowTable>\n )),\n ]);\n }\n\n return (\n <RowValue\n name=\"Info\"\n value={Convert.ToHex(statementInfo)}\n monospace\n />\n );\n }\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Statements\"\n value=\"\"\n />,\n extension.value.map((statement) => (\n <TableRowTable>\n <RowValue\n name=\"Statement ID\"\n value={getStringByOID(statement.statementId)}\n />\n {renderStatementInfo(statement.statementId, statement.statementInfo)}\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { NetscapeComment } from '@peculiar/asn1-x509-netscape';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface INetscapeCommentExtensionProps {\n extension: Extension<NetscapeComment>;\n}\n\nexport const NetscapeCommentExtension:\nFunctionalComponent<INetscapeCommentExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Comment\"\n value={extension.value.value}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { NetscapeCertType } from '@peculiar/asn1-x509-netscape';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface INetscapeCertTypeExtensionProps {\n extension: Extension<NetscapeCertType>;\n}\n\nexport const NetscapeCertTypeExtension:\nFunctionalComponent<INetscapeCertTypeExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Type\"\n value={extension.value.toJSON().join(', ')}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { LeiRole } from '@peculiar/asn1-lei';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ILeiRoleExtensionProps {\n extension: Extension<LeiRole>;\n}\n\nexport const LeiRoleExtension: FunctionalComponent<ILeiRoleExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Role\"\n value={extension.value.text}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { LeiChoice } from '@peculiar/asn1-lei';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ILeiExtensionProps extends ILeiOptions {\n extension: Extension<LeiChoice>;\n}\n\nexport const LeiExtension: FunctionalComponent<ILeiExtensionProps> = (props) => {\n const { extension, getLEILink } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Identifier\"\n value={extension.value.text}\n href={getLEILink(extension.value.text)}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { Timestamp } from '@peculiar/asn1-adobe-acrobat';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\nimport { l10n } from '../../../utils';\n\nimport { BasicExtension } from './basic_extension';\nimport { GeneralNamePart } from './general_name_part';\n\ninterface ITimestampExtensionProps extends IGeneralNameOptions {\n extension: Extension<Timestamp>;\n}\n\nexport const TimestampExtension: FunctionalComponent<ITimestampExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Version\"\n value={extension.value.version}\n />\n <GeneralNamePart\n generalName={extension.value.location}\n {...props}\n />\n <RowValue\n name=\"Requires Auth\"\n value={extension.value.requiresAuth ? l10n.getString('yes') : l10n.getString('no')}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { ArchiveRevInfo } from '@peculiar/asn1-adobe-acrobat';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IArchiveRevInfoExtensionProps {\n extension: Extension<ArchiveRevInfo>;\n}\n\nexport const ArchiveRevInfoExtension:\nFunctionalComponent<IArchiveRevInfoExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Version\"\n value={extension.value.version}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { CRLReason } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ICRLReasonExtensionProps {\n extension: Extension<CRLReason>;\n}\n\nexport const CRLReasonExtension: FunctionalComponent<ICRLReasonExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Reason\"\n value={extension.value.toJSON()}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Convert } from 'pvtsutils';\nimport { Attribute } from '@peculiar/asn1-x509';\n\nexport function getAttributeValue(attribute: Attribute) {\n return Convert.ToString(attribute.values[0]);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { SubjectDirectoryAttributes } from '@peculiar/asn1-x509';\n\nimport { Extension } from '../../../crypto/extension';\nimport { getStringByOID } from '../../../utils';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\nimport { getAttributeValue } from './attribute_value';\n\ninterface ISubjectDirectoryAttributesExtensionProps {\n extension: Extension<SubjectDirectoryAttributes>;\n}\n\nexport const SubjectDirectoryAttributesExtension:\nFunctionalComponent<ISubjectDirectoryAttributesExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Attributes\"\n value=\"\"\n />,\n extension.value.map((attribute) => (\n <TableRowTable>\n <RowValue\n name=\"Type\"\n value={getStringByOID(attribute.type)}\n />\n <RowValue\n name=\"Value\"\n value={getAttributeValue(attribute)}\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IAsStringExtensionProps {\n extension: Extension<string>;\n}\n\nexport const AsStringExtension: FunctionalComponent<IAsStringExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Value\"\n value={extension.value}\n monospace\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { PrivateKeyUsagePeriod } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\nimport { dateShort } from '../../../utils';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IPrivateKeyUsagePeriodExtensionProps {\n extension: Extension<PrivateKeyUsagePeriod>;\n}\n\nexport const PrivateKeyUsagePeriodExtension:\nFunctionalComponent<IPrivateKeyUsagePeriodExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Not Before\"\n value={dateShort(extension.value.notBefore)}\n />\n <RowValue\n name=\"Not After\"\n value={dateShort(extension.value.notAfter)}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { EntrustVersionInfo } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IEntrustVersionInfoExtensionProps {\n extension: Extension<EntrustVersionInfo>;\n}\n\nexport const EntrustVersionInfoExtension:\nFunctionalComponent<IEntrustVersionInfoExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Version\"\n value={extension.value.entrustVers}\n />\n <RowValue\n name=\"Info Flags\"\n value={extension.value.entrustInfoFlags.toJSON().join(', ')}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { BiometricSyntax } from '@peculiar/asn1-x509-qualified';\nimport { Convert } from 'pvtsutils';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IBiometricSyntaxExtensionProps {\n extension: Extension<BiometricSyntax>;\n}\n\nexport const BiometricSyntaxExtension:\nFunctionalComponent<IBiometricSyntaxExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Biometrics\"\n value=\"\"\n />,\n extension.value.map((data) => (\n <TableRowTable>\n <RowValue\n name=\"OID\"\n value={getStringByOID(data.typeOfBiometricData.biometricDataOid)}\n />\n <RowValue\n name=\"Type\"\n value={data.typeOfBiometricData.predefinedBiometricType}\n />\n <RowValue\n name=\"Algorithm\"\n value={getStringByOID(data.hashAlgorithm.algorithm)}\n />\n <RowValue\n name=\"Hash\"\n value={Convert.ToHex(data.biometricDataHash.buffer)}\n monospace\n />\n <RowValue\n name=\"Source Uri\"\n value={data.sourceDataUri}\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport {\n LogotypeExtn,\n LogotypeInfo,\n LogotypeImage,\n LogotypeAudio,\n} from '@peculiar/asn1-x509-logotype';\nimport { Convert } from 'pvtsutils';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ILogotypeExtensionProps {\n extension: Extension<LogotypeExtn>;\n}\n\nexport const LogotypeExtension: FunctionalComponent<ILogotypeExtensionProps> = (props) => {\n const { extension } = props;\n\n const renderImage = (image?: LogotypeImage[]) => {\n if (!image) {\n return null;\n }\n\n return image.map((img) => {\n const { imageDetails } = img;\n\n return [\n <RowValue\n name=\"Image Type\"\n value={imageDetails.mediaType}\n />,\n <RowValue\n name=\"Image Hash\"\n value={Convert.ToHex(imageDetails.logotypeHash[0].hashValue)}\n monospace\n />,\n <RowValue\n name=\"Image URL\"\n value={imageDetails.logotypeURI[0]}\n monospace\n collapse\n />,\n <RowValue\n name=\"Image Hash Algorithm\"\n value={getStringByOID(imageDetails.logotypeHash[0].hashAlg.algorithm)}\n />,\n ];\n });\n };\n\n const renderAudio = (audio?: LogotypeAudio[]) => {\n if (!audio) {\n return null;\n }\n\n return audio.map((aud) => {\n const { audioDetails } = aud;\n\n return [\n <RowValue\n name=\"Audio Type\"\n value={audioDetails.mediaType}\n />,\n <RowValue\n name=\"Audio Hash\"\n value={Convert.ToHex(audioDetails.logotypeHash[0].hashValue)}\n monospace\n />,\n <RowValue\n name=\"Audio URL\"\n value={audioDetails.logotypeURI[0]}\n monospace\n collapse\n />,\n <RowValue\n name=\"Audio Hash Algorithm\"\n value={getStringByOID(audioDetails.logotypeHash[0].hashAlg.algorithm)}\n />,\n ];\n });\n };\n\n const renderLogo = (title: string, info?: LogotypeInfo) => {\n if (!info || !info.direct) {\n return null;\n }\n\n const { image, audio } = info.direct;\n\n return [\n <RowValue\n name=\"Type\"\n value={title}\n />,\n renderImage(image),\n renderAudio(audio),\n <tr>\n <td />\n <td />\n </tr>,\n ];\n };\n\n return (\n <BasicExtension\n extension={extension}\n >\n {renderLogo('Subject', extension.value.subjectLogo)}\n {renderLogo('Issuer', extension.value.issuerLogo)}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { TNAuthorizationList } from '@peculiar/asn1-rfc8226';\n\nimport { RowValue, TableRowTable } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ITNAuthListExtensionProps {\n extension: Extension<TNAuthorizationList>;\n}\n\nexport const TNAuthListExtension: FunctionalComponent<ITNAuthListExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.length > 0 && ([\n <RowValue\n name=\"Entries\"\n value=\"\"\n />,\n extension.value.map((entry) => (\n <TableRowTable>\n <RowValue\n name=\"SPC\"\n value={entry.spc}\n />\n <RowValue\n name=\"Range\"\n value={entry.range ? `start=${entry.range.start} count==${entry.range.count}` : null}\n />\n <RowValue\n name=\"One\"\n value={entry.one}\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { PolicyConstraints } from '@peculiar/asn1-x509';\nimport { AsnIntegerArrayBufferConverter } from '@peculiar/asn1-schema';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IPolicyConstraintsExtensionProps {\n extension: Extension<PolicyConstraints>;\n}\n\nexport const PolicyConstraintsExtension:\nFunctionalComponent<IPolicyConstraintsExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.requireExplicitPolicy && (\n <RowValue\n name=\"Require Explicit Policy\"\n value={AsnIntegerArrayBufferConverter.toASN(\n extension.value.requireExplicitPolicy,\n ).valueBlock.toString()}\n />\n )}\n {extension.value.inhibitPolicyMapping && (\n <RowValue\n name=\"Inhibit Policy Mapping\"\n value={AsnIntegerArrayBufferConverter.toASN(\n extension.value.inhibitPolicyMapping,\n ).valueBlock.toString()}\n />\n )}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { PolicyMappings } from '@peculiar/asn1-x509';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IPolicyMappingsExtensionProps {\n extension: Extension<PolicyMappings>;\n}\n\nexport const PolicyMappingsExtension:\nFunctionalComponent<IPolicyMappingsExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.length > 0 && ([\n <RowValue\n name=\"Policies\"\n value=\"\"\n />,\n extension.value.map((policy) => (\n <TableRowTable>\n <RowValue\n name=\"Issuer Domain\"\n value={getStringByOID(policy.issuerDomainPolicy)}\n />\n <RowValue\n name=\"Subject Domain\"\n value={getStringByOID(policy.subjectDomainPolicy)}\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { CRLNumber } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\nimport { l10n } from '../../../utils';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ICRLNumberExtensionProps {\n extension: Extension<CRLNumber>;\n}\n\nexport const CRLNumberExtension: FunctionalComponent<ICRLNumberExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name={l10n.getString('value')}\n value={extension.value.value}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { IssuingDistributionPoint } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\nimport { l10n } from '../../../utils';\n\nimport { BasicExtension } from './basic_extension';\nimport { GeneralNamePart } from './general_name_part';\n\ninterface IIssuingDistributionPointExtensionProps extends IGeneralNameOptions {\n extension: Extension<IssuingDistributionPoint>;\n}\n\n// eslint-disable-next-line max-len\nexport const IssuingDistributionPointExtension: FunctionalComponent<IIssuingDistributionPointExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.distributionPoint?.fullName.map((gn) => (\n <GeneralNamePart\n generalName={gn}\n {...props}\n />\n ))}\n {extension.value.onlySomeReasons && (\n <RowValue\n name={l10n.getString('onlyReasons')}\n value={extension.value.onlySomeReasons.toJSON().join(', ')}\n />\n )}\n {extension.value.indirectCRL && (\n <RowValue\n name={l10n.getString('indirectCRL')}\n value={l10n.getString('yes')}\n />\n )}\n {extension.value.onlyContainsUserCerts && (\n <RowValue\n name={l10n.getString('onlyUserCertificates')}\n value={l10n.getString('yes')}\n />\n )}\n {extension.value.onlyContainsAttributeCerts && (\n <RowValue\n name={l10n.getString('onlyAttributeCertificates')}\n value={l10n.getString('yes')}\n />\n )}\n {extension.value.onlyContainsCACerts && (\n <RowValue\n name={l10n.getString('onlyCACertificates')}\n value={l10n.getString('yes')}\n />\n )}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport {\n NonStandardKeyDescription,\n AttestationApplicationId,\n AuthorizationList,\n IntegerSet,\n RootOfTrust,\n} from '@peculiar/asn1-android';\nimport { Convert, BufferSourceConverter } from 'pvtsutils';\nimport { AsnParser } from '@peculiar/asn1-schema';\n\nimport { l10n, camelCaseToWords } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IKeyDescriptionExtensionProps {\n extension: Extension<NonStandardKeyDescription>;\n}\n\nexport const KeyDescriptionExtension:\nFunctionalComponent<IKeyDescriptionExtensionProps> = (props) => {\n const { extension } = props;\n\n const renderRowValue = (data: Object) => Object.keys(data).map((keyName) => {\n const keyValue = data[keyName];\n let value: string | number | string[] = '';\n\n switch (true) {\n case typeof keyValue === 'string' || typeof keyValue === 'number':\n value = keyValue;\n break;\n\n case keyValue instanceof IntegerSet:\n value = keyValue.join(', ');\n break;\n\n case typeof keyValue === 'boolean':\n value = keyValue\n ? l10n.getString('yes')\n : l10n.getString('no');\n break;\n\n case Object.is(keyValue, null):\n value = 'NULL';\n break;\n\n case keyValue instanceof RootOfTrust:\n return [\n <RowValue\n name={camelCaseToWords(keyName)}\n value=\"\"\n />,\n <TableRowTable>\n {renderRowValue(keyValue)}\n </TableRowTable>,\n ];\n\n case BufferSourceConverter.isBufferSource(keyValue):\n if (keyName === 'attestationApplicationId') {\n try {\n const parsed = AsnParser.parse(keyValue, AttestationApplicationId);\n\n if (parsed.packageInfos.length || parsed.signatureDigests.length) {\n return [\n <RowValue\n name={camelCaseToWords(keyName)}\n value=\"\"\n />,\n Boolean(parsed.packageInfos) && (\n <TableRowTable>\n <RowValue\n name={camelCaseToWords('packageInfos')}\n value=\"\"\n />\n {parsed.packageInfos.map((attestationPackageInfo) => (\n <TableRowTable>\n {renderRowValue(attestationPackageInfo)}\n </TableRowTable>\n ))}\n </TableRowTable>\n ),\n ];\n }\n } catch (error) {\n //\n }\n }\n\n try {\n value = Convert.ToString(keyValue);\n } catch (error) {\n value = Convert.ToHex(keyValue);\n }\n\n break;\n\n default:\n }\n\n return (\n <RowValue\n name={camelCaseToWords(keyName)}\n value={value}\n />\n );\n });\n\n const renderAuthorizationList = (title: string, authorizationList: AuthorizationList[]) => {\n if (authorizationList.length === 0) {\n return null;\n }\n\n return [\n <RowValue\n name={title}\n value=\"\"\n />,\n <TableRowTable>\n {authorizationList.map(renderRowValue)}\n </TableRowTable>,\n ];\n };\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name={camelCaseToWords('attestationVersion')}\n value={extension.value.attestationVersion}\n />\n <RowValue\n name={camelCaseToWords('attestationSecurityLevel')}\n value={extension.value.attestationSecurityLevel}\n />\n <RowValue\n name={camelCaseToWords('keymasterVersion')}\n value={extension.value.keymasterVersion}\n />\n <RowValue\n name={camelCaseToWords('keymasterSecurityLevel')}\n value={extension.value.keymasterSecurityLevel}\n />\n <RowValue\n name={camelCaseToWords('attestationChallenge')}\n value={Convert.ToString(extension.value.attestationChallenge)}\n />\n <RowValue\n name={camelCaseToWords('uniqueId')}\n value={Convert.ToString(extension.value.uniqueId) || undefined}\n />\n {renderAuthorizationList(camelCaseToWords('softwareEnforced'), extension.value.softwareEnforced)}\n {renderAuthorizationList(camelCaseToWords('teeEnforced'), extension.value.teeEnforced)}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\n\nimport { Extension } from '../../../crypto/extension';\nimport { CabforganizationIdentifier } from '../../../crypto/extensions';\nimport { RowValue } from '../row';\n\nimport { BasicExtension } from './basic_extension';\nimport { camelCaseToWords } from '../../../utils';\n\ninterface ICabforganizationIdentifierExtensionProps {\n extension: Extension<CabforganizationIdentifier>;\n}\n\nexport const CabforganizationIdentifierExtension: FunctionalComponent<\nICabforganizationIdentifierExtensionProps\n> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Object.keys(extension.value).map((keyName) => (\n <RowValue\n name={camelCaseToWords(keyName)}\n value={extension.value[keyName]}\n />\n ))}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport {\n KeyUsage,\n BasicConstraints,\n ExtendedKeyUsage,\n SubjectKeyIdentifier,\n AuthorityKeyIdentifier,\n CRLDistributionPoints,\n AuthorityInfoAccessSyntax,\n SubjectAlternativeName,\n CertificatePolicies,\n NameConstraints,\n CRLReason,\n CRLNumber,\n SubjectDirectoryAttributes,\n PrivateKeyUsagePeriod,\n EntrustVersionInfo,\n PolicyConstraints,\n PolicyMappings,\n SubjectInfoAccessSyntax,\n IssuingDistributionPoint,\n} from '@peculiar/asn1-x509';\nimport { CertificateTransparency } from '@peculiar/asn1-cert-transparency';\nimport {\n CertificateTemplate,\n EnrollCertTypeChoice,\n CaVersion,\n} from '@peculiar/asn1-x509-microsoft';\nimport { QCStatements, BiometricSyntax } from '@peculiar/asn1-x509-qualified';\nimport { NetscapeComment, NetscapeCertType } from '@peculiar/asn1-x509-netscape';\nimport { LeiRole, LeiChoice } from '@peculiar/asn1-lei';\nimport { Timestamp, ArchiveRevInfo } from '@peculiar/asn1-adobe-acrobat';\nimport { LogotypeExtn } from '@peculiar/asn1-x509-logotype';\nimport { TNAuthorizationList } from '@peculiar/asn1-rfc8226';\nimport { NonStandardKeyDescription } from '@peculiar/asn1-android';\n\nimport { RowTitle } from '../row';\nimport { Extension, TExtensionValue } from '../../../crypto/extension';\nimport {\n CabforganizationIdentifier,\n} from '../../../crypto/extensions';\n\nimport { KeyUsageExtension } from './key_usage_extension';\nimport { BasicConstraintsExtension } from './basic_constraints_extension';\nimport { ExtendedKeyUsageExtension } from './extended_key_usage_extension';\nimport { SubjectKeyIdentifierExtension } from './subject_key_identifier_extension';\nimport { AuthorityKeyIdentifierExtension } from './authority_key_identifier_extension';\nimport { CRLDistributionPointsExtension } from './crl_distribution_points_extension';\nimport { InfoAccessSyntaxExtension } from './info_access_syntax_extension';\nimport { SubjectAlternativeNameExtension } from './subject_alternative_name_extension';\nimport { CertificatePoliciesExtension } from './certificate_policies_extension';\nimport { CertificateTransparencyExtension } from './certificate_transparency_extension';\nimport { NameConstraintsExtension } from './name_constraints_extension';\nimport { CertificateTemplateExtension } from './certificate_template_extension';\nimport { EnrollCertTypeChoiceExtension } from './enroll_cert_type_extension';\nimport { CaVersionExtension } from './ca_version_extension';\nimport { QCStatementsExtension } from './qc_statements_extension';\nimport { NetscapeCommentExtension } from './netscape_comment_extension';\nimport { NetscapeCertTypeExtension } from './netscape_cert_type_extension';\nimport { LeiRoleExtension } from './lei_role_extennsion';\nimport { LeiExtension } from './lei_extension';\nimport { TimestampExtension } from './timestamp_extension';\nimport { ArchiveRevInfoExtension } from './archive_rev_info_extension';\nimport { CRLReasonExtension } from './crl_reason_extension';\nimport { SubjectDirectoryAttributesExtension } from './subject_directory_attributes_extension';\nimport { AsStringExtension } from './as_string_extension';\nimport { BasicExtension } from './basic_extension';\nimport { PrivateKeyUsagePeriodExtension } from './private_key_usage_period_extension';\nimport { EntrustVersionInfoExtension } from './entrust_version_info_extension';\nimport { BiometricSyntaxExtension } from './biometric_syntax_extension';\nimport { LogotypeExtension } from './logotype_extension';\nimport { TNAuthListExtension } from './tn_auth_list_extension';\nimport { PolicyConstraintsExtension } from './policy_constraints_extension';\nimport { PolicyMappingsExtension } from './policy_mappings_extension';\nimport { CRLNumberExtension } from './crl_number_extension';\nimport { IssuingDistributionPointExtension } from './issuing_distribution_point_extension';\nimport { KeyDescriptionExtension } from './key_description_extension';\nimport { CabforganizationIdentifierExtension } from './cabforganization_identifier_extension';\n\ninterface IExtensionsProps extends\n IGeneralNameOptions,\n ILeiOptions,\n IAuthorityKeyIdentifierOptions,\n ISubjectKeyIdentifierOptions {\n extensions: Extension<TExtensionValue>[];\n title?: string;\n}\n\nexport const Extensions: FunctionalComponent<IExtensionsProps> = (props) => {\n const { extensions, title } = props;\n\n if (!extensions || !extensions.length) {\n return null;\n }\n\n return ([\n <RowTitle\n value={title || 'Extensions'}\n />,\n extensions.map((extension) => {\n try {\n if (extension.value instanceof KeyUsage) {\n return (\n <KeyUsageExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof BasicConstraints) {\n return (\n <BasicConstraintsExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof ExtendedKeyUsage) {\n return (\n <ExtendedKeyUsageExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof SubjectKeyIdentifier) {\n return (\n <SubjectKeyIdentifierExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof AuthorityKeyIdentifier) {\n return (\n <AuthorityKeyIdentifierExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof CRLDistributionPoints) {\n return (\n <CRLDistributionPointsExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (\n extension.value instanceof AuthorityInfoAccessSyntax\n || extension.value instanceof SubjectInfoAccessSyntax\n ) {\n return (\n <InfoAccessSyntaxExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof SubjectAlternativeName) {\n return (\n <SubjectAlternativeNameExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof CertificatePolicies) {\n return (\n <CertificatePoliciesExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof CertificateTransparency) {\n return (\n <CertificateTransparencyExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof NameConstraints) {\n return (\n <NameConstraintsExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof CertificateTemplate) {\n return (\n <CertificateTemplateExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof EnrollCertTypeChoice) {\n return (\n <EnrollCertTypeChoiceExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof CaVersion) {\n return (\n <CaVersionExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof QCStatements) {\n return (\n <QCStatementsExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof NetscapeComment) {\n return (\n <NetscapeCommentExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof NetscapeCertType) {\n return (\n <NetscapeCertTypeExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof LeiRole) {\n return (\n <LeiRoleExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof LeiChoice) {\n return (\n <LeiExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof Timestamp) {\n return (\n <TimestampExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof ArchiveRevInfo) {\n return (\n <ArchiveRevInfoExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof CRLReason) {\n return (\n <CRLReasonExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof SubjectDirectoryAttributes) {\n return (\n <SubjectDirectoryAttributesExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof PrivateKeyUsagePeriod) {\n return (\n <PrivateKeyUsagePeriodExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof EntrustVersionInfo) {\n return (\n <EntrustVersionInfoExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof BiometricSyntax) {\n return (\n <BiometricSyntaxExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof LogotypeExtn) {\n return (\n <LogotypeExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof TNAuthorizationList) {\n return (\n <TNAuthListExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof PolicyConstraints) {\n return (\n <PolicyConstraintsExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof PolicyMappings) {\n return (\n <PolicyMappingsExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof CRLNumber) {\n return (\n <CRLNumberExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof IssuingDistributionPoint) {\n return (\n <IssuingDistributionPointExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof NonStandardKeyDescription) {\n return (\n <KeyDescriptionExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof CabforganizationIdentifier) {\n return (\n <CabforganizationIdentifierExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (typeof extension.value === 'string') {\n return (\n <AsStringExtension\n extension={extension as any}\n />\n );\n }\n\n return (\n <BasicExtension\n extension={extension}\n />\n );\n } catch (error) {\n console.error('Error render extension:', extension.asn.extnID);\n\n return null;\n }\n }),\n ]);\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\n\nimport {\n X509Certificate,\n X509AttributeCertificate,\n Pkcs10CertificateRequest,\n X509Crl,\n} from '../../crypto';\nimport { l10n } from '../../utils';\nimport { Button } from '../button';\nimport { DownloadIcon } from '../icons';\nimport { RowTitle } from './row';\n\ntype CertificateType = X509Certificate\n| X509AttributeCertificate\n| Pkcs10CertificateRequest\n| X509Crl;\n\ninterface IMiscellaneousProps {\n certificate: CertificateType;\n}\n\nexport const Miscellaneous: FunctionalComponent<IMiscellaneousProps> = (props) => {\n const { certificate } = props;\n\n return [\n <RowTitle\n value={l10n.getString('miscellaneous')}\n />,\n <tr>\n <td>\n <Button\n onClick={() => certificate.downloadAsPEM()}\n startIcon={<DownloadIcon />}\n >\n {l10n.getString('download.pem')}\n </Button>\n </td>\n </tr>,\n <tr>\n <td>\n <Button\n onClick={() => certificate.downloadAsDER()}\n startIcon={<DownloadIcon />}\n >\n {l10n.getString('download.der')}\n </Button>\n </td>\n </tr>,\n ];\n};\n"],"version":3}