Repository navigation
certman: keep peer intermediates as chain CAs - #1338
Open
ejohnstown wants to merge 2 commits into
Open
ejohnstown wants to merge 2 commits into
ejohnstown wants to merge 2 commits into
Conversation
VerifyCerts_buffer() loaded every verified cert above the leaf as a trusted root. It now loads an intermediate only when the cert below needs it as issuer, and on wolfSSL 5.8.4 or later keeps it as a WOLFSSL_CHAIN_CA, as TLS does, tagging it only after an untyped load gave the cert below a new signer, since the typed load retags matches. - every cert above the leaf must still pass the CA check - use the typed load only without NO_SKID, mapping failures to WS_ codes and logging a failed retag as an error - document the kept intermediates and the strict chain order - test that roots stay roots and a CA loads only for a cert it signs Issue: F-10586
wc_ParseCert() with NO_VERIFY does not look up the signer of a self-issued leaf, so CheckProfile() treats a NULL cert->ca as a profile mismatch instead of dereferencing it. - test a self-issued leaf that reaches the issuer-DN match Issue: F-8862
wolfSSL-Fenrir-bot
left a comment
There was a problem hiding this comment.
Fenrir Automated Review — PR #1338
Scan targets checked: wolfssh-src, wolfssh-bugs
Coverage: 1 of 4 in-scope changed file(s) opened by the reviewer; not opened: tests/unit.c, wolfssh/certman.h, wolfssh/internal.h
Fenrir result: Approved ✅
No new issues found in the changed files.
Advisory only — this automated result does not count as a GitHub approval.
Review tier: Lite
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
wolfSSH_CERTMAN_VerifyCerts_buffer() loads a peer's intermediate only
when the cert below needs it as issuer, and keeps it as a
WOLFSSL_CHAIN_CA on wolfSSL 5.8.4 and later, the same as TLS.
intermediates are cleared with
wolfSSL_CertManagerUnloadIntermediateCerts().
fails with WS_CERT_NO_SIGNER_E. This needs a ChangeLog line.
mismatch instead of dereferencing NULL.
Issue: F-10586, F-8862