Closed GoogleCodeExporter closed 9 years ago
Hello Alan,
As in your post for issue 212, I think your issue here is what constitutes a
"complete certification path". RFC 5280 section 6 defines this as a chain of
certificates 1..N where certificate 1 is issued by the trust anchor, and
certificate N is the cert to be validated. The certificate validation algorithm
only requires revocation testing for certificates 1..N, and not for the Trust
Anchor itself or for any superior CA certificates. It follows that the Trust
Anchors should be chosen and/or distributed accordingly. So it seems to me that
the RI is processing this correctly.
Luis Maas
EMR Direct
Original comment by lcmaas3
on 19 May 2013 at 11:17
[deleted comment]
Luis:
Perhaps you misunderstood my question.
This question is not about a "complete certificate path", but rather about CRL
/revocation support.
Best,
Alan Viars
Original comment by Alan.C.V...@gmail.com
on 20 May 2013 at 1:39
Alan, I believe I do understand you fully. Certificate path validation and
CRL/revocation checking are closely linked.
The Applicability statement section 4.2 requires that the rules of RFC 5280
section 6 be followed for certificate path validation; section 6.3 defines the
rules for revocation status checking, which is part of certification path
validation. Section 6 is a long and complicated part of the RFC and needs to be
studied carefully to be fully understood. The key part related to your issue is
that a Relying Party only needs to check revocation status for the certificates
in the complete certificate path. As defined clearly in RFC 5280, the Trust
Anchor is _not_ part of that path, and its revocation status is not checked as
part of the algorithm. You build a chain up to the Anchor, but the Anchor
itself is never part of the validation path. Subtle difference, but important.
Trust Anchors and their revocation information are distributed through some
other out-of-band trusted mechanism, for example, a trust bundle.
If you wish to add a requirement to check Trust Anchor revocation status, that
would be a perfectly valid local policy decision, but would not be required by
RFC 5280 or the Applicability Statement. Understand that doing this would
require another set of Anchors that would be trusted to validate the CRLs of
intermediate Trust Anchors, so it is not really that simple.
If your Trust anchor (Intermediate-1) is issued by a root (CA-1), and your CA
wants to make sure that Relying Parties check the revocation status of
Intermediate-1, the correct thing to do would be to design your hierarchy such
that CA-1 can be the Trust Anchor instead of Intermediate-1, then
Intermediate-1 would be part of the complete certification path and checking
the revocation status of Intermediate-1 would be required as part of the
algorithm in RFC 5280 Section 6.
Cheers,
Luis
Original comment by lcmaas3
on 20 May 2013 at 3:53
I'm just revoking a domain-bound and email-bound certificate and the CRL is in
the cert, yet the mail still sends. I have not yet tried revoking the Trust
Anchor or CA yet. Still not understanding how this can be for a system
designed to transmit PHI.
I have this setup.
CA->Trust Anchor->Email bound certificate
They all use use the same CRL URL. When I revoke the email-bound certificate
(i.e. the endpoint), the email still sends, when I expect it to fail.
I'm perplexed.
Alan
Original comment by Alan.C.V...@gmail.com
on 20 May 2013 at 7:31
If that is the case you are trying to test, then either your setup is
nonconforming or you have listed the wrong CRL in your original post, or both.
My original reply was based on the fact that the CRL was issued by the root
CA...
Original comment by lcmaas3
on 21 May 2013 at 3:47
The certificate and the corresponding CRL are in my original post.
the serial for the cert is Serial Number: 276 (0x114) and the the CRL contains
this matching serial:
Serial Number: 0114
Revocation Date: May 19 15:38:13 2013 GMT
The CRL URL is accessible via the web. my configuration is pretty
standard....just out of the box...the only modification was to deliver MDNs
back to the edge.
The how for revocation is not defined in the applicability statement, but I was
told that the Java RI meets the Applicability statement via CRL support. Have
you ever seen this in action or tried this yourself?
BTW. my CRL is in PEM format, which is the standard way based on my
understanding.
I'd really like to get to the bottom of this. If its not implemented or a bug,
that's fine...I just need to know for sure one way or the other.
Best,
Alan Viars
@aviars
Original comment by Alan.C.V...@gmail.com
on 21 May 2013 at 5:21
CRL issue was due to issuer of CRL. The RI works as expected and designed.
Original comment by gm2...@cerner.com
on 25 Jun 2013 at 2:06
Original issue reported on code.google.com by
Alan.C.V...@gmail.com
on 19 May 2013 at 6:00