Соединитель Tomcat8.5 SSL с сертификатом goDaddy - PullRequest
0 голосов
/ 02 мая 2018

Я выполнил инструкцию по созданию ключа и сертификата. Мне удалось успешно импортировать сертификат. Я не могу правильно получить разъем.

Вот шаги и сообщения.

  1. Генерация ключа

    keytool -genkey -alias server -keyalg RSA -keysize 2048 -keystore myKey.jks -dname "CN=dnsName.com
    
  2. Создание запроса на подпись сертификата.

    keytool -certreq -alias server -file myCSR.csr -keystore myKey.jks 
    
  3. Загрузить сертификат из CA: скопируйте содержимое myCSR, перейдите в goDaddy и загрузите 3 файла: serialNumber-root.crt, bundle-intermediate.crt, *.pem

  4. Установка SSL-сертификата веб-сервера Tomcat:

    keytool -import -alias root -keystore myKey.jks -trustcacerts -file serialNumber-root.crt
    keytool -import -alias intermed -keystore myKey.jks -trustcacerts -file bundle-intermediate.crt
    keytool -import -alias tomcat -keystore myKey.jks -trustcacerts -file serialNumber-root.crt
    

На данный момент все успешно.

  1. Изменить tomcat/conf/server.xml

а. дает мне java.lang.Exception: Unable to load certificate key E:\tomcat\certificate\myKey.jks (error:0906D06C:PEM routines:PEM_read_bio:no start line)

<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
           maxThreads="150" SSLEnabled="true" >
    <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
    <SSLHostConfig>
        <Certificate certificateKeyFile="E:\tomcat\certificate\myKey.jks"
                     certificateFile="E:\tomcat\certificate\serialNumber-root.crt"
                     certificateChainFile="E:\tomcat\certificate\serialNumber-root.crt"
                     type="RSA" />
    </SSLHostConfig>
</Connector>

OR

<Connector port="8443" scheme="https" secure="true" SSLEnabled="true" 
    SSLCertificateFile="E:\tomcat\certificate\serialNumber-root.crt" 
    SSLCertificateKeyFile="myKey.jks" 
    SSLPassword="password" 
    SSLCertificateChainFile="E:\tomcat\certificate\serialNumber-root.crt" 
    keyAlias="server" SSLProtocol="TLSv1"/>

б. дает мне java.lang.IllegalArgumentException: java.io.IOException: Alias name [server] does not identify a key entry

<Connector 
       port="8443" maxThreads="200"
       scheme="https" secure="true" SSLEnabled="true"
       keystoreFile="E:\tomcat\certificate\myKey.jks" 
       keystorePass="password"
       keyAlias="server"
       clientAuth="false" sslProtocol="TLS"
/>  

с. java.lang.IllegalArgumentException: Illegal character in opaque part at index 2: c:\certificate\myKey.jks

<Connector port="8443" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" 
        maxSpareThreads="150" scheme="https" secure="true" SSLEnabled="true" 
        clientAuth="false" sslProtocol="TLS" keyAlias="server" 
        keystoreFile="c:\certificate\myKey.jks" 
        keystorePass="password" />  

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

вы пытались использовать "org.apache.coyote.http11.Http11NioProtocol" вместо "org.apache.coyote.http11.Http11AprProtocol"?

    <Connector executor="tomcatThreadPool"
               port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443" />
<Connector 
port="443" 
protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" 
maxThreads="150" 
scheme="https" 
secure="true"                   
clientAuth="false" 
sslProtocol="TLS"
keystoreFile="mySSL.jks"
keystorePass="changeit" />
0 голосов
/ 02 мая 2018

Теперь у меня установлен сертификат SSL и я успешно запускаю tomcat, но не могу http://localhost:8443.
Я получаю страницу не может быть отображено сообщение • Убедитесь, что веб-адрес http://localhost:443 правильный.

http://localhost:8080/ все еще работает

Любое предложение искренне приветствуется.

<Connector port="8443" maxThreads="200" scheme="https" secure="true"   SSLEnabled="true" keystoreFile="E:/tomcat/certificate/mykey.jks" keystorePass="mypassword" keyAlias="server" clientAuth="false" sslProtocol="TLS"/>  

конец журнала tomcat: 02-May-2018 09: 06: 14.192 INFO [main] org.apache.coyote.AbstractProtocol.start Запуск протоколаHandler ["http-nio-8080"] 02-May-2018 09: 06: 14.207 INFO [main] org.apache.coyote.AbstractProtocol.start Запуск ProtocolHandler ["https-openssl-nio-8443"] 02-May-2018 09: 06: 14.207 INFO [main] org.apache.coyote.AbstractProtocol.start Запуск протоколаHandler ["ajp-nio-8009"]

...