On 5/24/2013 9:47 AM, keshava jm wrote:
Hi,

I have tried to generate self-signed certificates using the openssl.
While generating these certificates the private key is involved during
the certificate signing process by the rootCA.

You are doing it wrong!

1. What is the actual purpose of this private key?

The purpose is that ONLY the client has a copy, while everybody in the world may have a copy of the public key (for instance, there is one in
the certificate).

2. why this private key is installed in the client side?

Because the whole point is that ONLY the client has it, NEVER the CA
(unless the CA is the client).


Waiting for your reply.....


The intended and proper way to do things is:

1. The CA creates its own private key, which is kept in a very secure
  place (like a computer with no network connections, rigged with
  dynamite to self-destruct if tampered with and placed in a deep
  underground bunker surrounded by armed guards instructed to let
  no one (not even each other) inside except for the designated CA
  head signers, who must enter together to watch each other behaving
  properly.
   This is what VeriSign Inc (now part of Symantec) and GlobalSign Inc.
  did years ago, including the live explosives!
   For a private company CA, less extreme measures will do.

2. The CA (as the only "person") uses its private key to create a
  self-signed certificate with the CA:TRUE attribute etc.  This
  certificate will have a very long lifetime (decades usually).

3. The CA publishes, in some very hard to falsify place, like a huge
  stone monument, this certificate, or at least its strong check sum
  (SHA-256 or stronger).  In the real world, a copy is hand carried
  to specific offices at Microsoft, Google and Mozilla who put the
  CA certificate into their next software updates.
   For a private company CA, the CA certificate is just installed on
  all the computers by the head sysadmin, using his boss privileges.

4. Each client creates his own private key, which he tries to keep
  secure as best he can.  Then uses it to sign a "request" (e.g.
  with "openssl req -new") specifying what he wants his certificate
  to say his name etc. is.

5. The client sends this request to the CA front office.  Clerks at
  the CA front office then performs various checks to make sure the
  client really is whom he claims (in the request) to be, and that
  it is really him that requested this.  If all is OK, they hand the
  request over to the CA head signers.
   For a private company CA, the clerks are just the regular IT or
  HR staff, who know all the employees and servers personally.

6. The CA head signers carry a pile of already proven requests they
  got from the clerks into the bunker and use commands such as
  "openssl ca" to create matching certificates signed by the CA's
  private key and listing the name of the CA's own certificate as
  the "issuer", each certificate will also have a unique serial
  number.  While they are there, they also sign a long list of all
  the certificates that have been cancelled until to date (a CRL).

7. The CA clerks send the signed certificates back to the clients.
  They also publish the list of cancelled certificates on their
  web site in a file format called a CRL.

8. The client now uses his certificate with his secret private key
  to sign stuff such as e-mails and checks, each signature includes
  a copy of his certificate.

9. Each person receiving the signed stuff has previously gone to the
  big stone monument and copied the genuine CA certificate into his
  computer.  Once a day or so, they also download the latest list
  of cancelled certificates and checks that it was signed by the CA,
  and is dated today.  When they receive the signed stuff, they
  check that it was signed in a way that matches the public key in
  the certificate, that the certificate itself was signed in a way
  that matches the public key in the CA's certificate and that the
  clients certificate is not on the cancelled list (there are other
  checks too, but the computer does all the work).  If all is well,
  they believe that the stuff really came from the client and that
  the client is who the certificate says he is (because they trust
  the CA clerks to do this right).

10. If the clients private key is ever stolen, the client is required
  (by contract and/or law) to tell the CA clerks, who will add the
  certificate to the list of cancelled certificates so no one will
  believe signatures made by the thief.
   The same is done if the client loses his right to the certificate
  in some other way, e.g. a company employee being fired from the
  job position listed in the certificate, or a server being
  uninstalled.



Enjoy

Jakob
--
Jakob Bohm, CIO, Partner, WiseMo A/S.  http://www.wisemo.com
Transformervej 29, 2730 Herlev, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to