LINUX.ORG.RU

Нужна помощь с настройкой ssl сертификата.

 , ,


0

1

Веб сервер: Glassfish 5 Центр сертификации: startssl.com

1. Генерирую ключ с алиасом kidstore.ml в keystore.jks.

keytool -genkey -alias kidstore.ml -keyalg RSA -keypass changeit -storepass changeit -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks" -keysize 2048
Терминал
andrei@kidstore:~/glassfish5/glassfish/domains/domain1/config$ keytool -genkey -alias kidstore.ml -keyalg RSA -keypass changeit -storepass changeit -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks" -keysize 2048
What is your first and last name?
  [Unknown]:  kidstore.ml
What is the name of your organizational unit?
  [Unknown]:  kidstore.ml
What is the name of your organization?
  [Unknown]:  kidstore.ml
What is the name of your City or Locality?
  [Unknown]:  Kremenchuk
What is the name of your State or Province?
  [Unknown]:  Poltava Region
What is the two-letter country code for this unit?
  [Unknown]:  UA
Is CN=kidstore.ml, OU=kidstore.ml, O=kidstore.ml, L=Kremenchuk, ST=Poltava Region, C=UA correct?
  [no]:  yes

2. Делаю сертификат kidstore.csr из сгенерированого выше ключа.

keytool -certreq -alias kidstore.ml -file "/home/andrei/kidstore.csr" -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks"

Содержимое сертификата (расшифровку можно посмотреть здесь https://www.sslshopper.com/csr-decoder.html или на скрине ниже)

-----BEGIN NEW CERTIFICATE REQUEST-----
MIIC8jCCAdoCAQAwfTELMAkGA1UEBhMCVUExFzAVBgNVBAgTDlBvbHRhdmEgUmVnaW9uMRMwEQYD
VQQHEwpLcmVtZW5jaHVrMRQwEgYDVQQKEwtraWRzdG9yZS5tbDEUMBIGA1UECxMLa2lkc3RvcmUu
bWwxFDASBgNVBAMTC2tpZHN0b3JlLm1sMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
gVIr6ZeyjxDIwuhGKd22syPzGElUwoFAZ2gDGFi+P2fHFAWNXHv2LgZ4+k6URWNUL+XogEWThiUd
iUR17CUs+a/8qwFr2MTL1dku7c3XhDP2ft+FApRipf7xo1Vhd/5pn47y/NNMbqasWUV9hukJKcD3
bWqIUSiTYHHCSZerCA5QWJx2d1ORRfePGHTJEuYp+9PPuZFGTr3aoE+bkg5esTeR1toH+hd3qENM
qBk7GKY08gbrWpNVfkdGk06iewIbg+/WhrUDXr5y31XD8gZXo9QIcJ8plDtWrEKlMPGlx82NSnGE
MbdJSX/ygFZfHXAONYJ4fAfREg9MVtEh3tCtoQIDAQABoDAwLgYJKoZIhvcNAQkOMSEwHzAdBgNV
HQ4EFgQUrKj0ADf9rLG4VPEYi0OM/X6B9TgwDQYJKoZIhvcNAQELBQADggEBACs8I/hiZ4O7DNDx
WZOMOJPt54s1Ojr2/O9z2UT7H96ETuEbu2gueCUB5RRVmlMMn3aaFvwzA3iLT/9eZMfiir+JYz5z
mYwjz9M291ET72SiwwyfWHZJcd8KHCZMeeAK6OQdcXvU4KW3YYK/1pXDeuWxaLXe2HD8Ea4Mu7/i
la0JKOIc6aHzmx1kgTvmb+gFy2r0OBFV7nocI07DDPlLCcFlZzIKto1ojIOq+b/lh02W13bpAAUS
bK0UttQnaH1ur9it9bQaQfYoNZtFnzSTvkZdlcY2aLjdwLzRxNExo8aIRoGATx/jn7g33WDO9gVN
gTOsFK0Y2JEacXlZh/XVusY=
-----END NEW CERTIFICATE REQUEST-----
http://rghost.net/8ljJyFSmV.view

3. В центре сертификации вставляю этот сертификат. http://rghost.net/85JJZkBR2.view

4. Присылают архив с тремя файлами: - root.crt - 1_Intermediate.crt - 2_kidstore.ml.crt http://rghost.net/6rGPnnTGw.view

5. Добавляю первые два в cacerts.jks, третий в keystore.jks

keytool -import -alias root -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/cacerts.jks" -trustcacerts -file "/home/andrei/startssl/root.crt"
keytool -import -alias intermediate -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/cacerts.jks" -trustcacerts -file "/home/andrei/startssl/1_Intermediate.crt"

keytool -import -alias kidstore.ml -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks" -trustcacerts -file "/home/andrei/startssl/2_kidstore.ml.crt"
первые две вставки проходят успешно, на третей вставке получаю ошибку
keytool error: java.lang.Exception: Failed to establish chain from reply

Нашел такую тему http://stackoverflow.com/questions/22203627/glassfish-3-and-import-signed-ssl... с той же ошибкой

добавляю в keystore.jks root.crt

keytool -import -v -trustcacerts -alias root -file "/home/andrei/startssl/root.crt" -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks"

повторно добавляю 2_kidstore.ml.crt в keystore.jks

keytool -import -alias kidstore.ml -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks" -trustcacerts -file "/home/andrei/startssl/2_kidstore.ml.crt"
та же ошибка
keytool error: java.lang.Exception: Failed to establish chain from reply

методом тыка понимаю что проблема в дубликации алиаса kidstore.ml в keystore.jks. Во всех мануалах пишут о необходимости соответствия алиаса с именем файла.

Меняю этот keystore.ml на нульцевый. В чистый keystore.jks добавляю

keytool -import -alias kidstore.ml -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks" -trustcacerts -file "/home/andrei/startssl/2_kidstore.ml.crt"
keytool -import -v -trustcacerts -alias root -file "/home/andrei/startssl/root.crt" -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks"

Далее открываю domain.xml и во всем файле меняю имя стандартного сертификата s1as на kidstore.ml, включаю Glassfish, сайт не открывается, mozilla пишет Secure Connection Failed, chrome пишет ERR_CONNECTION_CLOSED. В логах Glassfish-а пусто.

Снова удаляю keystore.jks. Добавляю самоподписной сертификат

keytool -genkey -alias kidstore.ml -keyalg RSA -keypass changeit -storepass changeit -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks" -keysize 2048
Терминал
andrei@kidstore:~$ keytool -genkey -alias kidstore.ml -keyalg RSA -keypass changeit -storepass changeit -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks" -keysize 2048
What is your first and last name?
  [Unknown]:  kidstore.ml
What is the name of your organizational unit?
  [Unknown]:  kidstore.ml
What is the name of your organization?
  [Unknown]:  kidstore.ml
What is the name of your City or Locality?
  [Unknown]:  Kremenchuk
What is the name of your State or Province?
  [Unknown]:  Poltava Region
What is the two-letter country code for this unit?
  [Unknown]:  UA
Is CN=kidstore.ml, OU=kidstore.ml, O=kidstore.ml, L=Kremenchuk, ST=Poltava Region, C=UA correct?
  [no]:  yes

На самоподписном, по сути, таком же сертификате работает.

Добавление к самоподписному в keystore.jks

keytool -import -alias root -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks" -trustcacerts -file "/home/andrei/startssl/root.crt"
keytool -import -alias intermediate -keystore "/home/andrei/glassfish5/glassfish/domains/domain1/config/keystore.jks" -trustcacerts -file "/home/andrei/startssl/1_Intermediate.crt"
проблемы сертифицированности не решает.

При добавлении в keystore.jks и cacerts.jks всех трех сертификатов, сайт не отображается. Перед созданием темы искал ответ в гугле, вот статьи, но они или устаревшие или по-сути описывают выше проделаное, возможно они помогут.

http://www.axian.ru/blogs/weirdscience/how-to-add-an-existing-ssl-certificate...

https://askubuntu.com/questions/587683/glassfish-ssl-console-handshake-except...

http://stackoverflow.com/questions/12860289/import-ssl-certificate-in-glassfish

http://virtualmarc.info/glassfish-startssl-zertifikate/

http://chaosben.blogspot.com/2012/11/glassfish-3-ssl-mit-kostenlosem.html

Что делать?

Я сертификат от startssl недавно делал, простым объдинением трех .crt. Работает на nginx

gobot ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.