@peculiar/certificates-viewer 3.6.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/dist/cjs/{certification_request-6cd86a69.js → certification_request-6eb7ef37.js} +6982 -6865
  2. package/dist/cjs/{crl-91c8642c.js → crl-75106e2e.js} +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/{public_key-dccd1cdf.js → miscellaneous-0eade914.js} +387 -225
  5. package/dist/cjs/peculiar-attribute-certificate-viewer_3.cjs.entry.js +87 -90
  6. package/dist/cjs/{peculiar-certificate-summary_3.cjs.entry.js → peculiar-button-split_4.cjs.entry.js} +35 -0
  7. package/dist/cjs/peculiar-button.cjs.entry.js +40 -0
  8. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +3 -3
  9. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +5 -5
  10. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +2 -2
  11. package/dist/cjs/peculiar-link.cjs.entry.js +29 -0
  12. package/dist/cjs/peculiar-text-hider.cjs.entry.js +33 -0
  13. package/dist/cjs/peculiar-typography.cjs.entry.js +38 -0
  14. package/dist/cjs/peculiar.cjs.js +1 -1
  15. package/dist/cjs/{x509_certificate-87a3fdb6.js → x509_certificate-9e7652cf.js} +18 -4
  16. package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js +1 -8
  17. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/attributes/basic_attribute.js +1 -1
  18. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/basic_extension.js +1 -2
  19. package/dist/collection/components/certificate-details-parts/extensions/biometric_syntax_extension.js +27 -0
  20. package/dist/collection/components/certificate-details-parts/extensions/certificate_policies_extension.js +43 -0
  21. package/dist/collection/components/certificate-details-parts/extensions/certificate_transparency_extension.js +28 -0
  22. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/extended_key_usage_extension.js +7 -3
  23. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/general_name_part.js +1 -1
  24. package/dist/collection/components/certificate-details-parts/extensions/info_access_syntax_extension.js +24 -0
  25. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/logotype_extension.js +1 -1
  26. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/policy_mappings_extension.js +1 -1
  27. package/dist/collection/components/certificate-details-parts/extensions/qc_statements_extension.js +54 -0
  28. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/subject_directory_attributes_extension.js +8 -7
  29. package/dist/collection/components/{attribute-certificate-viewer → certificate-details-parts}/holder.js +3 -4
  30. package/dist/collection/components/certificate-details-parts/index.js +15 -0
  31. package/dist/collection/components/{attribute-certificate-viewer → certificate-details-parts}/issuer.js +2 -2
  32. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/public_key.js +14 -9
  33. package/dist/collection/components/{crl-viewer → certificate-details-parts}/revoked_certificates.js +3 -7
  34. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/row.js +3 -0
  35. package/dist/collection/components/certificate-details-parts/signature.js +31 -0
  36. package/dist/collection/components/certificate-viewer/certificate-viewer.css +4 -0
  37. package/dist/collection/components/certificate-viewer/certificate-viewer.js +1 -8
  38. package/dist/collection/components/crl-viewer/crl-viewer.js +1 -7
  39. package/dist/collection/components/csr-viewer/csr-viewer.js +1 -8
  40. package/dist/collection/constants/oids.js +21 -13
  41. package/dist/collection/crypto/x509_certificate.js +18 -3
  42. package/dist/collection/{components/certificate-viewer → utils}/get_string_by_oid.js +1 -1
  43. package/dist/collection/utils/index.js +1 -0
  44. package/dist/esm/{certification_request-5089bdb5.js → certification_request-4adeae0c.js} +6727 -6618
  45. package/dist/esm/{crl-cd78d029.js → crl-2857d300.js} +1 -1
  46. package/dist/esm/loader.js +1 -1
  47. package/dist/esm/{public_key-081d831c.js → miscellaneous-91256fd3.js} +387 -226
  48. package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js +54 -57
  49. package/dist/esm/{peculiar-certificate-summary_3.entry.js → peculiar-button-split_4.entry.js} +35 -1
  50. package/dist/esm/peculiar-button.entry.js +36 -0
  51. package/dist/esm/peculiar-certificate-decoder.entry.js +3 -3
  52. package/dist/esm/peculiar-certificate-viewer.entry.js +4 -4
  53. package/dist/esm/peculiar-certificates-viewer.entry.js +2 -2
  54. package/dist/esm/peculiar-link.entry.js +25 -0
  55. package/dist/esm/peculiar-text-hider.entry.js +29 -0
  56. package/dist/esm/peculiar-typography.entry.js +34 -0
  57. package/dist/esm/peculiar.js +1 -1
  58. package/dist/esm/{x509_certificate-69c7b972.js → x509_certificate-e7b4d8d1.js} +18 -4
  59. package/dist/peculiar/p-05f4713f.js +11 -0
  60. package/dist/peculiar/{p-39896604.entry.js → p-22d8ae9c.entry.js} +1 -1
  61. package/dist/peculiar/{p-72856c36.entry.js → p-40808c02.entry.js} +1 -1
  62. package/dist/peculiar/p-57b89412.entry.js +4 -0
  63. package/dist/peculiar/p-5fb5f008.entry.js +18 -0
  64. package/dist/peculiar/p-610b85e3.entry.js +4 -0
  65. package/dist/peculiar/p-6d37c8b5.entry.js +4 -0
  66. package/dist/peculiar/p-77121cf7.js +69 -0
  67. package/dist/peculiar/p-7de0bfb3.entry.js +4 -0
  68. package/dist/peculiar/p-893659f4.entry.js +4 -0
  69. package/dist/peculiar/p-918aeee4.entry.js +4 -0
  70. package/dist/peculiar/p-b44dc7c9.js +79 -0
  71. package/dist/peculiar/{p-85377ca1.js → p-e7518804.js} +3 -3
  72. package/dist/peculiar/peculiar.esm.js +1 -1
  73. package/dist/types/components/certificate-details-parts/index.d.ts +12 -0
  74. package/dist/types/components/{certificate-viewer → certificate-details-parts}/row.d.ts +1 -0
  75. package/dist/types/constants/oids.d.ts +7 -0
  76. package/dist/types/crypto/x509_certificate.d.ts +6 -1
  77. package/dist/types/utils/index.d.ts +1 -0
  78. package/package.json +21 -19
  79. package/dist/cjs/peculiar-button_5.cjs.entry.js +0 -148
  80. package/dist/collection/components/certificate-viewer/extensions/biometric_syntax_extension.js +0 -26
  81. package/dist/collection/components/certificate-viewer/extensions/certificate_policies_extension.js +0 -43
  82. package/dist/collection/components/certificate-viewer/extensions/certificate_transparency_extension.js +0 -27
  83. package/dist/collection/components/certificate-viewer/extensions/info_access_syntax_extension.js +0 -23
  84. package/dist/collection/components/certificate-viewer/extensions/qc_statements_extension.js +0 -23
  85. package/dist/collection/components/certificate-viewer/signature.js +0 -26
  86. package/dist/esm/peculiar-button_5.entry.js +0 -140
  87. package/dist/peculiar/p-28d6119e.entry.js +0 -26
  88. package/dist/peculiar/p-3bd51c63.js +0 -87
  89. package/dist/peculiar/p-870c3592.entry.js +0 -4
  90. package/dist/peculiar/p-a7322c0b.js +0 -11
  91. package/dist/peculiar/p-ade86ece.entry.js +0 -4
  92. package/dist/peculiar/p-dafae164.entry.js +0 -4
  93. package/dist/peculiar/p-f8d68bc3.js +0 -63
  94. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/attributes/activity_description_attribute.js +1 -1
  95. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/attributes/as_string_attribute.js +1 -1
  96. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/attributes/challenge_password_attribute.js +1 -1
  97. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/attributes/index.js +0 -0
  98. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/attributes/insurance_value_attribute.js +1 -1
  99. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/attributes/name_attribute.js +0 -0
  100. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/attributes/name_part.js +0 -0
  101. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/attributes/type_relationship_attribute.js +1 -1
  102. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/attributes/unstructured_name_attribute.js +1 -1
  103. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/attributes/valuation_ranking_attribute.js +1 -1
  104. package/dist/collection/components/{certificate-viewer → certificate-details-parts}/attributes/web_gdpr_attribute.js +1 -1
  105. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/basic_information.js +0 -0
  106. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/archive_rev_info_extension.js +0 -0
  107. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/as_string_extension.js +0 -0
  108. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/attribute_value.js +0 -0
  109. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/authority_key_identifier_extension.js +0 -0
  110. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/basic_constraints_extension.js +0 -0
  111. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/ca_version_extension.js +0 -0
  112. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/certificate_template_extension.js +0 -0
  113. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/crl_distribution_points_extension.js +0 -0
  114. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/crl_number_extension.js +0 -0
  115. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/crl_reason_extension.js +0 -0
  116. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/enroll_cert_type_extension.js +0 -0
  117. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/entrust_version_info_extension.js +0 -0
  118. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/index.js +0 -0
  119. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/issuing_distribution_point_extension.js +0 -0
  120. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/key_usage_extension.js +0 -0
  121. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/lei_extension.js +0 -0
  122. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/lei_role_extennsion.js +0 -0
  123. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/name_constraints_extension.js +0 -0
  124. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/netscape_cert_type_extension.js +0 -0
  125. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/netscape_comment_extension.js +0 -0
  126. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/policy_constraints_extension.js +0 -0
  127. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/private_key_usage_period_extension.js +0 -0
  128. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/subject_alternative_name_extension.js +0 -0
  129. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/subject_key_identifier_extension.js +0 -0
  130. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/timestamp_extension.js +0 -0
  131. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/extensions/tn_auth_list_extension.js +0 -0
  132. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/issuer_name.js +0 -0
  133. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/miscellaneous.js +0 -0
  134. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/subject_name.js +0 -0
  135. /package/dist/collection/components/{certificate-viewer → certificate-details-parts}/thumbprints.js +0 -0
  136. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/attributes/activity_description_attribute.d.ts +0 -0
  137. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/attributes/as_string_attribute.d.ts +0 -0
  138. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/attributes/basic_attribute.d.ts +0 -0
  139. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/attributes/challenge_password_attribute.d.ts +0 -0
  140. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/attributes/index.d.ts +0 -0
  141. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/attributes/insurance_value_attribute.d.ts +0 -0
  142. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/attributes/name_attribute.d.ts +0 -0
  143. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/attributes/name_part.d.ts +0 -0
  144. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/attributes/type_relationship_attribute.d.ts +0 -0
  145. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/attributes/unstructured_name_attribute.d.ts +0 -0
  146. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/attributes/valuation_ranking_attribute.d.ts +0 -0
  147. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/attributes/web_gdpr_attribute.d.ts +0 -0
  148. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/basic_information.d.ts +0 -0
  149. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/archive_rev_info_extension.d.ts +0 -0
  150. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/as_string_extension.d.ts +0 -0
  151. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/attribute_value.d.ts +0 -0
  152. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/authority_key_identifier_extension.d.ts +0 -0
  153. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/basic_constraints_extension.d.ts +0 -0
  154. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/basic_extension.d.ts +0 -0
  155. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/biometric_syntax_extension.d.ts +0 -0
  156. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/ca_version_extension.d.ts +0 -0
  157. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/certificate_policies_extension.d.ts +0 -0
  158. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/certificate_template_extension.d.ts +0 -0
  159. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/certificate_transparency_extension.d.ts +0 -0
  160. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/crl_distribution_points_extension.d.ts +0 -0
  161. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/crl_number_extension.d.ts +0 -0
  162. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/crl_reason_extension.d.ts +0 -0
  163. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/enroll_cert_type_extension.d.ts +0 -0
  164. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/entrust_version_info_extension.d.ts +0 -0
  165. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/extended_key_usage_extension.d.ts +0 -0
  166. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/general_name_part.d.ts +0 -0
  167. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/index.d.ts +0 -0
  168. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/info_access_syntax_extension.d.ts +0 -0
  169. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/issuing_distribution_point_extension.d.ts +0 -0
  170. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/key_usage_extension.d.ts +0 -0
  171. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/lei_extension.d.ts +0 -0
  172. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/lei_role_extennsion.d.ts +0 -0
  173. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/logotype_extension.d.ts +0 -0
  174. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/name_constraints_extension.d.ts +0 -0
  175. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/netscape_cert_type_extension.d.ts +0 -0
  176. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/netscape_comment_extension.d.ts +0 -0
  177. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/policy_constraints_extension.d.ts +0 -0
  178. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/policy_mappings_extension.d.ts +0 -0
  179. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/private_key_usage_period_extension.d.ts +0 -0
  180. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/qc_statements_extension.d.ts +0 -0
  181. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/subject_alternative_name_extension.d.ts +0 -0
  182. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/subject_directory_attributes_extension.d.ts +0 -0
  183. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/subject_key_identifier_extension.d.ts +0 -0
  184. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/timestamp_extension.d.ts +0 -0
  185. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/extensions/tn_auth_list_extension.d.ts +0 -0
  186. /package/dist/types/components/{attribute-certificate-viewer → certificate-details-parts}/holder.d.ts +0 -0
  187. /package/dist/types/components/{attribute-certificate-viewer → certificate-details-parts}/issuer.d.ts +0 -0
  188. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/issuer_name.d.ts +0 -0
  189. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/miscellaneous.d.ts +0 -0
  190. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/public_key.d.ts +0 -0
  191. /package/dist/types/components/{crl-viewer → certificate-details-parts}/revoked_certificates.d.ts +0 -0
  192. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/signature.d.ts +0 -0
  193. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/subject_name.d.ts +0 -0
  194. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/thumbprints.d.ts +0 -0
  195. /package/dist/types/components/{certificate-viewer → certificate-details-parts}/types.d.ts +0 -0
  196. /package/dist/types/{components/certificate-viewer → utils}/get_string_by_oid.d.ts +0 -0
@@ -4,9 +4,9 @@
4
4
  'use strict';
5
5
 
6
6
  const index = require('./index-064e95c7.js');
7
- const download = require('./download-a97f4cb2.js');
8
7
  const l10n = require('./l10n-17c96aba.js');
9
- const certification_request = require('./certification_request-6cd86a69.js');
8
+ const download = require('./download-a97f4cb2.js');
9
+ const certification_request = require('./certification_request-6eb7ef37.js');
10
10
 
11
11
  /**
12
12
  * @license
@@ -23,6 +23,17 @@ function getStringByOID(value) {
23
23
  return value;
24
24
  }
25
25
 
26
+ /**
27
+ * @license
28
+ * Copyright (c) Peculiar Ventures, LLC.
29
+ *
30
+ * This source code is licensed under the MIT license found in the
31
+ * LICENSE file in the root directory of this source tree.
32
+ */
33
+ const getLEILink = (lei) => `https://search.gleif.org/#/record/${lei}`;
34
+ const getDNSNameLink = (dnsName) => `https://search.censys.io/search?resource=hosts&q=dns.names%3A${dnsName}`;
35
+ const getIPAddressLink = (ipAddress) => `https://search.censys.io/search?resource=hosts&q=ip%3A${ipAddress}`;
36
+
26
37
  /**
27
38
  * @license
28
39
  * Copyright (c) Peculiar Ventures, LLC.
@@ -41,6 +52,9 @@ function isLink(value) {
41
52
  * This source code is licensed under the MIT license found in the
42
53
  * LICENSE file in the root directory of this source tree.
43
54
  */
55
+ const TableRowTable = (_, children) => (index.h("tr", null,
56
+ index.h("td", { colSpan: 2 },
57
+ index.h("table", null, children))));
44
58
  const RowTitle = (props) => {
45
59
  const { value } = props;
46
60
  if (!value) {
@@ -85,15 +99,67 @@ const RowValue = (props) => {
85
99
  * This source code is licensed under the MIT license found in the
86
100
  * LICENSE file in the root directory of this source tree.
87
101
  */
88
- const Signature = (props) => {
89
- const { signature } = props;
90
- if (!signature) {
102
+ const BasicInformation = (props) => {
103
+ const { serialNumber, version, validity, notBefore, notAfter, lastUpdate, nextUpdate, type, } = props;
104
+ return [
105
+ index.h(RowTitle, { value: l10n.l10n.getString('basicInformation') }),
106
+ index.h(RowValue, { name: l10n.l10n.getString('type'), value: type }),
107
+ index.h(RowValue, { name: l10n.l10n.getString('serialNumber'), value: serialNumber, monospace: true }),
108
+ index.h(RowValue, { name: l10n.l10n.getString('version'), value: version }),
109
+ index.h(RowValue, { name: l10n.l10n.getString('validity'), value: validity }),
110
+ index.h(RowValue, { name: l10n.l10n.getString('issued'), value: notBefore ? l10n.dateShort(notBefore) : undefined }),
111
+ index.h(RowValue, { name: l10n.l10n.getString('expired'), value: notAfter ? l10n.dateShort(notAfter) : undefined }),
112
+ index.h(RowValue, { name: l10n.l10n.getString('lastUpdate'), value: lastUpdate ? l10n.dateShort(lastUpdate) : undefined }),
113
+ index.h(RowValue, { name: l10n.l10n.getString('nextUpdate'), value: nextUpdate ? l10n.dateShort(nextUpdate) : undefined }),
114
+ ];
115
+ };
116
+
117
+ /**
118
+ * @license
119
+ * Copyright (c) Peculiar Ventures, LLC.
120
+ *
121
+ * This source code is licensed under the MIT license found in the
122
+ * LICENSE file in the root directory of this source tree.
123
+ */
124
+ function getPublicKeyModulus(publicKey) {
125
+ var _a;
126
+ if ((_a = publicKey.params) === null || _a === void 0 ? void 0 : _a['modulus']) {
127
+ let length = publicKey.params['modulus'].byteLength;
128
+ if (length % 2) {
129
+ length -= 1;
130
+ }
131
+ return length * 8;
132
+ }
133
+ return null;
134
+ }
135
+ function getPublicKeyExponent(publicKey) {
136
+ var _a;
137
+ if ((_a = publicKey.params) === null || _a === void 0 ? void 0 : _a['publicExponent']) {
138
+ return publicKey.params['publicExponent'].byteLength === 3
139
+ ? 65537
140
+ : 3;
141
+ }
142
+ return null;
143
+ }
144
+ const PublicKey = (props) => {
145
+ const { publicKey } = props;
146
+ if (!publicKey) {
91
147
  return null;
92
148
  }
149
+ function renderKeyDetails(key) {
150
+ var _a;
151
+ return [
152
+ index.h(RowValue, { name: l10n.l10n.getString('algorithm'), value: getStringByOID(key.algorithm) }),
153
+ index.h(RowValue, { name: l10n.l10n.getString('namedCurve'), value: getStringByOID((_a = key.params) === null || _a === void 0 ? void 0 : _a['namedCurve']) }),
154
+ index.h(RowValue, { name: l10n.l10n.getString('exponent'), value: getPublicKeyExponent(key) }),
155
+ index.h(RowValue, { name: l10n.l10n.getString('modulus'), value: getPublicKeyModulus(key) }),
156
+ index.h(RowValue, { name: l10n.l10n.getString('value'), value: download.build.Convert.ToHex(key.value), monospace: true, collapse: true }),
157
+ ];
158
+ }
93
159
  return [
94
- index.h(RowTitle, { value: l10n.l10n.getString('signature') }),
95
- index.h(RowValue, { name: l10n.l10n.getString('algorithm'), value: getStringByOID(signature.algorithm) }),
96
- index.h(RowValue, { name: l10n.l10n.getString('value'), value: download.build.Convert.ToHex(signature.value), monospace: true, collapse: true }),
160
+ index.h(RowTitle, { value: l10n.l10n.getString('publicKeyInfo') }),
161
+ renderKeyDetails(publicKey),
162
+ (Array.isArray(publicKey.params) && publicKey.params.length && publicKey.params.map((param) => (index.h(TableRowTable, null, renderKeyDetails(param))))),
97
163
  ];
98
164
  };
99
165
 
@@ -104,63 +170,53 @@ const Signature = (props) => {
104
170
  * This source code is licensed under the MIT license found in the
105
171
  * LICENSE file in the root directory of this source tree.
106
172
  */
107
- const names = {
108
- otherName: 'Other Name',
109
- rfc822Name: 'RFC 822 Name',
110
- dNSName: 'DNS Name',
111
- x400Address: 'X400 Address',
112
- directoryName: 'Directory Name',
113
- ediPartyName: 'Edi Party Name ',
114
- uniformResourceIdentifier: 'URI',
115
- iPAddress: 'IP Address',
116
- registeredID: 'Registered ID',
173
+ const SubjectName = (props) => {
174
+ const { name } = props;
175
+ return [
176
+ index.h(RowTitle, { value: l10n.l10n.getString('subjectName') }),
177
+ name.map((n) => (index.h(RowValue, { name: n.name || n.type, value: n.value }))),
178
+ ];
117
179
  };
118
- const GeneralNamePart = (props) => {
119
- const { generalName, getDNSNameLink, getIPAddressLink } = props;
120
- if (!generalName) {
180
+
181
+ /**
182
+ * @license
183
+ * Copyright (c) Peculiar Ventures, LLC.
184
+ *
185
+ * This source code is licensed under the MIT license found in the
186
+ * LICENSE file in the root directory of this source tree.
187
+ */
188
+ const IssuerName = (props) => {
189
+ const { name, issuerDnLink } = props;
190
+ const title = l10n.l10n.getString('issuerName');
191
+ return [
192
+ index.h(RowTitle, { value: issuerDnLink ? (index.h("peculiar-link", { href: issuerDnLink, type: "h6" }, title)) : title }),
193
+ name.map((n) => (index.h(RowValue, { name: n.name || n.type, value: n.value }))),
194
+ ];
195
+ };
196
+
197
+ /**
198
+ * @license
199
+ * Copyright (c) Peculiar Ventures, LLC.
200
+ *
201
+ * This source code is licensed under the MIT license found in the
202
+ * LICENSE file in the root directory of this source tree.
203
+ */
204
+ const Signature = (props) => {
205
+ const { signature } = props;
206
+ if (!signature) {
121
207
  return null;
122
208
  }
123
- return Object.keys(generalName).map((name) => {
124
- const value = generalName[name];
125
- if (value instanceof certification_request.Name$1) {
126
- return [
127
- index.h(RowValue, { name: names[name] || name, value: "" }),
128
- value.map((relativeDistinguishedName) => (relativeDistinguishedName.map((attributeTypeAndValue) => (index.h(RowValue, { name: certification_request.OIDs[attributeTypeAndValue.type] || attributeTypeAndValue.type, value: attributeTypeAndValue.value.toString() }))))),
129
- ];
130
- }
131
- if (value instanceof certification_request.OtherName) {
132
- try {
133
- const text = certification_request.AsnParser.parse(value.value, certification_request.DisplayText);
134
- return (index.h(RowValue, { name: certification_request.OIDs[value.typeId] || value.typeId, value: text.toString() }));
135
- }
136
- catch (error) {
137
- //
138
- }
139
- try {
140
- const text = certification_request.AsnParser.parse(value.value, certification_request.UserNotice);
141
- if (text.explicitText) {
142
- return (index.h(RowValue, { name: certification_request.OIDs[value.typeId] || value.typeId, value: text.explicitText.toString() }));
143
- }
144
- }
145
- catch (error) {
146
- //
147
- }
148
- return (index.h(RowValue, { name: certification_request.OIDs[value.typeId] || value.typeId, value: download.build.Convert.ToHex(value.value), monospace: true }));
149
- }
150
- if (download.build.BufferSourceConverter.isBufferSource(value)) {
151
- return (index.h(RowValue, { name: names[name] || name, value: download.build.Convert.ToString(value) }));
152
- }
153
- if (value instanceof certification_request.EDIPartyName) {
154
- return (index.h(RowValue, { name: names[name] || name, value: download.build.Convert.ToString(value.partyName) }));
155
- }
156
- if (name === 'dNSName') {
157
- return (index.h(RowValue, { name: names[name] || name, value: value, href: getDNSNameLink(value) }));
158
- }
159
- if (name === 'iPAddress') {
160
- return (index.h(RowValue, { name: names[name] || name, value: value, href: getIPAddressLink(value) }));
161
- }
162
- return (index.h(RowValue, { name: names[name] || name, value: value }));
163
- });
209
+ function renderSignatureDetails(data) {
210
+ return [
211
+ index.h(RowValue, { name: l10n.l10n.getString('algorithm'), value: getStringByOID(data.algorithm) }),
212
+ index.h(RowValue, { name: l10n.l10n.getString('value'), value: download.build.Convert.ToHex(data.value), monospace: true, collapse: true }),
213
+ ];
214
+ }
215
+ return [
216
+ index.h(RowTitle, { value: l10n.l10n.getString('signature') }),
217
+ renderSignatureDetails(signature),
218
+ (signature.params && signature.params.length && signature.params.map((param) => (index.h(TableRowTable, null, renderSignatureDetails(param))))),
219
+ ];
164
220
  };
165
221
 
166
222
  /**
@@ -240,7 +296,11 @@ const BasicConstraintsExtension = (props) => {
240
296
  */
241
297
  const ExtendedKeyUsageExtension = (props) => {
242
298
  const { extension } = props;
243
- return (index.h(BasicExtension, { extension: extension }, extension.value.map((usage, arrayIndex) => (index.h(RowValue, { name: `Purpose #${arrayIndex + 1}`, value: getStringByOID(usage) })))));
299
+ return (index.h(BasicExtension, { extension: extension }, Boolean(extension.value.length) && ([
300
+ index.h(RowValue, { name: "Purposes:", value: "" }),
301
+ extension.value.map((usage) => (index.h(TableRowTable, null,
302
+ index.h(RowValue, { name: "Purpose", value: getStringByOID(usage) })))),
303
+ ])));
244
304
  };
245
305
 
246
306
  /**
@@ -293,6 +353,72 @@ const AuthorityKeyIdentifierExtension = (props) => {
293
353
  ] })));
294
354
  };
295
355
 
356
+ /**
357
+ * @license
358
+ * Copyright (c) Peculiar Ventures, LLC.
359
+ *
360
+ * This source code is licensed under the MIT license found in the
361
+ * LICENSE file in the root directory of this source tree.
362
+ */
363
+ const names = {
364
+ otherName: 'Other Name',
365
+ rfc822Name: 'RFC 822 Name',
366
+ dNSName: 'DNS Name',
367
+ x400Address: 'X400 Address',
368
+ directoryName: 'Directory Name',
369
+ ediPartyName: 'Edi Party Name ',
370
+ uniformResourceIdentifier: 'URI',
371
+ iPAddress: 'IP Address',
372
+ registeredID: 'Registered ID',
373
+ };
374
+ const GeneralNamePart = (props) => {
375
+ const { generalName, getDNSNameLink, getIPAddressLink } = props;
376
+ if (!generalName) {
377
+ return null;
378
+ }
379
+ return Object.keys(generalName).map((name) => {
380
+ const value = generalName[name];
381
+ if (value instanceof certification_request.Name$1) {
382
+ return [
383
+ index.h(RowValue, { name: names[name] || name, value: "" }),
384
+ value.map((relativeDistinguishedName) => (relativeDistinguishedName.map((attributeTypeAndValue) => (index.h(RowValue, { name: certification_request.OIDs[attributeTypeAndValue.type] || attributeTypeAndValue.type, value: attributeTypeAndValue.value.toString() }))))),
385
+ ];
386
+ }
387
+ if (value instanceof certification_request.OtherName) {
388
+ try {
389
+ const text = certification_request.AsnParser.parse(value.value, certification_request.DisplayText);
390
+ return (index.h(RowValue, { name: certification_request.OIDs[value.typeId] || value.typeId, value: text.toString() }));
391
+ }
392
+ catch (error) {
393
+ //
394
+ }
395
+ try {
396
+ const text = certification_request.AsnParser.parse(value.value, certification_request.UserNotice);
397
+ if (text.explicitText) {
398
+ return (index.h(RowValue, { name: certification_request.OIDs[value.typeId] || value.typeId, value: text.explicitText.toString() }));
399
+ }
400
+ }
401
+ catch (error) {
402
+ //
403
+ }
404
+ return (index.h(RowValue, { name: certification_request.OIDs[value.typeId] || value.typeId, value: download.build.Convert.ToHex(value.value), monospace: true }));
405
+ }
406
+ if (download.build.BufferSourceConverter.isBufferSource(value)) {
407
+ return (index.h(RowValue, { name: names[name] || name, value: download.build.Convert.ToString(value) }));
408
+ }
409
+ if (value instanceof certification_request.EDIPartyName) {
410
+ return (index.h(RowValue, { name: names[name] || name, value: value.partyName.toString() }));
411
+ }
412
+ if (name === 'dNSName') {
413
+ return (index.h(RowValue, { name: names[name] || name, value: value, href: getDNSNameLink(value) }));
414
+ }
415
+ if (name === 'iPAddress') {
416
+ return (index.h(RowValue, { name: names[name] || name, value: value, href: getIPAddressLink(value) }));
417
+ }
418
+ return (index.h(RowValue, { name: names[name] || name, value: value }));
419
+ });
420
+ };
421
+
296
422
  /**
297
423
  * @license
298
424
  * Copyright (c) Peculiar Ventures, LLC.
@@ -320,11 +446,12 @@ const CRLDistributionPointsExtension = (props) => {
320
446
  */
321
447
  const InfoAccessSyntaxExtension = (props) => {
322
448
  const { extension } = props;
323
- return (index.h(BasicExtension, { extension: extension }, extension.value.map((description, arrayIndex) => ([
324
- index.h(RowValue, { name: `Description #${arrayIndex + 1}`, value: "" }),
325
- index.h(RowValue, { name: "Method", value: getStringByOID(description.accessMethod) }),
326
- index.h(GeneralNamePart, Object.assign({ generalName: description.accessLocation }, props)),
327
- ]))));
449
+ return (index.h(BasicExtension, { extension: extension }, Boolean(extension.value.length) && ([
450
+ index.h(RowValue, { name: "Descriptions:", value: "" }),
451
+ extension.value.map((description) => (index.h(TableRowTable, null,
452
+ index.h(RowValue, { name: "Method", value: getStringByOID(description.accessMethod) }),
453
+ index.h(GeneralNamePart, Object.assign({ generalName: description.accessLocation }, props))))),
454
+ ])));
328
455
  };
329
456
 
330
457
  /**
@@ -348,30 +475,30 @@ const SubjectAlternativeNameExtension = (props) => {
348
475
  */
349
476
  const CertificatePoliciesExtension = (props) => {
350
477
  const { extension } = props;
351
- return (index.h(BasicExtension, { extension: extension }, extension.value.map((policy, arrayIndex) => {
352
- var _a;
353
- return ([
354
- index.h(RowValue, { name: `Policy #${arrayIndex + 1}`, value: "" }),
355
- index.h(RowValue, { name: "ID", value: getStringByOID(policy.policyIdentifier) }),
356
- (_a = policy.policyQualifiers) === null || _a === void 0 ? void 0 : _a.map((qualifierInfo, indexInfo) => {
357
- const data = [
358
- index.h(RowValue, { name: `Qualifier #${arrayIndex + 1}.${indexInfo + 1}`, value: "" }),
359
- index.h(RowValue, { name: "ID", value: getStringByOID(qualifierInfo.policyQualifierId) }),
360
- ];
361
- if (qualifierInfo.policyQualifierId === '1.3.6.1.5.5.7.2.1') {
362
- const value = certification_request.AsnParser.parse(qualifierInfo.qualifier, certification_request.DisplayText);
363
- data.push(index.h(RowValue, { name: "Value", value: value.toString() }));
364
- }
365
- if (qualifierInfo.policyQualifierId === '1.3.6.1.5.5.7.2.2') {
366
- const value = certification_request.AsnParser.parse(qualifierInfo.qualifier, certification_request.UserNotice);
367
- if (value.explicitText) {
368
- data.push(index.h(RowValue, { name: "Value", value: value.explicitText.toString() }));
478
+ return (index.h(BasicExtension, { extension: extension }, Boolean(extension.value.length) && ([
479
+ index.h(RowValue, { name: "Policies:", value: "" }),
480
+ extension.value.map((policy) => (index.h(TableRowTable, null,
481
+ index.h(RowValue, { name: "Policy ID", value: getStringByOID(policy.policyIdentifier) }),
482
+ policy.policyQualifiers && Boolean(policy.policyQualifiers.length) && ([
483
+ index.h(RowValue, { name: "Qualifiers:", value: "" }),
484
+ policy.policyQualifiers.map((qualifierInfo) => {
485
+ const data = [
486
+ index.h(RowValue, { name: "Qualifier ID", value: getStringByOID(qualifierInfo.policyQualifierId) }),
487
+ ];
488
+ if (qualifierInfo.policyQualifierId === '1.3.6.1.5.5.7.2.1') {
489
+ const value = certification_request.AsnParser.parse(qualifierInfo.qualifier, certification_request.DisplayText);
490
+ data.push(index.h(RowValue, { name: "Value", value: value.toString() }));
369
491
  }
370
- }
371
- return data;
372
- }),
373
- ]);
374
- })));
492
+ if (qualifierInfo.policyQualifierId === '1.3.6.1.5.5.7.2.2') {
493
+ const value = certification_request.AsnParser.parse(qualifierInfo.qualifier, certification_request.UserNotice);
494
+ if (value.explicitText) {
495
+ data.push(index.h(RowValue, { name: "Value", value: value.explicitText.toString() }));
496
+ }
497
+ }
498
+ return (index.h(TableRowTable, null, data));
499
+ }),
500
+ ])))),
501
+ ])));
375
502
  };
376
503
 
377
504
  /**
@@ -469,15 +596,16 @@ const logs = {
469
596
  */
470
597
  const CertificateTransparencyExtension = (props) => {
471
598
  const { extension } = props;
472
- return (index.h(BasicExtension, { extension: extension }, extension.value.toJSON().map((signedCertificateTimestamp, arrayIndex) => ([
473
- index.h(RowValue, { name: `SCT #${arrayIndex + 1}`, value: "" }),
474
- index.h(RowValue, { name: "Version", value: signedCertificateTimestamp.version + 1 }),
475
- index.h(RowValue, { name: "Log Operator", value: logs[signedCertificateTimestamp.logId] || signedCertificateTimestamp.logId }),
476
- index.h(RowValue, { name: "Log Key ID", value: signedCertificateTimestamp.logId, monospace: true }),
477
- index.h(RowValue, { name: "Timestamp", value: l10n.dateShort(signedCertificateTimestamp.timestamp) }),
478
- index.h(RowValue, { name: "Signature Algorithm", value: `${signedCertificateTimestamp.hashAlgorithm} ${signedCertificateTimestamp.signatureAlgorithm}`.toUpperCase() }),
479
- index.h(RowValue, { name: "Signature", value: signedCertificateTimestamp.signature, monospace: true }),
480
- ]))));
599
+ return (index.h(BasicExtension, { extension: extension }, Boolean(extension.value.items.length) && ([
600
+ index.h(RowValue, { name: "Signed Certificate Timestamps:", value: "" }),
601
+ extension.value.toJSON().map((signedCertificateTimestamp) => (index.h(TableRowTable, null,
602
+ index.h(RowValue, { name: "Version", value: signedCertificateTimestamp.version + 1 }),
603
+ index.h(RowValue, { name: "Log Operator", value: logs[signedCertificateTimestamp.logId] || signedCertificateTimestamp.logId }),
604
+ index.h(RowValue, { name: "Log Key ID", value: signedCertificateTimestamp.logId, monospace: true }),
605
+ index.h(RowValue, { name: "Timestamp", value: l10n.dateShort(signedCertificateTimestamp.timestamp) }),
606
+ index.h(RowValue, { name: "Signature Algorithm", value: `${signedCertificateTimestamp.hashAlgorithm} ${signedCertificateTimestamp.signatureAlgorithm}`.toUpperCase() }),
607
+ index.h(RowValue, { name: "Signature", value: signedCertificateTimestamp.signature, monospace: true })))),
608
+ ])));
481
609
  };
482
610
 
483
611
  /**
@@ -538,6 +666,116 @@ const CaVersionExtension = (props) => {
538
666
  index.h(RowValue, { name: "Key Index", value: version.keyIndex })));
539
667
  };
540
668
 
669
+ var PdsLocations_1, QcEuPDS_1, QcType_1, QcCClegislation_1;
670
+ let Iso4217CurrencyCode = class Iso4217CurrencyCode {
671
+ constructor(value) {
672
+ if (typeof value === "string") {
673
+ this.alphabetic = value;
674
+ }
675
+ else if (typeof value === "number") {
676
+ this.numeric = value;
677
+ }
678
+ }
679
+ };
680
+ certification_request.__decorate([
681
+ certification_request.AsnProp({ type: certification_request.AsnPropTypes.PrintableString })
682
+ ], Iso4217CurrencyCode.prototype, "alphabetic", void 0);
683
+ certification_request.__decorate([
684
+ certification_request.AsnProp({ type: certification_request.AsnPropTypes.PrintableString })
685
+ ], Iso4217CurrencyCode.prototype, "numeric", void 0);
686
+ Iso4217CurrencyCode = certification_request.__decorate([
687
+ certification_request.AsnType({ type: certification_request.AsnTypeTypes.Choice })
688
+ ], Iso4217CurrencyCode);
689
+ class MonetaryValue {
690
+ constructor(params = {}) {
691
+ this.currency = new Iso4217CurrencyCode();
692
+ this.amount = 0;
693
+ this.exponent = 0;
694
+ Object.assign(this, params);
695
+ }
696
+ }
697
+ certification_request.__decorate([
698
+ certification_request.AsnProp({ type: Iso4217CurrencyCode })
699
+ ], MonetaryValue.prototype, "currency", void 0);
700
+ certification_request.__decorate([
701
+ certification_request.AsnProp({ type: certification_request.AsnPropTypes.Integer })
702
+ ], MonetaryValue.prototype, "amount", void 0);
703
+ certification_request.__decorate([
704
+ certification_request.AsnProp({ type: certification_request.AsnPropTypes.Integer })
705
+ ], MonetaryValue.prototype, "exponent", void 0);
706
+ let QcEuLimitValue = class QcEuLimitValue extends MonetaryValue {
707
+ };
708
+ QcEuLimitValue = certification_request.__decorate([
709
+ certification_request.AsnType({ type: certification_request.AsnTypeTypes.Sequence })
710
+ ], QcEuLimitValue);
711
+ let QcEuRetentionPeriod = class QcEuRetentionPeriod {
712
+ constructor(value = 0) {
713
+ this.value = value;
714
+ }
715
+ };
716
+ certification_request.__decorate([
717
+ certification_request.AsnProp({ type: certification_request.AsnPropTypes.Integer })
718
+ ], QcEuRetentionPeriod.prototype, "value", void 0);
719
+ QcEuRetentionPeriod = certification_request.__decorate([
720
+ certification_request.AsnType({ type: certification_request.AsnTypeTypes.Choice })
721
+ ], QcEuRetentionPeriod);
722
+ let PdsLocation = class PdsLocation {
723
+ constructor(params = {}) {
724
+ this.url = "";
725
+ this.language = "";
726
+ Object.assign(this, params);
727
+ }
728
+ };
729
+ certification_request.__decorate([
730
+ certification_request.AsnProp({ type: certification_request.AsnPropTypes.IA5String })
731
+ ], PdsLocation.prototype, "url", void 0);
732
+ certification_request.__decorate([
733
+ certification_request.AsnProp({ type: certification_request.AsnPropTypes.PrintableString })
734
+ ], PdsLocation.prototype, "language", void 0);
735
+ PdsLocation = certification_request.__decorate([
736
+ certification_request.AsnType({ type: certification_request.AsnTypeTypes.Sequence })
737
+ ], PdsLocation);
738
+ let PdsLocations = PdsLocations_1 = class PdsLocations extends certification_request.AsnArray {
739
+ constructor(items) {
740
+ super(items);
741
+ Object.setPrototypeOf(this, PdsLocations_1.prototype);
742
+ }
743
+ };
744
+ PdsLocations = PdsLocations_1 = certification_request.__decorate([
745
+ certification_request.AsnType({ type: certification_request.AsnTypeTypes.Sequence, itemType: PdsLocation })
746
+ ], PdsLocations);
747
+ let QcEuPDS = QcEuPDS_1 = class QcEuPDS extends PdsLocations {
748
+ constructor(items) {
749
+ super(items);
750
+ Object.setPrototypeOf(this, QcEuPDS_1.prototype);
751
+ }
752
+ };
753
+ QcEuPDS = QcEuPDS_1 = certification_request.__decorate([
754
+ certification_request.AsnType({ type: certification_request.AsnTypeTypes.Sequence, itemType: PdsLocation })
755
+ ], QcEuPDS);
756
+ let QcType = QcType_1 = class QcType extends certification_request.AsnArray {
757
+ constructor(items) {
758
+ super(items);
759
+ Object.setPrototypeOf(this, QcType_1.prototype);
760
+ }
761
+ };
762
+ QcType = QcType_1 = certification_request.__decorate([
763
+ certification_request.AsnType({ type: certification_request.AsnTypeTypes.Sequence, itemType: certification_request.AsnPropTypes.ObjectIdentifier })
764
+ ], QcType);
765
+ let QcCClegislation = QcCClegislation_1 = class QcCClegislation extends certification_request.AsnArray {
766
+ constructor(items) {
767
+ super(items);
768
+ Object.setPrototypeOf(this, QcCClegislation_1.prototype);
769
+ }
770
+ };
771
+ QcCClegislation = QcCClegislation_1 = certification_request.__decorate([
772
+ certification_request.AsnType({ type: certification_request.AsnTypeTypes.Sequence, itemType: certification_request.AsnPropTypes.PrintableString })
773
+ ], QcCClegislation);
774
+ const id_etsi_qcs = "0.4.0.1862.1";
775
+ const id_etsi_qcs_qcRetentionPeriod = `${id_etsi_qcs}.3`;
776
+ const id_etsi_qcs_qcPDS = `${id_etsi_qcs}.5`;
777
+ const id_etsi_qcs_qcType = `${id_etsi_qcs}.6`;
778
+
541
779
  /**
542
780
  * @license
543
781
  * Copyright (c) Peculiar Ventures, LLC.
@@ -547,11 +785,39 @@ const CaVersionExtension = (props) => {
547
785
  */
548
786
  const QCStatementsExtension = (props) => {
549
787
  const { extension } = props;
550
- return (index.h(BasicExtension, { extension: extension }, extension.value.map((statement, arrayIndex) => ([
551
- index.h(RowValue, { name: `Statement #${arrayIndex + 1}`, value: "" }),
552
- index.h(RowValue, { name: "ID", value: getStringByOID(statement.statementId) }),
553
- index.h(RowValue, { name: "Info", value: statement.statementInfo.byteLength ? download.build.Convert.ToHex(statement.statementInfo) : null, monospace: true }),
554
- ]))));
788
+ function renderStatementInfo(statementId, statementInfo) {
789
+ if (!statementInfo.byteLength) {
790
+ return null;
791
+ }
792
+ if (statementId === certification_request.id_qcs_pkixQCSyntax_v2) {
793
+ const semanticsInformation = certification_request.AsnParser.parse(statementInfo, certification_request.SemanticsInformation);
794
+ return (index.h(RowValue, { name: "Semantics Identifier", value: getStringByOID(semanticsInformation.semanticsIdentifier) }));
795
+ }
796
+ if (statementId === id_etsi_qcs_qcType) {
797
+ const qcTypes = certification_request.AsnParser.parse(statementInfo, QcType);
798
+ return (index.h(RowValue, { name: "QC Types", value: qcTypes.map((type) => getStringByOID(type)).join(', ') }));
799
+ }
800
+ if (statementId === id_etsi_qcs_qcRetentionPeriod) {
801
+ const retentionPeriod = certification_request.AsnParser.parse(statementInfo, QcEuRetentionPeriod);
802
+ return (index.h(RowValue, { name: "Retention Period", value: `${retentionPeriod.value} years` }));
803
+ }
804
+ if (statementId === id_etsi_qcs_qcPDS) {
805
+ const pdsLocations = certification_request.AsnParser.parse(statementInfo, PdsLocations);
806
+ return ([
807
+ index.h(RowValue, { name: "PDS Locations:", value: "" }),
808
+ pdsLocations.map((location) => (index.h(TableRowTable, null,
809
+ index.h(RowValue, { name: "URL", value: location.url }),
810
+ index.h(RowValue, { name: "Language", value: location.language })))),
811
+ ]);
812
+ }
813
+ return (index.h(RowValue, { name: "Info", value: download.build.Convert.ToHex(statementInfo), monospace: true }));
814
+ }
815
+ return (index.h(BasicExtension, { extension: extension }, Boolean(extension.value.length) && ([
816
+ index.h(RowValue, { name: "Statements:", value: "" }),
817
+ extension.value.map((statement) => (index.h(TableRowTable, null,
818
+ index.h(RowValue, { name: "Statement ID", value: getStringByOID(statement.statementId) }),
819
+ renderStatementInfo(statement.statementId, statement.statementInfo)))),
820
+ ])));
555
821
  };
556
822
 
557
823
  /**
@@ -667,11 +933,12 @@ function getAttributeValue(attribute) {
667
933
  */
668
934
  const SubjectDirectoryAttributesExtension = (props) => {
669
935
  const { extension } = props;
670
- return (index.h(BasicExtension, { extension: extension }, extension.value.map((attribute, arrayIndex) => ([
671
- index.h(RowValue, { name: `Attribute #${arrayIndex + 1}`, value: "" }),
672
- index.h(RowValue, { name: "Type", value: getStringByOID(attribute.type) }),
673
- index.h(RowValue, { name: "Value", value: getAttributeValue(attribute) }),
674
- ]))));
936
+ return (index.h(BasicExtension, { extension: extension }, Boolean(extension.value.length) && ([
937
+ index.h(RowValue, { name: "Attributes:", value: "" }),
938
+ extension.value.map((attribute) => (index.h(TableRowTable, null,
939
+ index.h(RowValue, { name: "Type", value: getStringByOID(attribute.type) }),
940
+ index.h(RowValue, { name: "Value", value: getAttributeValue(attribute) })))),
941
+ ])));
675
942
  };
676
943
 
677
944
  /**
@@ -724,14 +991,15 @@ const EntrustVersionInfoExtension = (props) => {
724
991
  */
725
992
  const BiometricSyntaxExtension = (props) => {
726
993
  const { extension } = props;
727
- return (index.h(BasicExtension, { extension: extension }, extension.value.map((data, arrayIndex) => ([
728
- index.h(RowValue, { name: `Biometric #${arrayIndex + 1}`, value: "" }),
729
- index.h(RowValue, { name: "OID", value: getStringByOID(data.typeOfBiometricData.biometricDataOid) }),
730
- index.h(RowValue, { name: "Type", value: data.typeOfBiometricData.predefinedBiometricType }),
731
- index.h(RowValue, { name: "Algorithm", value: getStringByOID(data.hashAlgorithm.algorithm) }),
732
- index.h(RowValue, { name: "Hash", value: download.build.Convert.ToHex(data.biometricDataHash.buffer), monospace: true }),
733
- index.h(RowValue, { name: "Source Uri", value: data.sourceDataUri }),
734
- ]))));
994
+ return (index.h(BasicExtension, { extension: extension }, Boolean(extension.value.length) && ([
995
+ index.h(RowValue, { name: "Biometrics:", value: "" }),
996
+ extension.value.map((data) => (index.h(TableRowTable, null,
997
+ index.h(RowValue, { name: "OID", value: getStringByOID(data.typeOfBiometricData.biometricDataOid) }),
998
+ index.h(RowValue, { name: "Type", value: data.typeOfBiometricData.predefinedBiometricType }),
999
+ index.h(RowValue, { name: "Algorithm", value: getStringByOID(data.hashAlgorithm.algorithm) }),
1000
+ index.h(RowValue, { name: "Hash", value: download.build.Convert.ToHex(data.biometricDataHash.buffer), monospace: true }),
1001
+ index.h(RowValue, { name: "Source Uri", value: data.sourceDataUri })))),
1002
+ ])));
735
1003
  };
736
1004
 
737
1005
  /**
@@ -996,28 +1264,6 @@ const Extensions = (props) => {
996
1264
  ]);
997
1265
  };
998
1266
 
999
- /**
1000
- * @license
1001
- * Copyright (c) Peculiar Ventures, LLC.
1002
- *
1003
- * This source code is licensed under the MIT license found in the
1004
- * LICENSE file in the root directory of this source tree.
1005
- */
1006
- const BasicInformation = (props) => {
1007
- const { serialNumber, version, validity, notBefore, notAfter, lastUpdate, nextUpdate, type, } = props;
1008
- return [
1009
- index.h(RowTitle, { value: l10n.l10n.getString('basicInformation') }),
1010
- index.h(RowValue, { name: l10n.l10n.getString('type'), value: type }),
1011
- index.h(RowValue, { name: l10n.l10n.getString('serialNumber'), value: serialNumber, monospace: true }),
1012
- index.h(RowValue, { name: l10n.l10n.getString('version'), value: version }),
1013
- index.h(RowValue, { name: l10n.l10n.getString('validity'), value: validity }),
1014
- index.h(RowValue, { name: l10n.l10n.getString('issued'), value: notBefore ? l10n.dateShort(notBefore) : undefined }),
1015
- index.h(RowValue, { name: l10n.l10n.getString('expired'), value: notAfter ? l10n.dateShort(notAfter) : undefined }),
1016
- index.h(RowValue, { name: l10n.l10n.getString('lastUpdate'), value: lastUpdate ? l10n.dateShort(lastUpdate) : undefined }),
1017
- index.h(RowValue, { name: l10n.l10n.getString('nextUpdate'), value: nextUpdate ? l10n.dateShort(nextUpdate) : undefined }),
1018
- ];
1019
- };
1020
-
1021
1267
  /**
1022
1268
  * @license
1023
1269
  * Copyright (c) Peculiar Ventures, LLC.
@@ -1042,91 +1288,6 @@ const Miscellaneous = (props) => {
1042
1288
  ];
1043
1289
  };
1044
1290
 
1045
- /**
1046
- * @license
1047
- * Copyright (c) Peculiar Ventures, LLC.
1048
- *
1049
- * This source code is licensed under the MIT license found in the
1050
- * LICENSE file in the root directory of this source tree.
1051
- */
1052
- const getLEILink = (lei) => `https://search.gleif.org/#/record/${lei}`;
1053
- const getDNSNameLink = (dnsName) => `https://search.censys.io/search?resource=hosts&q=dns.names%3A${dnsName}`;
1054
- const getIPAddressLink = (ipAddress) => `https://search.censys.io/search?resource=hosts&q=ip%3A${ipAddress}`;
1055
-
1056
- /**
1057
- * @license
1058
- * Copyright (c) Peculiar Ventures, LLC.
1059
- *
1060
- * This source code is licensed under the MIT license found in the
1061
- * LICENSE file in the root directory of this source tree.
1062
- */
1063
- const IssuerName = (props) => {
1064
- const { name, issuerDnLink } = props;
1065
- const title = l10n.l10n.getString('issuerName');
1066
- return [
1067
- index.h(RowTitle, { value: issuerDnLink ? (index.h("peculiar-link", { href: issuerDnLink, type: "h6" }, title)) : title }),
1068
- name.map((n) => (index.h(RowValue, { name: n.name || n.type, value: n.value }))),
1069
- ];
1070
- };
1071
-
1072
- /**
1073
- * @license
1074
- * Copyright (c) Peculiar Ventures, LLC.
1075
- *
1076
- * This source code is licensed under the MIT license found in the
1077
- * LICENSE file in the root directory of this source tree.
1078
- */
1079
- const SubjectName = (props) => {
1080
- const { name } = props;
1081
- return [
1082
- index.h(RowTitle, { value: l10n.l10n.getString('subjectName') }),
1083
- name.map((n) => (index.h(RowValue, { name: n.name || n.type, value: n.value }))),
1084
- ];
1085
- };
1086
-
1087
- /**
1088
- * @license
1089
- * Copyright (c) Peculiar Ventures, LLC.
1090
- *
1091
- * This source code is licensed under the MIT license found in the
1092
- * LICENSE file in the root directory of this source tree.
1093
- */
1094
- function getPublicKeyModulus(publicKey) {
1095
- var _a;
1096
- if ((_a = publicKey.params) === null || _a === void 0 ? void 0 : _a['modulus']) {
1097
- let length = publicKey.params['modulus'].byteLength;
1098
- if (length % 2) {
1099
- length -= 1;
1100
- }
1101
- return length * 8;
1102
- }
1103
- return null;
1104
- }
1105
- function getPublicKeyExponent(publicKey) {
1106
- var _a;
1107
- if ((_a = publicKey.params) === null || _a === void 0 ? void 0 : _a['publicExponent']) {
1108
- return publicKey.params['publicExponent'].byteLength === 3
1109
- ? 65537
1110
- : 3;
1111
- }
1112
- return null;
1113
- }
1114
- const PublicKey = (props) => {
1115
- var _a;
1116
- const { publicKey } = props;
1117
- if (!publicKey) {
1118
- return null;
1119
- }
1120
- return [
1121
- index.h(RowTitle, { value: l10n.l10n.getString('publicKeyInfo') }),
1122
- index.h(RowValue, { name: l10n.l10n.getString('algorithm'), value: getStringByOID(publicKey.algorithm) }),
1123
- index.h(RowValue, { name: l10n.l10n.getString('namedCurve'), value: getStringByOID((_a = publicKey.params) === null || _a === void 0 ? void 0 : _a['namedCurve']) }),
1124
- index.h(RowValue, { name: l10n.l10n.getString('exponent'), value: getPublicKeyExponent(publicKey) }),
1125
- index.h(RowValue, { name: l10n.l10n.getString('modulus'), value: getPublicKeyModulus(publicKey) }),
1126
- index.h(RowValue, { name: l10n.l10n.getString('value'), value: download.build.Convert.ToHex(publicKey.value), monospace: true, collapse: true }),
1127
- ];
1128
- };
1129
-
1130
1291
  exports.BasicInformation = BasicInformation;
1131
1292
  exports.Extensions = Extensions;
1132
1293
  exports.GeneralNamePart = GeneralNamePart;
@@ -1137,6 +1298,7 @@ exports.RowTitle = RowTitle;
1137
1298
  exports.RowValue = RowValue;
1138
1299
  exports.Signature = Signature;
1139
1300
  exports.SubjectName = SubjectName;
1301
+ exports.TableRowTable = TableRowTable;
1140
1302
  exports.Thumbprints = Thumbprints;
1141
1303
  exports.getDNSNameLink = getDNSNameLink;
1142
1304
  exports.getIPAddressLink = getIPAddressLink;