Hi all, 

There’s been a request within the S/MIME working group to bring forward issues 
that have arisen since the adoption of the SBRs. While we’ve not seen a whole 
lot of issues, we believe we may have discovered one now. 

We offer support for Windows’s own auto-enrollment features. In the past we 
used to include the “Certificate Template Information” extension (OID 
1.3.6.1.4.1.311.21.7) for this purpose. Since we started issuing SBR compliant 
certificates prior to September 1st, we removed support for this extension on 
publicly trusted S/MIME certificates. 

As we now have noticed, this has led to a partial breakdown of the 
auto-enrollment system. From what we understand, the auto-enrollment mechanism 
is specifically looking for this extension in certificates, if a certificate 
for a particular required Certificate Template (as specified through AD) is not 
found, auto-enrollment will “do its job”, and request a new certificate. This 
can lead to multiple new certificates being installed in a single day, all 
because the extension is missing. 

We’ve investigated bringing back support for the extension, and are led to the 
conclusion that no, this extension would not be allowed per the current 
language. A breakdown: 

Section 7.1.2.4 
(https://github.com/cabforum/smime/blob/main/SBR.md#7124-all-certificates 
<https://github.com/cabforum/smime/blob/main/SBR.md#7124-all-certificates> ) 
states: 
“All fields and extensions SHALL be set in accordance with RFC 5280 
<https://datatracker.ietf.org/doc/html/rfc5280>. The CA SHALL NOT issue a 
Certificate that contains a keyUsage flag, extKeyUsage value, Certificate 
extension, or other data not specified in Section 7.1.2.1 
<https://github.com/cabforum/smime/blob/main/SBR.md#7121-root-ca-certificates>, 
Section 7.1.2.2 
<https://github.com/cabforum/smime/blob/main/SBR.md#7122-subordinate-ca-certificates>,
 or Section 7.1.2.3 
<https://github.com/cabforum/smime/blob/main/SBR.md#7123-subscriber-certificates>
 unless the CA is aware of a reason for including the data in the Certificate. 
If the CA includes fields or extensions in a Certificate that are not specified 
but are otherwise permitted by these Requirements, then the CA SHALL document 
the processes and procedures that the CA employs for the validation of 
information contained in such fields and extensions in its CP and/or CPS.” 

So far, we could see allowing the extension. We have “a reason for including 
the data in the Certificate”, and we could update our CPS. However, the 
language continues with an additional SHALL NOT: 
“CAs SHALL NOT issue a Certificate with: 

1. Extensions that do not apply in the context of the public Internet (such as 
an extKeyUsage value for a service that is only valid in the context of a 
privately managed network), unless:
i. such value falls within an OID arc for which the Applicant demonstrates 
ownership, or
ii. the Applicant can otherwise demonstrate the right to assert the data in a 
public context; or 
2. Field or extension values which have not been validated according to the 
processes and procedures described in these Requirements or the CA's CP and/or 
CPS.” 
So while the first section might allow us to incorporate the extension, it 
seems we also need to meet one of the statements in this block: 
“Extensions that do not apply in the context of the public Internet (such as an 
extKeyUsage value for a service that is only valid in the context of a 
privately managed network), unless:”
This extension indeed does not apply in the context of the public Internet. So, 
we move into the exception cases: 
”i. such value falls within an OID arc for which the Applicant demonstrates 
ownership, or”
No. Neither us, nor the Applicant owns the OID. It’s an OID under the Microsoft 
OID arc. 
” ii. the Applicant can otherwise demonstrate the right to assert the data in a 
public context; or”
Unless the Applicant gets a contract stating they were given the right by 
Microsoft, we don’t see how this requirement is met. 
Then we’re left with “Field or extension values which have not been validated 
according to the processes and procedures described in these Requirements or 
the CA's CP and/or CPS.”
This one is a bit odd. Does this suddenly suggest or imply that the CA may 
include any field or extension that has been validated according only to the 
CA’s CP and/or CPS? Item “(ii)” ends with an “or”. However, we believe this is 
an incorrect editorial bit that should be updated, since the list shifts back 
to a previous indentation. 
All in all, we’re left with the understanding that, no, this extension is not 
allowed (with the exception that if Microsoft were to be the Applicant, it 
would be allowed). 
With this breakdown, we’re left with a few questions: 

* Have other CAs run into the same issue? 
* Do other CAs share the same conclusion? 
* If this does appear to be an issue, should an extension by the platform of 
one of our Certificate Consumers, be specifically added as an allowed 
extension? 
Regards,

Martijn
Sectigo 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
Smcwg-public mailing list
Smcwg-public@cabforum.org
https://lists.cabforum.org/mailman/listinfo/smcwg-public

Reply via email to