Different certinfo output for versions from `brew` and released binary
Maintainers usually reply within 2 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 42/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- go
- Domain
- cryptography, security
Research direction
Start by reproducing cfssl certinfo -csr some.csr.pem with the Homebrew and release 1.6.4 binaries on the reported macOS environment, then compare their Go runtimes and certificate parsing behavior. Trace the certinfo output path to determine why the Homebrew result has an empty PublicKey.Curve.Name; done means the outputs consistently report the curve information.
Written by the indexing model from the issue text.
Description
Problem:
- Two different output for
certinfousingcfsslinstalled frombrewand downloaded from Release page on GitHub. Public.Curve.Namepart of the output is empty in casecfsslis installed usingbrew.
Tested environment:
- M1 Pro Macbook,
- OS version - Ventura 13.3.1 (a)
Examples of results:
Result for the version installed via brew
>>> cfssl certinfo -csr some.csr.pem
{
"Raw": <redacted>,
"RawTBSCertificateRequest": <redacted>,
"RawSubjectPublicKeyInfo": <redacted>,
"RawSubject": <redacted>,
"Version": 0,
"Signature": <redacted>,
"SignatureAlgorithm": 10,
"PublicKeyAlgorithm": 3,
"PublicKey": {
"Curve": {},
"X":<some value>,
"Y": <some value>
},
"Subject": {
"Country": null,
"Organization": null,
"OrganizationalUnit": null,
"Locality": null,
"Province": null,
"StreetAddress": null,
"PostalCode": null,
"SerialNumber": "",
"CommonName": <redacted>,
"Names": [
{
"Type": [
2,
5,
4,
3
],
"Value": <redacted>
}
],
"ExtraNames": null
},
"Attributes": null,
"Extensions": null,
"ExtraExtensions": null,
"DNSNames": null,
"EmailAddresses": null,
"IPAddresses": null,
"URIs": null
}
>>> cfssl version
Version: 1.6.4
Runtime: go1.20.3
>>> brew --version
Homebrew 4.0.21
Homebrew/homebrew-core (git revision 9d0b7361d; last commit 2023-06-06)
Result for the version downloaded via curl from release page for darwin arm 64, version 1.6.4
>>> ./cfssl_1.6.4_darwin_arm64 certinfo -csr some.csr.pem
{
"Raw": <redacted>,
"RawTBSCertificateRequest": <redacted>,
"RawSubjectPublicKeyInfo": <redacted>,
"RawSubject": <redacted>,
"Version": 0,
"Signature": <redacted>,
"SignatureAlgorithm": 10,
"PublicKeyAlgorithm": 3,
"PublicKey": {
"Curve": {
"P": <some value>,
"N": <some value>,
"B": <some value>,
"Gx": <some value>,
"Gy": <some value>,
"BitSize": 256,
"Name": "P-256"
},
"X": <some value>,
"Y": <some value>
},
"Subject": {
"Country": null,
"Organization": null,
"OrganizationalUnit": null,
"Locality": null,
"Province": null,
"StreetAddress": null,
"PostalCode": null,
"SerialNumber": "",
"CommonName": <redacted>,
"Names": [
{
"Type": [
2,
5,
4,
3
],
"Value": <redacted>
}
],
"ExtraNames": null
},
"Attributes": null,
"Extensions": null,
"ExtraExtensions": null,
"DNSNames": null,
"EmailAddresses": null,
"IPAddresses": null,
"URIs": null
}
>>> ./cfssl_1.6.4_darwin_arm64 version
Version: 1.6.4
Runtime: go1.18
I can see that Runtime version is different, but not sure if it matters in this situation.
Also I tried to find a template for issue that is mentioned in contributing guidelines, but couldn't find it. So my apologies in advance.
- Dominant language
- Go
- Stars
- 9.5k
- Forks
- 1.2k
- Avg merge
- 12h 48m
- Merged PRs (30d)
- 2
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from cloudflare/cfssl
-
gencrl: serial numbers that fail to parse are added to the CRL as 0 or a partial valuePossibly taken @sebxt claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
cloudflare/cfssl#1460 ·
Maintainers usually reply within 2 days
-
`Bundler.BundleFromRemote` fails for IPv6 address literalsPossibly taken @reginaldalfret claimed this 14 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
cloudflare/cfssl#1448 ·
Maintainers usually reply within 2 days
-
crl_override (and extensions) in /api/v1/sign request body are silently ignored by the HTTP APIPossibly taken @Hashim1999164 claimed this 69 days ago. Open
Difficulty 2/5 Half a day Newbie friendliness 78/100
cloudflare/cfssl#1439 ·
Maintainers usually reply within 2 days
-
gencrl silently revokes the wrong serial number when a line is not plain decimalPossibly taken @RaphaelFakhri claimed this 2 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 30/100
cloudflare/cfssl#1458 ·
Maintainers usually reply within 2 days
-
config: LoadConfig panics when not_after is before not_beforePossibly taken @sebxt claimed this 3 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 25/100
cloudflare/cfssl#1456 ·
Maintainers usually reply within 2 days
All issues in cloudflare/cfssl
Similar issues
-
usage: a custom provider's balance meters ("…%" in the balance path) ignore the Left/Used switchOpen
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
bug iam-service
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
platform-mesh/platform-mesh#425 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
grafana/tempo-operator#1691 ·
Maintainers usually reply within 1 day
-
fix: presentation.go with mcp-table.go: the message for each MCP server comes backPossibly taken @mge1512 claimed this today. Openbug
Difficulty 1/5 1-3 hours Newbie friendliness 78/100
mark3labs/kit#242 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
slavakurilyak/awesome-ai-agents#827 ·
Maintainers usually reply within 1 day