Patrick Patterson wrote:
> Hi there;
>
> On Monday 24 March 2008 12:24:40 Cabz.List wrote:
>   
>> Morning,
>>
>> I am experiencing some PKI comprehension issues:
>>
>> 1) When one talks about creating the "Trusted Root CA" is this different
>> from the "Signing CA"?
>>     a. The Trusted Root CA's private key is hidden away from the world
>> (not on an internet accessible disk)
>>     b. The signing CA does all the "real work"?  By this I mean, is the
>> "Signing CA" now used to sign client certs, and other servers certs such
>> as SMTP, HTTP, RADIUS, SSL-VPN solution, etc.?  Basically the Trusted
>> Root CA, has intermediary CAs do all the work?
>>     c. Am I looking at a forest and planting an unnecessary trees?  By
>> this I mean, what is the better practice, having the Trusted Root CA do
>> the signing of all certs, or attempting to establish this Trusted Root
>> CA - Signing CA - hierarchy?    RFC 1422 seems to desire a CA hierarchy,
>> while RFCs 2459 and 3280 seem to argue that with x509v3 it is uncessary
>> - ack!?!
>>
>>     
> How you set up your CA is determined by several things:
>
> 1: Policy Constraints: Essentially, if you want to have a particular 
> certificate trusted by others, you need to have a Certificate Policy. Take a 
> look at RFC3647 for the "standard" format, if you don't already have a policy 
> that your environment says you have to follow.
>
> 2: Technical Constraints: What sort of programs are you using? What are your 
> relying parties (the programs and people using the certificates to validate 
> the identity presented) capable of? Can they (like Microsoft CAPI) do full 
> RFC 3280 path validation and discovery, or are they limitted (like stock 
> Apache, which doesn't even do CRLs without a lot of pain and suffering).
>
> 3: Your budget. If you are using raw OpenSSL for your CA, you probably don't 
> have a lot of cash to spend on infrastructure (since OpenSSL, while 
> technically very good, is missing some functionality that more capable tools 
> like Entrust, Microsoft CA, or Redhat Certificate Services have - which is 
> understandable, given that it is, first and foremost, a library, and not a CA 
> product).  So you may not have the extra funds for an offline root (we 
> usually use a laptop, a dedicated HSM, and a good safe in a secure location), 
> and for it's operation (even though it's offline, you still need to, at least 
> periodically, issue CRLs (or, more correctly, an ARL)).
>
> However, you can satisfy quite a few of the requirements that even a fairly 
> demanding Certificate Policy puts on your environment. We've written up a 
> howto guide that shows how an OpenSSL CA could be used as a test CA in the 
> Aerospace "CertiPath" framework - it can't be used in production, because 
> several of the bits of functionality that the CertiPath Certificate Policy 
> requires are only available in 0.9.8 and later, which doesn't have FIPS 
> certification, which is another of the requirements.
>
> You can find the howto (which includes how to set up a Root and Signing CA) 
> at:
>
> http://www.carillon.ca/library/openssl_testca_howto_1.2.pdf
>
> References to the policy are in the appendix of that document.
>
>   
>> 2) Is the file index.txt (and the associated brethren), given question 1
>> above, related to the Signing CA or the Trusted Root CA?
>>     a. Should index.txt contain the serial number and cert of the
>> Trusted Root CA  OR the serial number of the Signing CA?
>>     b. Should the Signing CA (and any other intermediary CA) have its
>> own cert database?
>>
>>     
>
> See the above guide for how to handle this. You probably want a separate 
> index.txt for each CA (or else you'll have them clobbering entries in each 
> other, or have an unclear idea of who issued what).
>
>   
>> 3) Is there a How To, that is considered a definitive resource on the
>> matter, that discusses using OpenSSL to build out a RFC compliant PKI
>> hierarchy for someone who is sleep deprived due to an infant?
>>     a. I have created CAs in the past and gotten plenty of this to work,
>> but now that I have to try to due a true PKI environment, I realize I
>> have more questions than knowledge.
>>     
>
> Well, we're currently using that guide for customers that are working within 
> a 
> very rigid environment, so while I won't claim it is "definitive", it 
> certainly shows how to do it, in a very policy constrained and technically 
> demanding environment. :)
>
> Again, it sounds like you should start with your Certificate Policy, and then 
> build out from there what is required within your community of trust.
>
>   
Afternoon Patrick,

After reading through the document you link to, I will agree that it is
a wealth of knowledge and actually helps me see how OpenSSL can be used
to build out the  PKI environment.  Policy not withstanding...  Also,
I'm not in a government environment so FIPS compliance isn't a concern.

I personally appreciate having the raw openssl calls so that I can build
localized scripts around them.  This is great information and I hold the
highest regards to you and your organization for putting the information
together and making it available to us, the public. 

Also thanks to the OpenSSL developers for producing a great library... I
think they need a few tech writers to vet there documents though because
I haven't be able to find the CA.txt file on the internet anywhere :)

Again, thanks Patrick!

Kind regards,

Carlos

Reply via email to