I mean does it possible to verify the certificate successfully if chain only 
including sub ca and certificate singed by sub ca. geiven we trust the sub ca 
even if it wasn't a self sign root ca.  


Br

Ben

-----Original Message-----
From: owner-openssl-us...@openssl.org [mailto:owner-openssl-us...@openssl.org] 
On Behalf Of ext Serge Fonville
Sent: Wednesday, September 02, 2009 1:30 PM
To: openssl-users@openssl.org
Subject: Re: Verify certificate using subordinate ca

If you are using client certificates, use a CRL at the server side.
that way you can assure that only those that you want can connect to
the server

Regarding the certificates.
* Distribute the CA certificates (a simple script suffices)
* Store the certificates and keys on a safe medium you can put in a vault
* Store only the CA certificates (not the keys) and the server
certificate and key on your server.
Obviously all keys are encrypted using a strong password...

Regards,

Serge Fonville


To answer your original question, you can not verify a chain without
all chain members to verify against root --> sub --> client/server
cert

On Wed, Sep 2, 2009 at 12:02 PM, Yin, Ben 1. (NSN - CN/Cheng
Du)<ben.1....@nsn.com> wrote:
> Yes. It use openssl lib.
>
> My client & server looks like follow to set up sub ca and certificate, the 
> CERTFILE only include the certificate signed by sub ca. Thanks.
>
> ...
>    if (SSL_CTX_load_verify_locations(ctx, CAFILE, CADIR) != 1)
>        int_error("Error loading CA file and/or directory");
>    if (SSL_CTX_set_default_verify_paths(ctx) != 1)
>        int_error("Error loading default CA file and/or directory");
>    if (SSL_CTX_use_certificate_chain_file(ctx, CERTFILE) != 1)
>        int_error("Error loading certificate from file");
>    if (SSL_CTX_use_PrivateKey_file(ctx, KEYFILE, SSL_FILETYPE_PEM) != 1)
>        int_error("Error loading private key from file");
> ....
>
>
> Br
>
> Ben
>
> -----Original Message-----
> From: owner-openssl-us...@openssl.org 
> [mailto:owner-openssl-us...@openssl.org] On Behalf Of ext Serge Fonville
> Sent: Wednesday, September 02, 2009 12:52 PM
> To: openssl-users@openssl.org
> Subject: Re: Verify certificate using subordinate ca
>
> Wat exactly are the applications you use, are they compiled against
> openssl libraries?
>
> On Wed, Sep 2, 2009 at 11:49 AM, Yin, Ben 1. (NSN - CN/Cheng
> Du)<ben.1....@nsn.com> wrote:
>> Yes. When server send certificate signed by sub ca to client. How client can 
>> verify it only use sub ca. would you please show me the client side code? 
>> :-)  Thanks.
>>
>>
>> Br
>>
>> Ben
>>
>> -----Original Message-----
>> From: owner-openssl-us...@openssl.org 
>> [mailto:owner-openssl-us...@openssl.org] On Behalf Of ext Serge Fonville
>> Sent: Wednesday, September 02, 2009 12:43 PM
>> To: openssl-users@openssl.org
>> Subject: Re: Verify certificate using subordinate ca
>>
>> Everytime an application connects to an ssl-enabled server the
>> certificate chain is verified.
>>
>> On Wed, Sep 2, 2009 at 11:37 AM, Yin, Ben 1. (NSN - CN/Cheng
>> Du)<ben.1....@nsn.com> wrote:
>>> Hi,
>>>
>>> What's you mean "If your client application supports that", do you mean I 
>>> do the verify by client itself, don't use openssl default verify 
>>> functionality?
>>>
>>>
>>> Br
>>>
>>> Ben
>>>
>>> -----Original Message-----
>>> From: owner-openssl-us...@openssl.org 
>>> [mailto:owner-openssl-us...@openssl.org] On Behalf Of ext Serge Fonville
>>> Sent: Wednesday, September 02, 2009 11:59 AM
>>> To: openssl-users@openssl.org
>>> Subject: Re: Verify certificate using subordinate ca
>>>
>>> If your client application supports that, it could be done. but no
>>> standard compliant application allows that to my knowledge.
>>>
>>> On Wed, Sep 2, 2009 at 10:35 AM, Yin, Ben 1. (NSN - CN/Cheng
>>> Du)<ben.1....@nsn.com> wrote:
>>>> Hi Serge,
>>>>
>>>> Maybe we can put the root ca into the verification chain if I can prove 
>>>> the verfiy certificate using only sub ca is impossible. But before that, 
>>>> do you know if it's possible to verfiy certificate without root ca? Thanks.
>>>>
>>>>
>>>> Br
>>>>
>>>> Ben
>>>>
>>>> -----Original Message-----
>>>> From: owner-openssl-us...@openssl.org 
>>>> [mailto:owner-openssl-us...@openssl.org] On Behalf Of ext Serge Fonville
>>>> Sent: Wednesday, September 02, 2009 11:28 AM
>>>> To: openssl-users@openssl.org
>>>> Subject: Re: Verify certificate using subordinate ca
>>>>
>>>> How do you think compromising a CA would occur, because a CA could
>>>> only becom compromised when someone leaks the key for that specific CA
>>>> And if it happens once, it will likely happen twice. And I hope in
>>>> your best interest, you are not distributing keys to terminals.
>>>>
>>>> Also, if you need to copy a file to 1000^2 terminals, use a script.
>>>> I assume you have a list of all these terminals (otherwise you have a
>>>> serious problem)
>>>>
>>>> I assume you are using server certificates and client certificates.
>>>> with these there corresponds a CRL, this crl can be automatically used
>>>> by any clientapplication that uses a certificate issued by any CA
>>>>
>>>> Bacically, are you distributing keys to terminals?
>>>>
>>>> Regards,
>>>>
>>>> Serge Fonville
>>>>
>>>> On Wed, Sep 2, 2009 at 8:21 AM, Yin, Ben 1. (NSN - CN/Cheng
>>>> Du)<ben.1....@nsn.com> wrote:
>>>>> OK, regarding the CA deploy, such as, we have a one root ca and 1000 sub 
>>>>> ca signed by root ca. and each sub ca used as ca by 1000 terminals.so the 
>>>>> total network size is 1000*1000. All our ca, including root ca and sub 
>>>>> ca, was stored offline. I need copy sub ca to terminal it was used. So if 
>>>>> one of sub ca was compromised, what I need to do is sign a new sub ca 
>>>>> using root ca and copy it to 1000 terminal where sub ca has been 
>>>>> compromised. And if root ca was compromised, I need to re-deploy CA on 
>>>>> 1000*1000 terminal mannuly. That is why I want to keep root ca out of the 
>>>>> chain. And only using sub ca and certificate to do the verification.  
>>>>> Dose it possible? It seems that openssl always try to find the issuer of 
>>>>> sub ca during tht chain verification because it wasn't self signed root 
>>>>> ca.
>>>>>
>>>>>
>>>>> Br
>>>>>
>>>>> Ben
>>>>>
>>>>> -----Original Message-----
>>>>> From: owner-openssl-us...@openssl.org 
>>>>> [mailto:owner-openssl-us...@openssl.org] On Behalf Of ext Serge Fonville
>>>>> Sent: Tuesday, September 01, 2009 5:14 PM
>>>>> To: openssl-users@openssl.org
>>>>> Subject: Re: Verify certificate using subordinate ca
>>>>>
>>>>> I don't see your problem honestly. Figuring out a private key is close
>>>>> to impossible.
>>>>> And stealing it, well, that is more related to security itself than to
>>>>> the actual key being secure or not.
>>>>>
>>>>> >From what I understand, a chain works somewhat like this
>>>>>
>>>>> you
>>>>> --peter
>>>>> ----john
>>>>> ------carl
>>>>>
>>>>> You talk to peter, peter is trusted by john, john is trusted by carl,
>>>>> you trust carl
>>>>> Say if you were to obsolete carl in this chain (by trusting john) john
>>>>> would then become the root
>>>>> If this is the case, why would you want to have carl at all?
>>>>>
>>>>> Thawte, verisign etc work the same way
>>>>>
>>>>> Also, why is distributing a CA cert so difficult?
>>>>> What is your environment?
>>>>> What applications are using the certs?
>>>>> And how do they verify the chain?
>>>>>
>>>>> Again, without the key for each CA it can't be compromised
>>>>> Has this actually happened or is this someone eing paranoid?
>>>>>
>>>>> Who has created the chain?
>>>>>
>>>>> I'm still not clear of the purpose of the root ca if it should not
>>>>> need to be trusted
>>>>>
>>>>> Regards,
>>>>>
>>>>> Serge Fonville
>>>>>
>>>>> On Tue, Sep 1, 2009 at 3:52 PM, Yin, Ben 1. (NSN - CN/Cheng
>>>>> Du)<ben.1....@nsn.com> wrote:
>>>>>> No. In our enviroment. The root CA private key is isolated and absolutly 
>>>>>> safe. Regarding the compromised, I means CA can't be trusted any more, 
>>>>>> Such as the private key was stolen some how or someone find a way to 
>>>>>> figure out private key for one CA. it easy to set up new sub ca in one 
>>>>>> domain if those compromise happened on sub ca. but if it happened on 
>>>>>> root ca, it's quite hard to fix the our whole network. Thanks.
>>>>>>
>>>>>>
>>>>>> Br
>>>>>>
>>>>>> Ben
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: owner-openssl-us...@openssl.org 
>>>>>> [mailto:owner-openssl-us...@openssl.org] On Behalf Of ext Serge Fonville
>>>>>> Sent: Tuesday, September 01, 2009 4:31 PM
>>>>>> To: openssl-users@openssl.org
>>>>>> Subject: Re: Verify certificate using subordinate ca
>>>>>>
>>>>>> Based on what you state.
>>>>>> There is no purpose for the root CA.
>>>>>>
>>>>>> What do you mean by compromised.
>>>>>> If you publish a CA certificate to clients, it does not include the
>>>>>> key. (normally)
>>>>>> So the only thing a client can do is use it in the session at best.
>>>>>> There is NO way a client can use a CA certificate to sign anything
>>>>>> without the corresponding key.
>>>>>>
>>>>>> I have a chain on my website, and noone (except me, because I can
>>>>>> access the server) is able to sign anything. Since the CAs are only
>>>>>> used for signing and verifying and not for encrypting, if the CA keys
>>>>>> are stored safely, there is no 'compromise'
>>>>>>
>>>>>> Are you distributing the keys as well?
>>>>>>
>>>>>> HTH
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> Serge Fonville
>>>>>>
>>>>>>
>>>>>> On Tue, Sep 1, 2009 at 2:13 PM, Yin, Ben 1. (NSN - CN/Cheng
>>>>>> Du)<ben.1....@nsn.com> wrote:
>>>>>>> I only want to verfiy the signature (I mean the procedure when sub ca
>>>>>>> sign the certiticate). So I guess sub ca and certification should has
>>>>>>> enough info to do it because we needn't root ca when we use sub ca to
>>>>>>> sign the certificate.  Is there a way for this requirement? Thanks.
>>>>>>>
>>>>>>>
>>>>>>> Br
>>>>>>>
>>>>>>> Ben
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: owner-openssl-us...@openssl.org
>>>>>>> [mailto:owner-openssl-us...@openssl.org] On Behalf Of ext Yin, Ben 1.
>>>>>>> (NSN - CN/Cheng Du)
>>>>>>> Sent: Tuesday, September 01, 2009 3:06 PM
>>>>>>> To: openssl-users@openssl.org
>>>>>>> Subject: RE: Verify certificate using subordinate ca
>>>>>>>
>>>>>>> Hi Serge,
>>>>>>>
>>>>>>> My intention is to keep my root ca out of compromise. We want to use sub
>>>>>>> ca to splite the domain in the our whole network. Then, we can easy to
>>>>>>> re-sign a new sub ca and publish it if we find one domain sub ca was
>>>>>>> compromised. And if we expose the the root ca to public ,it hard to
>>>>>>> maintain if root ca was cracked.
>>>>>>>
>>>>>>> And as you said, "create a new chain and let sub ca as root", I don't
>>>>>>> know how to do it. In my testing, I set verify depth to 1. I guess it
>>>>>>> will make chain only include certificate and sub ca. the testing show
>>>>>>> that the openssl still try to find the issuer of sub ca, and so the
>>>>>>> verification was failed.
>>>>>>>
>>>>>>> Here is the output:
>>>>>>>
>>>>>>>  -with certificate at depth: 1
>>>>>>>  issuer = /C=fi/O=WCDMA/CN=NSN Tre WCDMA Root CA
>>>>>>>  subject = /C=fi/O=WCDMA/CN=NSN Tre WCDMA Sub1 CA
>>>>>>>  err 20:unable to get local issuer certificate
>>>>>>> -with certificate at depth: 1
>>>>>>>  issuer = /C=fi/O=WCDMA/CN=NSN Tre WCDMA Root CA
>>>>>>>  subject = /C=fi/O=WCDMA/CN=NSN Tre WCDMA Sub1 CA
>>>>>>>  err 27:certificate not trusted
>>>>>>> -with certificate at depth: 0
>>>>>>>  issuer = /C=fi/O=WCDMA/CN=NSN Tre WCDMA Sub1 CA
>>>>>>>  subject = /C=FI/ST=Tampere/L=Tampere/O=NSN/CN=lab.
>>>>>>>  err 27:certificate not trusted
>>>>>>>
>>>>>>> And FYI. Here is the complete chain verfication output.
>>>>>>>
>>>>>>> -with certificate at depth: 2
>>>>>>>  issuer = /C=fi/O=WCDMA/CN=NSN Tre WCDMA Root CA
>>>>>>>  subject = /C=fi/O=WCDMA/CN=NSN Tre WCDMA Root CA
>>>>>>>  err 0:ok
>>>>>>> -with certificate at depth: 1
>>>>>>>  issuer = /C=fi/O=WCDMA/CN=NSN Tre WCDMA Root CA
>>>>>>>  subject = /C=fi/O=WCDMA/CN=NSN Tre WCDMA Sub1 CA
>>>>>>>  err 0:ok
>>>>>>> -with certificate at depth: 0
>>>>>>>  issuer = /C=fi/O=WCDMA/CN=NSN Tre WCDMA Sub1 CA
>>>>>>>  subject = /C=FI/ST=Tampere/L=Tampere/O=NSN/CN=lab.
>>>>>>>  err 0:ok
>>>>>>>
>>>>>>> Thanks.
>>>>>>>
>>>>>>> Br
>>>>>>>
>>>>>>> Ben
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: owner-openssl-us...@openssl.org
>>>>>>> [mailto:owner-openssl-us...@openssl.org] On Behalf Of ext Serge Fonville
>>>>>>> Sent: Tuesday, September 01, 2009 2:14 PM
>>>>>>> To: openssl-users@openssl.org
>>>>>>> Subject: Re: Verify certificate using subordinate ca
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> Hmm...
>>>>>>>
>>>>>>> I've had the same issue.
>>>>>>> Basically it came down to "how do you know if the sub is reliable if
>>>>>>> you do not know whether to trust the root?"
>>>>>>> If you do not wish to have the root as part of the chain, create a new
>>>>>>> chain where the sub is the root
>>>>>>> What is the reason you do not want to use the root in the chain check,
>>>>>>> but it should be part of the chain?
>>>>>>>
>>>>>>> HTH
>>>>>>>
>>>>>>> Regards,
>>>>>>>
>>>>>>> Serge Fonville
>>>>>>>
>>>>>>> On Tue, Sep 1, 2009 at 1:04 PM, Yin, Ben 1. (NSN - CN/Cheng
>>>>>>> Du)<ben.1....@nsn.com> wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> It there a way to verify certificate with out root ca? I have 4
>>>>>>> certificate:
>>>>>>>> rootca.pem is the root ca (self signed). subca.pem was signed by
>>>>>>> rootca.pem.
>>>>>>>> cert1.pem & cert2.pem was signed by subca.pem. I was supposed to
>>>>>>> configure
>>>>>>>> the client and server using subca.pem as ca, and cert1.pem & cert2.pem
>>>>>>> as
>>>>>>>> certificate. It seem that openssl still try to find rootca.pem to
>>>>>>> verfiy
>>>>>>>> subca.pem when handshake. But I don't what root.pem can bo accessed
>>>>>>> for
>>>>>>>> keeping it safe. So It there a way to verify certificate with out root
>>>>>>> ca,
>>>>>>>> only using sub ca and certificate signed by sub ca? Thanks.
>>>>>>>>
>>>>>>>> Br
>>>>>>>>
>>>>>>>> Ben
>>>>>>> ______________________________________________________________________
>>>>>>> OpenSSL Project                                 http://www.openssl.org
>>>>>>> User Support Mailing List                    openssl-us...@openssl.org
>>>>>>> Automated List Manager                           majord...@openssl.org
>>>>>>> ______________________________________________________________________
>>>>>>> OpenSSL Project                                 http://www.openssl.org
>>>>>>> User Support Mailing List                    openssl-us...@openssl.org
>>>>>>> Automated List Manager                           majord...@openssl.org
>>>>>>> ______________________________________________________________________
>>>>>>> OpenSSL Project                                 http://www.openssl.org
>>>>>>> User Support Mailing List                    openssl-us...@openssl.org
>>>>>>> Automated List Manager                           majord...@openssl.org
>>>>>>>
>>>>>> ______________________________________________________________________
>>>>>> OpenSSL Project                                 http://www.openssl.org
>>>>>> User Support Mailing List                    openssl-us...@openssl.org
>>>>>> Automated List Manager                           majord...@openssl.org
>>>>>> ______________________________________________________________________
>>>>>> OpenSSL Project                                 http://www.openssl.org
>>>>>> User Support Mailing List                    openssl-us...@openssl.org
>>>>>> Automated List Manager                           majord...@openssl.org
>>>>>>
>>>>> ______________________________________________________________________
>>>>> OpenSSL Project                                 http://www.openssl.org
>>>>> User Support Mailing List                    openssl-us...@openssl.org
>>>>> Automated List Manager                           majord...@openssl.org
>>>>> ______________________________________________________________________
>>>>> OpenSSL Project                                 http://www.openssl.org
>>>>> User Support Mailing List                    openssl-us...@openssl.org
>>>>> Automated List Manager                           majord...@openssl.org
>>>>>
>>>> ______________________________________________________________________
>>>> OpenSSL Project                                 http://www.openssl.org
>>>> User Support Mailing List                    openssl-us...@openssl.org
>>>> Automated List Manager                           majord...@openssl.org
>>>> ______________________________________________________________________
>>>> OpenSSL Project                                 http://www.openssl.org
>>>> User Support Mailing List                    openssl-us...@openssl.org
>>>> Automated List Manager                           majord...@openssl.org
>>>>
>>> ______________________________________________________________________
>>> OpenSSL Project                                 http://www.openssl.org
>>> User Support Mailing List                    openssl-us...@openssl.org
>>> Automated List Manager                           majord...@openssl.org
>>> ______________________________________________________________________
>>> OpenSSL Project                                 http://www.openssl.org
>>> User Support Mailing List                    openssl-us...@openssl.org
>>> Automated List Manager                           majord...@openssl.org
>>>
>> ______________________________________________________________________
>> OpenSSL Project                                 http://www.openssl.org
>> User Support Mailing List                    openssl-us...@openssl.org
>> Automated List Manager                           majord...@openssl.org
>> ______________________________________________________________________
>> OpenSSL Project                                 http://www.openssl.org
>> User Support Mailing List                    openssl-us...@openssl.org
>> Automated List Manager                           majord...@openssl.org
>>
> ______________________________________________________________________
> OpenSSL Project                                 http://www.openssl.org
> User Support Mailing List                    openssl-us...@openssl.org
> Automated List Manager                           majord...@openssl.org
> ______________________________________________________________________
> OpenSSL Project                                 http://www.openssl.org
> User Support Mailing List                    openssl-us...@openssl.org
> Automated List Manager                           majord...@openssl.org
>
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to