> 於 2011/9/30 20:01, Paul Tiemann 提到:
>> Hi Nohk,
>>
>> I have good news -- it's a real certificate. It is a cross-signed certificate, used as an intermediate certificate for very old legacy devices that don't have our "DigiCert High Assurance EV Root CA". Modern browsers that already have our roots embedded will just ignore this certificate during SSL handshakes, but legacy browsers will use it as a "bridge" leading to the "GTE CyberTrust Global Root"
>
> Hi Paul,
>
> Good news. It looks a regular workaround.
> I have a silly question about the "bridge". How can a certificate simultaneously be signed by two CAs (the embedded and the bridged) when browser begin to verify the certificate of a site ? Or could you give me some material to study ?
>
> Thank you very much ! :)
Hi Nohk,
That's a good question. Here's a little flow chart I made last year for an internal training. In the SSL handshake, the server sends its own certificate to the client, and the server also sends any intermediate CA certificates that connect the server's certificate (also known as the end-entity cert) to a root CA.
You can test various web servers to see what SSL chain they send to clients by using our help tool:
For example, if you check www.digicert.com in the help tool, you see this chain:
1)
certificate: www.digicert.com
issued by: DigiCert High Assurance EV CA-1
and
2)
certificate: DigiCert High Assurance EV CA-1
issued by: DigiCert High Assurance EV Root CA
and
3)
certificate: DigiCert High Assurance EV Root CA
issued by: Entrust.net Secure Server Certification Authority
If you pretend to be an up-to-date browser--with the "DigiCert High Assurance EV Root CA" embedded in your trust anchor list--then you will see that chain of certificates and step from (1) www.digicert.com to (2) DigiCert High Assurance EV CA-1 to (anchor) DigiCert High Assurance EV Root CA without using the last certificate in that chain, because when you see that (2) was issued by a root you already have in your trust anchors, you will be able to stop there.
If you pretend to be a very old browser--without "DigiCert High Assurance EV Root CA" embeded--then when you see (2) DigiCert High Assurance EV CA-1 you won't be able to stop there because you don't have that root. So you would step to the (3) cross-signed certificate and then see that it is issued by one of your trusted roots and then you could stop there.
One technical point that might help: a cross-signed cert has to have the same public key as the root certificate it is helping. This is so the browsers can verify the signatures on the (2) intermediate certificates with the public key of the (3) cross-signed certificate.
If you have any other questions, I'd be glad to help.
Paul