When you are creating a CA and issuing certificate you are building a PKI
(Public Key Infrastructure).   In operating a PKI, you might want to
consider crafting a certification policy, specifying the process for
managing the lifecycle of your certificates, securing the CA's private key,
securing the server private key, etc.  You can create a policy that meets
your current security objectives.  Your policy would be a living document
to accommodate your evolving security objectives.

Also, the more certificate management features are needed, you might want to
look into a PKI tool.  Certificate management tools worth to look at are
OpenCA (http://www.openca.org/projects/openca/downloads.shtml),  Dogtag
Certificate System (
http://fedoraproject.org/wiki/Features/DogtagCertificateSystem), EJBCA (
http://ejbca.sourceforge.net/).

Erwin


On Thu, Aug 4, 2011 at 4:27 AM, Tomas Macek <ma...@fortech.cz> wrote:

>
>
> On Thu, 4 Aug 2011, Bernhard Fröhlich wrote:
>
>  Am 04.08.2011 08:23, schrieb Tomas Macek:
>>
>>> We have some web servers and I want to create self signed certificates
>>> for them.
>>>
>>> What do I want:
>>> - I want to create my own certification authority keys and certificate,
>>> that will be imported to all web browsers of our employees
>>> - I want to create certificates, that will be signed by my own
>>> certification authority (previous step) and include them to the apache/httpd
>>> configuration. I don't want our employees to be warned that the certificate
>>> is not trusted (I cannot buy a REAL trusted certificate)
>>>
>>> Reading FAQ here 
>>> http://www.modssl.org/docs/2.**8/ssl_faq.html#ToC29<http://www.modssl.org/docs/2.8/ssl_faq.html#ToC29>,
>>> reading CA.pl from openssl-perl and discussions on inet for 2 days gave me
>>> these steps, that I already performed:
>>>
>>> 1) creating my own CA:
>>> openssl genrsa -des3 -out ca.key 1024
>>> openssl rsa -in ca.key -out ca.key.unsecure
>>> mv ca.key.unsecure ca.key
>>> openssl req -new -x509 -days 365 -key ca.key -out ca.crt
>>>
>>> 2) creating my own server key and certification request:
>>> openssl genrsa -des3 -out server.key 1024
>>> openssl rsa -in server.key -out server.key.unsecure
>>> mv server.key.unsecure server.key
>>> openssl req -new -key server.key -out server.csr
>>>
>>> 3) signing the request by my own CA (see step 1):
>>> openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAserial
>>> ca.srl
>>>
>>>> server.crt
>>>>
>>>
>>> 4) I have imported the ca.crt into the web browser
>>>
>>> 5) the server.key and server.crt were included to the apache/httpd
>>> configuration
>>>
>>> After these steps the web page looks secured and no warning appears when
>>> I enter the page.
>>>
>>> Question:
>>> ---------------
>>> Do you see any bad thing about these steps or can you please recommend me
>>> any further step in order to make things properly?
>>>
>>
>> The process looks good to me, though I'm not totally sure about step #3. I
>> use the "openssl ca ..." command to sign my certificates, it needs a config
>> file but also keeps an index file and archive structure of issued
>> certificates which is (IMHO) worth the work.
>>
>
> I have seen some users on inet using this, but configuration of openssl.cnf
> is absolutely confusing for me, there are too many options and these steps
> seemed to me simpler, so I have tried these steps and hoped they will be OK.
>
>
>  But, are you sure that you want to keep your CA key unprotected? I'd
>> advise strongly against this. Issuing server certificates should be seldom
>> enough to do it manually by entering a password...
>>
>> One hint: You probably won't be happy with a CA certificate expiring in
>> one year, since all your created certificates will be considered invalid
>> once the CA certificates becomes invalid.
>> So I'm quite sure you'll want to use at least 5 years as the expiry time
>> for your CA, or even more if distributing the CA certificate is some work.
>>
>
> Thank you Ted, sure, I will prolong the 1 year to something more... 20
> years for example :-)
>
> Tomas

Reply via email to