Skip to content

Releases: zmap/zlint

ZLint v3.4.1

20 Nov 19:21
v3.4.1
Compare
Choose a tag to compare

ZLint v3.4.1

The ZMap team is happy to share ZLint v3.4.1.

Thank you to everyone who contributes to ZLint!

Breaking Changes:

No breaking changes were made in this release.

Bug Fixes:

  • A change was made in test.ReadTestCert to find test certificates relative to the root of the repository. This change, however, broke some downstream consumers who were dependent upon the previous behavior of searching for test certificates relative to the present working directory.

Changelog

  • e9597a6 test.ReadTestCert breaks for downstream consumers dependent on the previous relative certificate path building behavior (#695)

Full Changelog: v3.4.0...v3.4.1

ZLint v3.4.1-rc1

05 Nov 18:05
v3.4.1-rc1
Compare
Choose a tag to compare
ZLint v3.4.1-rc1 Pre-release
Pre-release

ZLint v3.4.1-rc1

The ZMap team is happy to share ZLint v3.4.1-rc1.

Thank you to everyone who contributes to ZLint!

Breaking Changes:

No breaking changes were made in this release.

Bug Fixes:

  • A change was made in test.ReadTestCert to find test certificates relative to the root of the repository. This change, however, broke some downstream consumers who were dependent upon the previous behavior of searching for test certificates relative to the present working directory.

Changelog

  • e9597a6 test.ReadTestCert breaks for downstream consumers dependent on the previous relative certificate path building behavior (#695)

Full Changelog: v3.4.0...v3.4.1-rc1

v3.4.0

09 Oct 14:17
v3.4.0
Compare
Choose a tag to compare

ZLint v3.4.0

The ZMap team is happy to share ZLint v3.4.0.

Thank you to everyone who contributes to ZLint!

Breaking Changes:

No breaking changes were made in this release.

New Features:

Individual lints may now be (optionally) configurable!

For Lint Authors

For lint authors, please see CONTRIBUTING.md for more details on how to write a lint that may receive optional configurations.

For users

For users of the CLI tool, configuring a particular lint is as simple as providing a valid toml file to ZLint.

zlint -config configFile.toml mycert.pem

ZLint also provides a facility for getting a print out of a valid, all default, configuration file such that users do not have to hunt through documentation to discover what lints are configurable and what their fields are.

For example...

zlint -exampleConfig

...currently prints to the terminal....

[AppleRootStorePolicyConfig]

[CABFBaselineRequirementsConfig]

[CABFEVGuidelinesConfig]

[CommunityConfig]

[MozillaRootStorePolicyConfig]

[RFC5280Config]

[RFC5480Config]

[RFC5891Config]

[e_rsa_fermat_factorization]
Rounds = 100

Note that there is already a lint that is configurable - e_rsa_fermat_factorization. This lint checks an RSA keypair for susceptibility to the Fermat factorization attack. The more rounds used, the more likely the lint is to successfully factor a key pair. However, increasing the number of rounds dramatically increases the amount of time taken to lint a single certificate. As such, the default is set to 100 as per CABF requirements and users are free to set this value to something lower (if they wish to lint a large number of certificates and want the batch job to run faster) or to something much higher (if they suspect that a key pair is susceptible, but not trivially so).

New Lints:

  • e_key_usage_incorrect_length checks for KeyUsages that are outside the range of possible values.
  • e_incorrect_ku_encoding check for KeyUsages that are not properly encoded ASN.1 bitstrings.
  • e_rsa_fermat_factorization checks for key pairs that are susceptible to Fermat factorization.
  • e_superfluous_ku_encoding checks for KeyUsages that have unnecessary trailing zero-bytes.
  • e_ecdsa_allowed_ku key usage values keyEncipherment or dataEncipherment MUST NOT be present in certificates with ECDSA public keys
  • e_rsa_allowed_ku_ca key usage values digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyCertSign, and cRLSign may only be present in a CA certificate with an RSA key
  • e_rsa_allowed_ku_ee key usage values digitalSignature, nonRepudiation, keyEncipherment, and dataEncipherment may only be present in an end entity certificate with an RSA key
  • e_rsa_allowed_ku_no_encipherment_ca if Key usage value keyCertSign or cRLSign is present in a CA certificate both keyEncipherment and dataEncipherment SHOULD NOT be present"
  • e_subject_contains_organizational_unit_name_and_no_organization_name if a subject organization name is absent then an organizational unit name MUST NOT be included in subject
  • e_organizational_unit_name_prohibited organizationalUnitName is prohibited if...the certificate was issued on or after September 1, 2022

Bug Fixes:

  • Corrected e_organizational_unit_name_prohibited to not lint CA certificates.
  • Corrected a CABF citation in e_algorithm_identifier_improper_encoding
  • Corrected an issue e_ext_tor_service_descriptor_hash_invalid wherein an OnionV3 certificate may be considered an OnionV2 certificate if a non-onion DNS entry were present in the certificate.

Changelog

  • 13fcc6f util: gtld_map autopull updates for 2022-10-06T19:22:06 UTC (#693)
  • 137e46e Lint to check for invalid KU lengths (#686)
  • 1209017 Prevent OU lint from applying to CA certificates. Add unit test to confirm change of behaviour (#691)
  • 44e12c1 Add lint to check for incorrect 'unused' bit encoding in KeyUsages (#684)
  • 3f5e40d Lint for RSA close prime Fermat factorization susceptibility (#674)
  • e5ee614 Support for Configurable Lints (#648)
  • ed9a20f Added lint to check for superfluous zero byte on KU (#682)
  • d8b86f7 Lints for allowable key usages as per RFC 8813 Section 3 and RFC 3279 Section 2.3.1 (#678)
  • c7955ed Sunset subject:organizationalUnitName (Section 7.1.4.2.2.i, CAB-Forum BR) (#643)
  • b7abf25 Add new lint to block organisational unit names as of 1st September 2022 (#675)
  • c32f6d3 Fix SPKI Encoding Lint's RSA BR Section (#679)
  • ed6287a Zlint incorrectly requires TorServiceDescriptors if V3 onion and DNS name (#677)

Full Changelog: v3.3.1...v3.4.0

v3.4.0-rc1

18 Sep 19:03
v3.4.0-rc1
137e46e
Compare
Choose a tag to compare
v3.4.0-rc1 Pre-release
Pre-release

ZLint v3.4.0-rc1

The ZMap team is happy to share ZLint v3.4.0-rc1.

Thank you to everyone who contributes to ZLint!

Breaking Changes:

No breaking changes were made in this release.

New Features:

Individual lints may now be (optionally) configurable!

For Lint Authors

For lint authors, please see CONTRIBUTING.md for more details on how to write a lint that may receive optional configurations.

For users

For users of the CLI tool, configuring a particular lint is as simple as providing a valid toml file to ZLint.

zlint -config configFile.toml mycert.pem

ZLint also provides a facility for getting a print out of a valid, all default, configuration file such that users do not have to hunt through documentation to discover what lints are configurable and what their fields are.

For example...

zlint -exampleConfig

...currently prints to the terminal....

[AppleRootStorePolicyConfig]

[CABFBaselineRequirementsConfig]

[CABFEVGuidelinesConfig]

[CommunityConfig]

[MozillaRootStorePolicyConfig]

[RFC5280Config]

[RFC5480Config]

[RFC5891Config]

[e_rsa_fermat_factorization]
Rounds = 100

Note that there is already a lint that is configurable - e_rsa_fermat_factorization. This lint checks an RSA keypair for susceptibility to the Fermat factorization attack. The more rounds used, the more likely the lint is to successfully factor a key pair. However, increasing the number of rounds dramatically increases the amount of time taken to lint a single certificate. As such, the default is set to 100 as per CABF requirements and users are free to set this value to something lower (if they wish to lint a large number of certificates and want the batch job to run faster) or to something much higher (if they suspect that a key pair is susceptible, but not trivially so).

New Lints:

  • e_key_usage_incorrect_length checks for KeyUsages that are outside the range of possible values.
  • e_incorrect_ku_encoding check for KeyUsages that are not properly encoded ASN.1 bitstrings.
  • e_rsa_fermat_factorization checks for key pairs that are susceptible to Fermat factorization.
  • e_superfluous_ku_encoding checks for KeyUsages that have unnecessary trailing zero-bytes.
  • e_ecdsa_allowed_ku key usage values keyEncipherment or dataEncipherment MUST NOT be present in certificates with ECDSA public keys
  • e_rsa_allowed_ku_ca key usage values digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyCertSign, and cRLSign may only be present in a CA certificate with an RSA key
  • e_rsa_allowed_ku_ee key usage values digitalSignature, nonRepudiation, keyEncipherment, and dataEncipherment may only be present in an end entity certificate with an RSA key
  • e_rsa_allowed_ku_no_encipherment_ca if Key usage value keyCertSign or cRLSign is present in a CA certificate both keyEncipherment and dataEncipherment SHOULD NOT be present"
  • e_subject_contains_organizational_unit_name_and_no_organization_name if a subject organization name is absent then an organizational unit name MUST NOT be included in subject
  • e_organizational_unit_name_prohibited organizationalUnitName is prohibited if...the certificate was issued on or after September 1, 2022

Bug Fixes:

  • Corrected e_organizational_unit_name_prohibited to not lint CA certificates.
  • Corrected a CABF citation in e_algorithm_identifier_improper_encoding
  • Corrected an issue e_ext_tor_service_descriptor_hash_invalid wherein an OnionV3 certificate may be considered an OnionV2 certificate if a non-onion DNS entry were present in the certificate.

Changelog

  • 137e46e Lint to check for invalid KU lengths (#686)
  • 1209017 Prevent OU lint from applying to CA certificates. Add unit test to confirm change of behaviour (#691)
  • 44e12c1 Add lint to check for incorrect 'unused' bit encoding in KeyUsages (#684)
  • 3f5e40d Lint for RSA close prime Fermat factorization susceptibility (#674)
  • e5ee614 Support for Configurable Lints (#648)
  • ed9a20f Added lint to check for superfluous zero byte on KU (#682)
  • d8b86f7 Lints for allowable key usages as per RFC 8813 Section 3 and RFC 3279 Section 2.3.1 (#678)
  • c7955ed Sunset subject:organizationalUnitName (Section 7.1.4.2.2.i, CAB-Forum BR) (#643)
  • b7abf25 Add new lint to block organisational unit names as of 1st September 2022 (#675)
  • c32f6d3 Fix SPKI Encoding Lint's RSA BR Section (#679)
  • ed6287a Zlint incorrectly requires TorServiceDescriptors if V3 onion and DNS name (#677)

Full Changelog: v3.3.1...v3.4.0-rc1

ZLint v3.3.1

24 Apr 18:46
v3.3.1
74f4541
Compare
Choose a tag to compare

ZLint v3.3.1

The ZMap team is happy to share ZLint v3.3.1.

Thank you to everyone who contributes to ZLint!

Breaking Changes:

No breaking changes were made in this release.

New Lints:

  • e_ev_not_wildcard asserts that wildcard domains are not allowable for EV certificates (except .onion addresses).
  • e_dnsname_contains_prohibited_reserved_label asserts that every label within a FQDN must be either a P-Label or a Non-Reserved LDH Label.
  • e_ev_san_ip_address_present asserts that Subject Alternative Name MUST contain only dnsName types.
  • e_algorithm_identifier_improper_encoding asserts CABF BR 7.1.3.1 regarding requiring a specific byte sequence within a Subject Public Key Info field.
  • e_underscore_not_permissible_in_dnsname asserts that underscore are not permissible after the brief permissibility period described in CABF BR 1.6.2.
  • e_no_underscores_before_1_6_2 asserts that underscore are not permissible before the brief permissibility period described in CABF BR 1.6.2.

Bug Fixes:

  • Corrected an issue in lint_idn_dnsname_malformed_unicode and lint_idn_dnsname_must_be_nfc wherein the IDNA ACE prefixes were incorrectly considered to be case-sensitive.
  • A Tor Hash Descriptor is no longer required on certificates that encode Onion V3 addresses.

Misc:

  • Numerous TLD updates.
  • The CABF OID for EV (2.23.140.1.1) was added as a known EV OID.
  • Some clearer datetime logic for more natural daterange checking.
  • The ZLint project has been updated to use the Go 1.18 toolchain.
  • zcrypto was updated to point towards commit @599ec18ecbac.
  • Various quality of life changes to the ZLint developer experience.

Changelog

74f4541 Update to Go 1.18 and update GolangCI Linter (#672)
a34c016 QoL changes to genTestCert.go (#664)
20aeab4 util: gtld_map autopull updates for 2022-04-15T16:45:51 UTC (#671)
6d874e6 updating to zcrypto 599ec18 (#670)
b3be71c Skip checking for a Tor Descriptor Hash if the provided cert contains a V3 Onion address. (#669)
3be391b Update README.md (#666)
b1bd967 No underscores are allowed in DNSNames before BR 1.6.2's permissibility period (#659)
6badb89 No underscores are allowed in DNSNames after BR 1.6.2's permissibility period (#662)
4ab8567 util: gtld_map autopull updates for 2022-02-17T22:26:31 UTC (#658)
7fc9fbd Add Microsoft to the known-ZLint users (#655)
b4a225e AlgorithmIdentifier encoding (Section 7.1.3.1, CAB-Forum BR) (#642)
da67a23 util: gtld_map autopull updates for 2021-12-30T02:43:35 UTC (#654)
3f7cf6c Update README.md (#653)
9199b6d util: gtld_map autopull updates for 2021-12-09T20:29:24 UTC (#649)
0d71258 Entrust Datacard rebranded to Entrust (#652)
bbc7e36 Add lint to detect IP addresses in EV certs (#650)
cb3e7e8 Mark CA/Browser Forum EV Policy OID as EV (#651)
da4e374 refactor: move from io/ioutil to io and os packages (#647)
3a3de3c util: gtld_map autopull updates for 2021-10-30T04:36:00 UTC (#637)
2ff2130 cleaning up some datetime logic (#644)
cb17369 Lint for Non-XN Reserved Labels (#635)
9113ed8 Forbid wildcard certs for non .onion EVs (#641)
0508b86 Detect XN-Labels case-insensitively (#636)
b6ec327 util: gtld_map autopull updates for 2021-10-05T22:26:49 UTC (#633)

ZLint v3.3.1-rc2

16 Apr 18:54
v3.3.1-rc2
74f4541
Compare
Choose a tag to compare
ZLint v3.3.1-rc2 Pre-release
Pre-release

ZLint v3.3.1-rc2

The ZMap team is happy to share ZLint v3.3.1-rc2.

Thank you to everyone who contributes to ZLint!

The following changes are what have occurred since v3.3.1-rc1

Breaking Changes:

No breaking changes were made in this release.

New Lints:

  • No new lints

Bug Fixes:

  • No bug fixes.

Misc:

  • The ZLint project has been updated to use the Go 1.18 toolchain.
  • A GTLD update
  • zcrypto was updated to point towards commit @599ec18ecbac.
  • Various quality of life changes to the ZLint developer experience.

Changelog

ZLint v3.3.1-rc1

27 Mar 17:37
v3.3.1-rc1
b3be71c
Compare
Choose a tag to compare
ZLint v3.3.1-rc1 Pre-release
Pre-release

ZLint v3.3.1-rc1

The ZMap team is happy to share ZLint v3.3.1-rc1.

Thank you to everyone who contributes to ZLint!

Breaking Changes:

No breaking changes were made in this release.

New Lints:

  • e_ev_not_wildcard asserts that wildcard domains are not allowable for EV certificates (except .onion addresses).
  • e_dnsname_contains_prohibited_reserved_label asserts that every label within a FQDN must be either a P-Label or a Non-Reserved LDH Label.
  • e_ev_san_ip_address_present asserts that Subject Alternative Name MUST contain only dnsName types.
  • e_algorithm_identifier_improper_encoding asserts CABF BR 7.1.3.1 regarding requiring a specific byte sequence within a Subject Public Key Info field.
  • e_underscore_not_permissible_in_dnsname asserts that underscore are not permissible after the brief permissibility period described in CABF BR 1.6.2.
  • e_no_underscores_before_1_6_2 asserts that underscore are not permissible before the brief permissibility period described in CABF BR 1.6.2.

Bug Fixes:

  • Corrected an issue in lint_idn_dnsname_malformed_unicode and lint_idn_dnsname_must_be_nfc wherein the IDNA ACE prefixes were incorrectly considered to be case-sensitive.
  • A Tor Hash Descriptor is no longer required on certificates that encode Onion V3 addresses.

Misc:

  • Numerous TLD updates.
  • The CABF OID for EV (2.23.140.1.1) was added as a known EV OID.
  • Some clearer datetime logic for more natural daterange checking.

Changelog

b3be71c Skip checking for a Tor Descriptor Hash if the provided cert contains a V3 Onion address. (#669)
3be391b Update README.md (#666)
b1bd967 No underscores are allowed in DNSNames before BR 1.6.2's permissibility period (#659)
6badb89 No underscores are allowed in DNSNames after BR 1.6.2's permissibility period (#662)
4ab8567 util: gtld_map autopull updates for 2022-02-17T22:26:31 UTC (#658)
7fc9fbd Add Microsoft to the known-ZLint users (#655)
b4a225e AlgorithmIdentifier encoding (Section 7.1.3.1, CAB-Forum BR) (#642)
da67a23 util: gtld_map autopull updates for 2021-12-30T02:43:35 UTC (#654)
3f7cf6c Update README.md (#653)
9199b6d util: gtld_map autopull updates for 2021-12-09T20:29:24 UTC (#649)
0d71258 Entrust Datacard rebranded to Entrust (#652)
bbc7e36 Add lint to detect IP addresses in EV certs (#650)
cb3e7e8 Mark CA/Browser Forum EV Policy OID as EV (#651)
da4e374 refactor: move from io/ioutil to io and os packages (#647)
3a3de3c util: gtld_map autopull updates for 2021-10-30T04:36:00 UTC (#637)
2ff2130 cleaning up some datetime logic (#644)
cb17369 Lint for Non-XN Reserved Labels (#635)
9113ed8 Forbid wildcard certs for non .onion EVs (#641)
0508b86 Detect XN-Labels case-insensitively (#636)
b6ec327 util: gtld_map autopull updates for 2021-10-05T22:26:49 UTC (#633)

ZLint v3.3.0

10 Oct 19:13
v3.3.0
b4060ec
Compare
Choose a tag to compare

ZLint v3.3.0

The ZMap team is happy to share ZLint v3.3.0.

Thank you to everyone who contributes to ZLint!

Breaking Changes:

No breaking changes were made in this release.

New Lints:

  • e_sub_ca_aia_missing was split into two lints - e_sub_ca_aia_missing and w_sub_ca_aia_missing. The error variant becomes ineffective for certificates issued after August 20th, 2020. Conversely, the warning variant becomes effective for certificates issued after August 20th, 2020.
  • e_subject_common_name_not_exactly_from_san. The common name field in subscriber certificates must include only names from the SAN extension.
  • e_rfc_dnsname_empty_label. DNSNames should not have an empty label.
  • e_rfc_dnsname_hyphen_in_sld. . DNSName should not have a hyphen beginning or ending the SLD.
  • e_rfc_dnsname_label_too_long. DNSName labels MUST be less than or equal to 63 characters.
  • e_rfc_dnsname_underscore_in_sld. DNSName MUST NOT contain underscore characters.
  • w_rfc_dnsname_underscore_in_trd. DNSName MUST NOT contain underscore characters.

Bug Fixes:

  • The ZCrypto dependency was upgraded to v0.0.0-20210811211718-6f9bc4aff20f in order to fix issue #626, which was causing a compilation error when attempting to consume ZLint as a library rather than a binary application.
  • A bug was fixed in the project's test certificate generation script wherein generated sample certificates did not properly cryptographically chain

Misc:

  • All lints had their initialize methods migrated to proper Go style constructors. This reduces the reliance upon singletons in the code base and improves multi-threaded test stability.
  • The ZLint test integration framework now rejects config.json files that have duplicate entries. This improves reasoning of test results as duplicate definitions elsewhere in the could unknowingly override test expectations.
  • Updated ZCrypto to allow for more permissive ASN.1 parsing.
  • e_subject_common_name_not_from_san was configured to no longer be effective as of CABF 1.8.0.

Changelog

1b89405 bump zcrypto to v0.0.0-20210811211718-6f9bc4aff20f (#629)
9da3c9f disallow duplicate entries in config.json (#616)
4940d55 Test certificate generator doesn't create a certificate chain (#622)
e274215 split lint_sub_ca_aia_missing lint into an error lint for before CABF_BR 1.7.1 and a warning for after. Add test data (#613)
7bba362 Code clarification to match BRs wording. (#621)
48b300e Update README.md (#614)
8e8930e subsitute the initialize method for a constructor in the Lint struct (#607)
dbd9bfd dep: upgrade to latest ZCrypto with permissive asn1 parsing (#611)
b4060ec Correct lint attribution for dnsname_etc lints and limit scope to just DNS SAN entries (#609)
74dfff2 Update README.md (#631)
0944e91 e_subject_common_name_not_from_san is no longer sufficient for enforcing CABF BRs (#627)

v3.3.0-rc2

26 Sep 18:26
v3.3.0-rc2
b4060ec
Compare
Choose a tag to compare
v3.3.0-rc2 Pre-release
Pre-release

ZLint v3.3.0-rc2

The ZMap team is happy to share ZLint v3.3.0-rc2.

Thank you to everyone who contributes to ZLint!

Breaking Changes:

No breaking changes were made in this release.

New Lints:

  • e_sub_ca_aia_missing was split into two lints - e_sub_ca_aia_missing and w_sub_ca_aia_missing. The error variant becomes ineffective for certificates issued after August 20th, 2020. Conversely, the warning variant becomes effective for certificates issued after August 20th, 2020.
  • e_subject_common_name_not_exactly_from_san. The common name field in subscriber certificates must include only names from the SAN extension.
  • e_rfc_dnsname_empty_label. DNSNames should not have an empty label.
  • e_rfc_dnsname_hyphen_in_sld. . DNSName should not have a hyphen beginning or ending the SLD.
  • e_rfc_dnsname_label_too_long. DNSName labels MUST be less than or equal to 63 characters.
  • e_rfc_dnsname_underscore_in_sld. DNSName MUST NOT contain underscore characters.
  • w_rfc_dnsname_underscore_in_trd. DNSName MUST NOT contain underscore characters.

Bug Fixes:

  • The ZCrypto dependency was upgraded to v0.0.0-20210811211718-6f9bc4aff20f in order to fix issue #626, which was causing a compilation error when attempting to consume ZLint as a library rather than a binary application.
  • A bug was fixed in the project's test certificate generation script wherein generated sample certificates did not properly cryptographically chain

Misc:

  • All lints had their initialize methods migrated to proper Go style constructors. This reduces the reliance upon singletons in the code base and improves multi-threaded test stability.
  • The ZLint test integration framework now rejects config.json files that have duplicate entries. This improves reasoning of test results as duplicate definitions elsewhere in the could unknowingly override test expectations.
  • Updated ZCrypto to allow for more permissive ASN.1 parsing.
  • e_subject_common_name_not_from_san was configured to no longer be effective as of CABF 1.8.0.

Changelog

1b89405 bump zcrypto to v0.0.0-20210811211718-6f9bc4aff20f (#629)
9da3c9f disallow duplicate entries in config.json (#616)
4940d55 Test certificate generator doesn't create a certificate chain (#622)
e274215 split lint_sub_ca_aia_missing lint into an error lint for before CABF_BR 1.7.1 and a warning for after. Add test data (#613)
7bba362 Code clarification to match BRs wording. (#621)
48b300e Update README.md (#614)
8e8930e subsitute the initialize method for a constructor in the Lint struct (#607)
dbd9bfd dep: upgrade to latest ZCrypto with permissive asn1 parsing (#611)
b4060ec Correct lint attribution for dnsname_etc lints and limit scope to just DNS SAN entries (#609)
74dfff2 Update README.md (#631)
0944e91 e_subject_common_name_not_from_san is no longer sufficient for enforcing CABF BRs (#627)

ZLint v3.3.0-rc1

06 Sep 17:37
v3.3.0-rc1
1b89405
Compare
Choose a tag to compare
ZLint v3.3.0-rc1 Pre-release
Pre-release

ZLint v3.3.0-rc1

The ZMap team is happy to share ZLint v3.3.0-rc1.

Thank you to everyone who contributes to ZLint!

Breaking Changes:

No breaking changes were made in this release.

New Lints:

  • e_sub_ca_aia_missing was split into two lints - e_sub_ca_aia_missing and w_sub_ca_aia_missing. The error variant becomes ineffective for certificates issued after August 20th, 2020. Conversely, the warning variant becomes effective for certificates issued after August 20th, 2020.

Bug Fixes:

  • The ZCrypto dependency was upgraded to v0.0.0-20210811211718-6f9bc4aff20f in order to fix issue #626, which was causing a compilation error when attempting to consume ZLint as a library rather than a binary application.
  • A bug was fixed in the project's test certificate generation script wherein generated sample certificates did not properly cryptographically chain

Misc:

  • All lints had their initialize methods migrated to proper Go style constructors. This reduces the reliance upon singletons in the code base and improves multi-threaded test stability.
  • The ZLint test integration framework now rejects config.json files that have duplicate entries. This improves reasoning of test results as duplicate definitions elsewhere in the could unknowingly override test expectations.
  • Updated ZCrypto to allow for more permissive ASN.1 parsing.

Changelog

1b89405 bump zcrypto to v0.0.0-20210811211718-6f9bc4aff20f (#629)
9da3c9f disallow duplicate entries in config.json (#616)
4940d55 Test certificate generator doesn't create a certificate chain (#622)
e274215 split lint_sub_ca_aia_missing lint into an error lint for before CABF_BR 1.7.1 and a warning for after. Add test data (#613)
7bba362 Code clarification to match BRs wording. (#621)
48b300e Update README.md (#614)
8e8930e subsitute the initialize method for a constructor in the Lint struct (#607)
dbd9bfd dep: upgrade to latest ZCrypto with permissive asn1 parsing (#611)