-
Notifications
You must be signed in to change notification settings - Fork 110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incorrect warning on multiple attributes in one RDN #220
Comments
@YuryStrozhevsky from the Source (https://github.com/zmap/zlint/blob/master/lints/lint_subject_multiple_rdn.go#L52), it appear this was pulled from the AWSLabs certlint -- and there doesn't seem to be any I don't see any further reference to a specification there (https://github.com/awslabs/certlint/blob/25d5957f8c36dafcbd82870df57a8367b49650be/lib/certlint/namelint.rb#L121). |
@pzb can you elaborate? |
Certlint warns about it because I observed that the majority of multiple attribute RDNs are due to bugs. A surprising number of certificates includes all the attributes in a single RDN by mistake. I'm assuming this was because of a poor API to create Names where an array of attributes becomes a single RDN rather than becoming a sequence of RDNs with one attribute each. In certlint Warnings ( |
It might be worth downgrading this from a warning to a notice. We typically use warnings to denote practices that aren't consistent with community guidelines (e.g., a |
Are client API's equipped to deal with RDN's of size > 1? Offhand, I know that at least Golang pushes the extra attributes to a grab-bag https://golang.org/src/crypto/x509/pkix/pkix.go?s=3333:3386#L123 |
Ruby also has issues: https://github.com/ruby/openssl/blob/master/lib/openssl/x509.rb#L127 (parsing string into Name) https://github.com/ruby/openssl/blob/master/ext/openssl/ossl_x509name.c#L332 (name converts to Array of Attributes, not Array of Array of Attributes); if to do |
@dadrian thanks for noting that. I think this is generally the type of case that we try to catch with a We've tried to stick pretty religiously to needing a document to point to (e.g., RFC or CA/B Forum clause) in order for something to rise up to be a |
Sounds like we should make this a notice, and then get the BR's changed. 🤪 |
It seems, based on Ruby's behavior, a client that wants to interoperate with poorly done implementations should default to the other form. It also seems in the context of zlint this should be a Notice. |
Certlint is usually uses notice versus warning for software incompatibilities; I should probably the multi-attribute message to be a notice as well: https://github.com/awslabs/certlint/blob/master/lib/certlint/certlint.rb#L278 |
@pzb BTW I made same issue for |
In your code you have this warning on having "multiple attributes in one RDN" in one certificate. In fact I do not understand the warning and why you made it.
As from initial type definition we have this:
And nothing stops us from having multiple
AttributeTypeAndValue
- could be(1..MAX)
values inside oneRelativeDistinguishedName
.So, could you describe why you made the warning in
zlint
?The text was updated successfully, but these errors were encountered: