Certainly we (as a CA who uses such precertificate-signing CAs) never 
interpreted RFC 6962 or the other requirements as mandating or even suggesting 
that, for either of the possible interpretations of Alex's question.  As soon 
as you hit the precertificate-signing CA in the validation path you've 
encountered a signed entity that is unusable in the public PKI, as it fails 
validation on a couple of fronts: it has the critical poison extension in the 
EKU and it has Basic Constraints set and yet was issued from a CA with 
path-length 0.  If we did need to provide OCSP responses for that hierarchy, 
that would mean generating and distributing twice as many OCSP responses, so if 
that became a requirement that would likely cause us to reconsider this 
implementation approach.

More generally speaking to the entirety of this thread though I'm wondering a 
couple of things:

1) Is there an actual goal or problem we're trying to solve by having a rule at 
all on whether an OCSP responder should respond UNKNOWN or GOOD on a 
precertificate where there is no certificate?  I understand the rationale for 
requiring that a CA be able to revoke a precertificate, since there's no way 
for a CA to prove that a corresponding certificate doesn't exist.  So if you 
can satisfy any of the criteria for which the BRs require revocation of a 
certificate today, an OCSP response of REVOKED on that serial number gives 
assurance that if any corresponding certificate DOES exist, it's now revoked.  
But what is the practical difference between an OCSP responder returning GOOD 
and it returning UNKNOWN unless a corresponding certificate exists?

2) How does the statement from RFC 6962 lead to the conclusion that a 
precertificate is "proof that a corresponding certificate has been issued".  Of 
course for a certain period of time (typically very short) that statement can't 
possibly be true because you need to create a precertificate before you can 
request SCTs and you need SCTs to create the certificate.  But ignoring that 
technicality, I read "This intent is considered binding (i.e., misissuance of 
the Precertificate is considered equal to misissuance of the final 
certificate)" as saying essentially "you'll be found guilty in a court of law 
if you commit a crime in your precertificate, whether or not you go through 
with it in a real certificate.  You signaled your intent, and we'll find you 
guilty based on that intent, if your intent was unlawful."  I could see where 
it might be ambiguous without the i.e. parenthetical between that 
interpretation and the interpretation that "binding intent" means a promise to 
issue a corresponding certificate.  But the i.e. parenthetical seems to have 
been added specifically to clear up that potential ambiguity.

Regards,
Tim

-----Original Message-----
From: dev-security-policy <[email protected]> On 
Behalf Of Neil Dunbar via dev-security-policy
Sent: Thursday, September 12, 2019 1:58 PM
To: [email protected]
Subject: Re: DigiCert OCSP services returns 1 byte



> On 12 Sep 2019, at 18:46, Jeremy Rowley via dev-security-policy 
> <[email protected]> wrote:
> 
> The language says you have to provide the response for the cert as if it 
> exists, but the reality is that sending a response for the precert is the 
> same as calculating the result for the certificate as if it exists and 
> sending that. They are the same thing because the precert is treated the same 
> as the final cert if the final cert doesn't exist.

I could be horribly mistaken, but I think Alex was asking is: in the event that 
precertificates are not signed by the issuing CA's private key, but rather by a 
separate signing key/certificate dedicated to that purpose (per RFC 6962, 
Section 3.1) - is there then an obligation to provide OCSP services for that, 
given that the (name-hash, key-hash) on the OCSP request would not be the same 
as that which would normally obtain for the final certificate, which is signed 
directly by the issuing CA key?

It would _seem_ right that it should, since a pre-certificate could reasonably 
be revoked prior to issuing the final certificate, for several reasons. Yet 
it's a reasonable follow-up question: would CAs who have such dedicated 
certificates make them available such that RPs could construct those OCSP 
requests?

> I believe the intent is that a CT-naïve OCSP checker would work normally when 
> presented with a precert or a certificate. Afterall, a precert is really just 
> a certificate with a special extension.

Would an OCSP server even be able to tell the difference? After all, it simply 
gets presented with a CA identifier (name-hash, key-hash) and a serial number. 
If it knows about that combination, it provides a response, but it's got no way 
of knowing, absent extra information in its database whether the request 
pertains to a pre-cert or cert - in general. But see above for the case of 
dedicated precertificate signing certificates.

Regards,

Neil


_______________________________________________
dev-security-policy mailing list
[email protected]
https://scanmail.trustwave.com/?c=4062&d=vYf63SFHw3OMTLs5z_XBTWHEejkpuh1h5FY8k9MvsA&s=5&u=https%3a%2f%2flists%2emozilla%2eorg%2flistinfo%2fdev-security-policy
_______________________________________________
dev-security-policy mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-security-policy

Reply via email to