Skip to content

Add CABF S/MIME certificate policies#14190

Draft
TaaviE wants to merge 2 commits intopyca:mainfrom
TaaviE:smime
Draft

Add CABF S/MIME certificate policies#14190
TaaviE wants to merge 2 commits intopyca:mainfrom
TaaviE:smime

Conversation

@TaaviE
Copy link
Contributor

@TaaviE TaaviE commented Jan 22, 2026

This PR intends to add the base for S/MIME certificate validation based on the CA/B Forum S/MIME BR 1.0.12.

The biggest change is likely the addition of cRLDistributionPoints validation for both WebPKI and S/MIME, to the extent that is the lowest common denominator.

I did not introduce ML-DSA or ML-KEM support, even though the S/MIME BR allows them. Nor did I implement S/MIME signature validation or anything CMS-related. This is intended to be the first "brick" that can be built upon.‡

I took the Server TLS policies as the base, to be as lax or strict as those are. So they generally do not differ a lot. There's also work ongoing to further align S/MIME BR with Server TLS ones, so it might be possible to simplify futher later on.

‡ - Such as strict verification based on specific S/MIME certificate profiles or the signature/signing code in #12465 or #12267

@TaaviE TaaviE marked this pull request as draft January 22, 2026 15:10
@alex
Copy link
Member

alex commented Jan 25, 2026

cc: @woodruffw

If I'm reading this correctly, the only two substantive differences are CRL DP validation, and two additional key types?

The biggest thing we'd need for this are test cases -- in https://github.com/c2sp/x509-limbo.

@TaaviE
Copy link
Contributor Author

TaaviE commented Jan 27, 2026

The biggest thing we'd need for this are test cases -- in https://github.com/c2sp/x509-limbo.

Is that something you have to do or should I? If I can do it, is there documentation about it that would help me get started?

@alex
Copy link
Member

alex commented Jan 27, 2026 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants