Thanks Dave for rectifying my reply.

Indeed, I was not precise in my reply.

On Thu, Jul 26, 2012 at 12:06 AM, Dave Thompson <dthomp...@prinpay.com>wrote:

> >From: owner-openssl-us...@openssl.org On Behalf Of Sukalp Bhople
> >Sent: Wednesday, 25 July, 2012 08:45
>
> >You will always have to create a certificate request using your private
> key.
>
> True if you're using an external CA, but not if you're doing it yourself.
> openssl commandline supports both options: you can create a req and use it
> to issue a cert, or you can issue a self-signed cert directly. AFAICS there
> isn't currently a utility that can directly issue non-self-signed, but
> a program using openssl library, which is what the OP asked, can do that.
>
> >This certificate request is used to sign and create respective
> certificate.
>
> Not true. Assuming there is a request, the CA uses data from it to create
> the certificate (body), but the CA signs the certificate with the CA key,
> not with the key in the request. (The key in the request, or more exactly
> the privatekey matching the publickey in the request, is used to sign
> the *request* as proof of possession, at least in PKCS#10.)
>
>
> >On Wed, Jul 25, 2012 at 2:14 PM, Saurabh Pandya
> <er.saurabhpan...@gmail.com> wrote:
> >       --> I have created my self signed CA (cert.pem) ...
> >       --> I want to use this CA and private key to sign other (server)
> >       certificates programmatically.
>
> >     (IS there any compulsion or advisory, that One SHOULD/MUST make
> >       certificate request before making certificate)
>
> There is no requirement in the OpenSSL library; you can just build an X509
> body (certInfo) however you choose and then sign it. But you should be sure
> the key you are certifying is correct; there are two basic ways:
>
> 1. Have the entity (server) generate its keypair, give you the publickey,
> and tell you its identity for you to put in the certificate. Optionally
> they might tell you other things they want in the cert, like KeyUsage.
> This needs to be done securely, so that Mallory can't substitute his
> key in Alice's request and thereby be enabled to impersonate Alice.
> You could design your own scheme to do these things, but PKCS#10 already
> does them well and is widely implemented and supported.
>
> 2. You generate the server keypair and a certificate for it, and give
> both the privatekey and the cert to the server to use. There are several
> ways to do this; PKCS#12 is the most common and is supported by OpenSSL.
> If you own both the CA and the server(s), this works fine.
> If the server(s) belong to someone else, that person or organization now
> depends for their security on *you* securing the key(s) you issued them.
> If the server(s) will be processing data that is encrypted because it has
> value to somebody, be sure you are ready for this responsibility.
>
>
> ______________________________________________________________________
> OpenSSL Project                                 http://www.openssl.org
> User Support Mailing List                    openssl-users@openssl.org
> Automated List Manager                           majord...@openssl.org
>



-- 
Regards,
*Sukalp Bhople.*

Reply via email to