PKI question, trusting subordinate CA

PKI question, trusting subordinate CA

Secure Home | Search | About
 Microsoft Applications Security    Post an article   get this group's latest topics as an RSS feed add this group's latest topics to your My MSN content add this group's latest topics to your My Yahoo content add this group's latest topics to your Google content
Subject Author Date
PKI question, trusting subordinate CA hagaiy 01-01-2006
Posted by on January 1, 2006, 4:24 am
If you were  Registered and logged in, you could reply and use other advanced thread options
Hello,

I am providing PKI authentication to my application, I am holding a
trusted CA's list and I would like to enable trusting subordinate CA
in my server (I do not want to trust the root CA and other subordinate
CA's, only a specific subordinate CA to provide certificates for
client authentication), but this cause a problem in revocation check.
Since I don't have the root CA in my trusted CA's list I cannot
perform CRL's validation for the certificate chain of a client
certificate (I cannot validate the CRL for the trusted subordinate CA
since it is signed by a root CA)

The only solution that I can think of is using two separated trusted
CA's stores, one for authentication (that will contain only the
specific subordinate CA) and one for revocation check (that will
contain the root CA). Does this sound like a reasonable solution? Has
any one done something like this and can provide some information on
how?

TX.
Hagai.


Posted by Brian Komar [MVP] on January 14, 2006, 11:01 am
If you were  Registered and logged in, you could reply and use other advanced thread options
hagaiy@yahoo.com says...
> Hello,
>
> I am providing PKI authentication to my application, I am holding a
> trusted CA's list and I would like to enable trusting subordinate CA
> in my server (I do not want to trust the root CA and other subordinate
> CA's, only a specific subordinate CA to provide certificates for
> client authentication), but this cause a problem in revocation check.
> Since I don't have the root CA in my trusted CA's list I cannot
> perform CRL's validation for the certificate chain of a client
> certificate (I cannot validate the CRL for the trusted subordinate CA
> since it is signed by a root CA)
>
> The only solution that I can think of is using two separated trusted
> CA's stores, one for authentication (that will contain only the
> specific subordinate CA) and one for revocation check (that will
> contain the root CA). Does this sound like a reasonable solution? Has
> any one done something like this and can provide some information on
> how?
>
> TX.
> Hagai.
>
>
In your own application, you could reference this "private" store. In
many ways, Windows does this as well. For example, for smart card
authentication, the smart card must:
1) Chain to a trusted root CA
2) Pass a revocation check
3) Be issued by an issuing CA that is in the NTAuth store

So you could programmatically check whether the subordinate CA is in
your "private" store.

Brian

Posted by Brian Komar [MVP] on January 14, 2006, 11:02 am
If you were  Registered and logged in, you could reply and use other advanced thread options
hagaiy@yahoo.com says...
> Hello,
>
> I am providing PKI authentication to my application, I am holding a
> trusted CA's list and I would like to enable trusting subordinate CA
> in my server (I do not want to trust the root CA and other subordinate
> CA's, only a specific subordinate CA to provide certificates for
> client authentication), but this cause a problem in revocation check.
> Since I don't have the root CA in my trusted CA's list I cannot
> perform CRL's validation for the certificate chain of a client
> certificate (I cannot validate the CRL for the trusted subordinate CA
> since it is signed by a root CA)
>
> The only solution that I can think of is using two separated trusted
> CA's stores, one for authentication (that will contain only the
> specific subordinate CA) and one for revocation check (that will
> contain the root CA). Does this sound like a reasonable solution? Has
> any one done something like this and can provide some information on
> how?
>
> TX.
> Hagai.
>
>
Another possibility is to cross-certify with the other hierarchy and
issue the Cross CA certificate to the subordinate CA that you wish to
trust. You could even go further here and add an application policy
constraint that would only allow ClientAuth certificates (for example).

For more information on cross-certification, see my whitepaper at
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technolog
ies/security/ws03qswp.mspx

Brian

Similar ThreadsPosted
Question on Enterprise Subordinate CA configuration April 2, 2007, 12:21 pm
Trusting Certs from Non Trusted root March 23, 2007, 6:38 pm
root ca/subordinate ca October 3, 2007, 9:11 am
subordinate ent CAs don't publish certs to AD after Win 2k3 SP1 July 23, 2005, 1:00 pm
Change from Root CA to Subordinate CA February 2, 2006, 11:36 am
Stand-alone vs Enterprise subordinate CA? March 9, 2007, 12:23 pm
Renew Subordinate CA certificate July 16, 2008, 8:21 pm
Windows 2000 subordinate CA ---> 2003 July 22, 2008, 5:54 pm
How to remove the Subordinate Enteprise CA expired certificate April 3, 2007, 9:38 am
Urgent - Subordinate Ceritication Authority Certificate Expired April 2, 2007, 2:28 pm

The site map in XML format XML site map

Contact Us | Privacy Policy