-
Notifications
You must be signed in to change notification settings - Fork 18k
crypto/x509: certificate with empty Authority Key Identifier extension considered invalid #70619
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
Comments
please show a reproducer. also 1.18 is not a supported version.
and it should be allowed from #15194 |
I implemented this problem again in go version go1.23.2 linux/amd64 |
cc @golang/security |
There is no staff to handle this report for a long time.I hope a developer can review my report,This is very important for my work. |
Just because these fields are OPTIONAL (in the ASN.1 terminology) does not mean they can generally be empty. RFC 5280 specifically says that the keyIdentifier must be present (except for in the self-signed case) and the CABF Baseline Requirements also says it must be present. I'm confused as to what the extension being present, but the value being empty, would mean. How would that aid in path building? We specifically target the web PKI, for which AKI is generally necessary for happy path building. While OpenSSL and GnuTLS support many things, which exponentially increase their complexity, we do not, and without a strong rationale for adding support for this, I cannot imagine we would be particularly interested in doing it. |
Go version
go version go1.18.1 linux/amd64
Output of
go env
in your module/workspace:What did you do?
I used crypto/x509 of golang to convert the der certificate to a pem certificate. For my test case, there was an Authority Key Identifier extension with an empty value.
What did you see happen?
Golang considered it an invalid Authority Key Identifier extension, but openssl and gnutls did not.
What did you expect to see?
According to rfc5280, the keyIdentifier, authorityCertIssuer, and authorityCertSerialNumber of the Authority Key Identifier extension are all OPTIONAL
The text was updated successfully, but these errors were encountered: