2014-10-23 2 views
0

Hy ребята,HTTPS для JBoss 5

Я пытаюсь настройки HTTPS для JBOSS 5, в основном это мои шаги:

1) с использованием Keytool я добавил сертификат мне нужно в файле cacerts C: ... \ jre \ lib \ security \ cacerts и назван с псевдонимом 'example'.

2) Я проверил, что сертификат был успешно добавлен, это выдержка из .txt файла, созданного из нового cacerts файла:

.... 
Nome alias: example 
Data di creazione: 22-ott-2014 
Tipo entry: trustedCertEntry 

Proprietario: ST=Italy, L=Padova, [email protected], CN=*.intra.infocamere.it, OU=FTEC, O=InfoCamere S.C.p.A./02313821007, C=IT 
Autorità emittente: CN=InfoCert Certification Authority TEST, OU=Internet Services, O=InfoCert SpA, C=IT 
Numero di serie: 75d1 
Valido da: Thu Sep 12 11:24:21 CEST 2013 a: Sat Jan 11 15:13:30 CET 2014 
Impronte digitali certificato: 
    MD5: 68:C3:BE:D7:DB:2E:B6:08:B6:09:84:8F:7B:EE:26:43 
    SHA1: 36:CB:C3:98:36:CA:13:DF:DE:15:BA:42:9D:65:7D:B2:A5:BC:1C:A0 
    Nome algoritmo firma: SHA1withRSA 
    Versione: 3 
... 

3) Я скопировать файл cacerts в JBOSS каталог D: \ EnterprisePlatform-5.1.2 \ JBoss-ЕАР 5,1 \ JBoss-как \ сервер \ все \ конф \ cacerts

4) I раскомментируйте файл D: \ EnterprisePlatform-5.1.2 \ JBoss-шр-5,1 \ JBoss-а \ сервер \ все \ Deploy \ jbossweb.sar \ server.xml, как в следующем:

<Connector protocol="HTTP/1.1" SSLEnabled="true" 
      port="8443" address="${jboss.bind.address}" 
      scheme="https" secure="true" clientAuth="false" 
      keystoreFile="${jboss.server.home.dir}/conf/cacerts" keyAlias="example" 
      keystorePass="changeit" sslProtocol = "TLS" /> 

5) I начать JBoss и я получаю следующее сообщение об ошибке:

DEPLOYMENTS MISSING DEPENDENCIES: 
    Deployment "jboss.web.deployment:war=/admin-console" is missing the following dependencies: 
    Dependency "jboss.web:service=WebServer" (should be in state "Create", but is actually in state "** NOT FOUND Depends on 'jboss.web:service=WebServer' **") 
    Deployment "jboss.web.deployment:war=/invoker" is missing the following dependencies: 
    Dependency "jboss.web:service=WebServer" (should be in state "Create", but is actually in state "** NOT FOUND Depends on 'jboss.web:service=WebServer' **") 
    Deployment "jboss.web.deployment:war=/jbossws" is missing the following dependencies: 
    Dependency "jboss.web:service=WebServer" (should be in state "Create", but is actually in state "** NOT FOUND Depends on 'jboss.web:service=WebServer' **") 
    Deployment "jboss.web.deployment:war=/jmx-console" is missing the following dependencies: 
    Dependency "jboss.web:service=WebServer" (should be in state "Create", but is actually in state "** NOT FOUND Depends on 'jboss.web:service=WebServer' **") 
    Deployment "jboss.web.deployment:war=/juddi" is missing the following dependencies: 
    Dependency "jboss.web:service=WebServer" (should be in state "Create", but is actually in state "** NOT FOUND Depends on 'jboss.web:service=WebServer' **") 
    Deployment "jboss.web.deployment:war=/web-console" is missing the following dependencies: 
    Dependency "jboss.web:service=WebServer" (should be in state "Create", but is actually in state "** NOT FOUND Depends on 'jboss.web:service=WebServer' **") 

DEPLOYMENTS IN ERROR: 
    Deployment "WebServer" is in error due to the following reason(s): LifecycleException: Protocol handler initialization failed: java.io.IOException: Alias name example does not identify a key entry 
    Deployment "jboss.web:service=WebServer" is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.web:service=WebServer' ** 

Я не понимаю, почему, потому что JBOSS cacerts правильный путь (проверить, что). И внутри этого файла есть также псевдоним, называемый «example».

ответ

0

У вас должен быть закрытый ключ и сертификат в хранилище ключей. По этому вопросу у вас есть только сертифицированный псевдоним example.

С вашего секретного ключа и открытого сертификата, необходимо создать PKCS12 хранилища ключей, а затем преобразовать его в JKS.

Создайте хранилище ключей PKCS12 из личного ключа и открытого сертификата.

openssl pkcs12 -export -name example -in server.crt -inkey server.key \ 
      -out server.p12 

Создание PKCS12 хранилища ключей от закрытого ключа и открытого сертификата, включая сертификат ЦС.

openssl pkcs12 -export -in server.crt -inkey server.key \ 
      -out server.p12 -name example \ 
      -CAfile ca.crt -caname root 

Преобразовать файл PKCS12 в Java хранилище

keytool -importkeystore \ 
    -deststorepass changeit -destkeypass changeit -destkeystore server.jks\ 
    -srckeystore server.p12 -srcstoretype PKCS12 -srcstorepass some-password \ 
    -alias example 

Чтобы проверить содержимое JKS, вы можете использовать эту команду:

keytool -list -v -keystore server.jks 
+0

Спасибо за ваш ответ @ Federico Sierra, поэтому, если я хорошо понимаю, мне нужно сначала создать свое хранилище ключей и добавить в свой собственный сертификат, тогда мне нужно включить в хранилище ключей сертификат CA, это c дый правильный? – Giorgio

+0

@Giorgio да, вы должны создать хранилище ключей с сертификатом и закрытым ключом, если вы добавили CA certifcate, который вы можете сделать. http://docs.jboss.org/jbossweb/3.0.x/ssl-howto.html –

Смежные вопросы