Skip to content

Update cab_iv_requires_personal_name lint to only require Personal Name#980

Merged
christopher-henderson merged 12 commits intozmap:masterfrom
digirenpeter:master
Aug 12, 2025
Merged

Update cab_iv_requires_personal_name lint to only require Personal Name#980
christopher-henderson merged 12 commits intozmap:masterfrom
digirenpeter:master

Conversation

@digirenpeter
Copy link
Copy Markdown
Contributor

Just a small change for this lint, as of CABF BR v2.0.0, organizationName is a NOT RECOMMENDED Subject attribute, and so the old language no longer applies:

Such Certificates MUST also include either organizationName or both givenName and
surname, localityName (to the extent such field is required under Section 7.1.4.2.2),
stateOrProvinceName (to the extent required under Section 7.1.4.2.2), and countryName
in the Subject field.

This has been updated with a new table in BR v2.0.0:

The following table details the acceptable AttributeTypes that may appear within the
type field of an AttributeTypeAndValue, as well as the contents permitted within the
value field.
Attribute Name | Presence | Verification
------------------ | ---------------- | ----------------------
organizationName | NOT RECOMMENDED | Section 3.2.3, pg. 111
surname | MUST | Section 3.2.3
givenName | MUST | Section 3.2.3

I'm only showing the relevant part of the table for these changes.

Citation: "BRs: 7.1.2.7.3",
Source: lint.CABFBaselineRequirements,
EffectiveDate: util.CABV131Date,
EffectiveDate: util.CABFBRs_2_0_0_Date,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is going to break zlint output for certificates issued before 2023-09-15 which might affect some use cases like crt.sh. I think it might make more sense here to mark the existing lint ineffective at CABFBRs_2_0_0_Date and copy this code into a new lint that enforces only the new, unmixed version of the requirement.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see what you mean, I’ll split these into separate lints.

My only concern is that over time, each directory may accumulate a large number of lints that have been ineffective for years (e.g., 3+ years old). Is there a plan or policy for how long to keep ineffective lints around before cleaning them up or is the plan to always be backwards compatible with old requirements?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a plan or policy for how long to keep ineffective lints around before cleaning them up or is the plan to always be backwards compatible with old requirements?

I suppose that that depends on...

  1. What is out there in the wild
  2. The audience of ZLint

For #1, as certs expire their sunsetted requirements will naturally become irrelevant. That'll be much easier over the course of the next decade as shorter-and-shorter lifecycles not only become the norm, but are enforced. In the meantime, I would not be surprised to find many 10 year+ certificates.

For #2, it depends on whether the audience of ZLint cares to scrutinize old certificates with such long life cycles. I would hazard a guess that most industry users are more concerned with the now-rather-than-the-then. Although researchers may have an interest in the "wild side" of the older web PKI.

Copy link
Copy Markdown
Member

@christopher-henderson christopher-henderson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm. Thank you to @mhyder13 for catching the backwards compatibility, I'll let you chime-in again before merging.

Copy link
Copy Markdown
Contributor

@mhyder13 mhyder13 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@christopher-henderson christopher-henderson merged commit 8c38228 into zmap:master Aug 12, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants