openssl - Adding an intermediate certificates to a pkcs12 file -


i have certificate has following chain of certification: entrust->my ca->my issuing ca->my jboss certificate. now, if install certificate on jboss instance, page access running on instance appear untrusted issuing ca not recognized browser. know computer has public key entrust signing authority. how can install certificate browser can see entire certificate chain?

i made single .pem file of of certificates thinking work. did not. can explain doing wrong or if possible?

adding intermediate certificates pkcs12 file ...

here's how on web , mail servers.

first, www-example-com.crt web server cert signed startcom. startcom offers free class 1 certificates trusted browsers , mobile devices, use them. certificate in pem format (----- begin cert ----- , ----- end cert -----).

second, open www-example-com.crt , append startcom's class 1 intermediate. intermediate startcom's index of /certs. www-example-com.crt has 2 pem encoded encoded certs in it.

third, perform following create pkcs12/pfx file use in iis.

openssl pkcs12 -export -in www-example-com.crt -inkey www.example.key -out www-example-com.p12 

in case, www-example-com.crt have @ least 3 pem encoded certificates in it:

----- begin cert ----- < jboss certificate > ----- end cert -----  ----- begin cert ----- < issuing ca > ----- end cert -----  ----- begin cert ----- < ca > ----- end cert ----- 

the third cert in chain - my ca - optional. don't need if clients use my ca trust anchor. if you're clients use entrust trust anchor, need include it.

if cat www-example-com.crt , not have multiple certificates, not continue. don't perform openssl pkcs12 until server cert has required intermediate certificates required verify chain.

do not include entrust ca certificate.


i doubt entrust signs ca directly. use intermediate, too. cert chain should like:

----- begin cert ----- < jboss certificate > ----- end cert -----  ----- begin cert ----- < issuing ca > ----- end cert -----  ----- begin cert ----- < ca > ----- end cert -----  ----- begin cert ----- < entrust intermediate > ----- end cert ----- 

entrusts provides ca , intermediate certificates @ entrust root certificates. can't tell 1 need because won't provide url or show chain have. i'm guessing going 1 or more of:

  • entrust l1e chain certificate
  • entrust l1c chain certificate
  • entrust l1e chain certificate (sha2)
  • entrust l1c chain certificate (sha2)

you can test chain openssl's `s_client. time, use entrust's certifcate:

echo -e "get / http/1.0\r\n" | openssl s_client -connect myserver:8443 \                                        -cafile entrust-ca.pem 

you can entrust-ca.pem entrust root certificates. run , tell errors get. or better, post url server can see what's going on.


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -