-
Notifications
You must be signed in to change notification settings - Fork 3
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
Certs signed with the SHA-1 hash function #219
Comments
From https://go.dev/doc/go1.18#sha1:
|
Potential relevant spot in the code to extend: check-cert/internal/certs/certs.go Lines 448 to 450 in f61c152
|
Looks like this is picking up steam (activity today):
|
This may already be handled by recent refactoring work. Adding to next milestone as a reminder to double check. |
Considering this resolved per the work here: |
OVERVIEW This set of changes applies to both the `check_cert` plugin and the `lscert` CLI tool. While the primary focus is adding a prototype implementation of "chain order" validation logic, other ergonomic and display changes have been applied to the `lscert` tool. Some of those changes are likely to be refined further in near future releases as additional validation checks are applied. CHANGES - update `check_cert` plugin - add new `Chain Order` validation type - assert that leaf certificate is first in chain, followed by the intermediate which signed it, a potential second intermediate which signed the former and so on - current implementation objects to a single leaf cert in a chain, though this behavior may be moved to a separate validation check specific to intermediates - current implementation notes the presence of a root certificate and cautions that some platforms will object to this, though this behavior may be moved to a separate validation check in the future - offers advice for replacing a certificate chain when specific CA vendors are matched - currently only Sectigo/InCommon is supported, though the plan is to support multiple CAs once further feedback is gathered - add new performance data metrics - `certs_ordered` - `certs_misordered` - extend tests to cover new validation type - update `lscert` - incorporate new validation check - rework summary display to use emoji status indicators (pass/neutral/warn/crit) - rename headers to emphasize "cert chain" over just "certs" - incorporate the same "advice" output that the `check_cert` plugin now emits for `Chain Order` validation problems CREDIT The following LLM sources were used for inspiration or starting code samples for some of the included changes: - ChatGPT, OpenAI - Google Gemini - Claude (Anthropic AI assistant) In particular, I used all of these sources for assistance with logic for certificate chain ordering, signature validation and misc other tasks. While none provided solutions I could use as-is, all were helpful in pointing me in the right direction when I needed it. REFERENCES - GH-1004 - GH-364 - GH-365 - GH-219
From the Go 1.17 release notes:
There are older certs that I have seen signed with the MD5 hash which were exposed with the
certsum
tool. If those certs are still supported, then we will likely need to support SHA-1 certs too.The text was updated successfully, but these errors were encountered: