Java 什么是keyAlias=";aaaa“;在tomcat server.xml文件中

Java 什么是keyAlias=";aaaa“;在tomcat server.xml文件中,java,tomcat,ssl,https,keystore,Java,Tomcat,Ssl,Https,Keystore,我购买了SSL证书并安装到tomcat中。我创建了tomcat.keystore文件,该文件包含在server.xml文件中,该文件也放置了密码,但无法理解keyalis=“aaa”。如果我输入keyalis=“localhost”,则会得到下面给出的异常。如果我从连接器标记中删除了keyalis本身,那么我会得到另一个异常,该异常在下面的localhostexception中给出 java.io.IOException: Alias name localhost does not identi

我购买了SSL证书并安装到tomcat中。我创建了
tomcat.keystore
文件,该文件包含在
server.xml
文件中,该文件也放置了密码,但无法理解
keyalis=“aaa”
。如果我输入keyalis=“localhost”,则会得到下面给出的异常。如果我从连接器标记中删除了
keyalis
本身,那么我会得到另一个异常,该异常在下面的
localhost
exception中给出

java.io.IOException: Alias name localhost does not identify a key entry
    at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:588)
    at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:526)
    at org.apache.tomcat.util.net.jsse.JSSESocketFactory.init(JSSESocketFactory.java:471)
    at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:218)
    at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:400)
    at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:649)
连接器
标记中删除
keyAlias
本身后出现异常

Aug 08, 2015 2:39:18 PM org.apache.catalina.core.StandardService initInternal
SEVERE: Failed to initialize connector [Connector[HTTP/1.1-443]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-443]]
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
    at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
    at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:821)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:638)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:663)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454)
Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
    at org.apache.catalina.connector.Connector.initInternal(Connector.java:980)
    at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
    ... 12 more
Caused by: java.net.BindException: Address already in use <null>:443
    at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:413)
    at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:649)
    at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434)
    at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
    at org.apache.catalina.connector.Connector.initInternal(Connector.java:978)
    ... 13 more
Caused by: java.net.BindException: Address already in use
    at java.net.PlainSocketImpl.socketBind(Native Method)
    at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
    at java.net.ServerSocket.bind(ServerSocket.java:376)
    at java.net.ServerSocket.<init>(ServerSocket.java:237)
    at java.net.ServerSocket.<init>(ServerSocket.java:181)
    at javax.net.ssl.SSLServerSocket.<init>(SSLServerSocket.java:136)
    at sun.security.ssl.SSLServerSocketImpl.<init>(SSLServerSocketImpl.java:107)
    at sun.security.ssl.SSLServerSocketFactoryImpl.createServerSocket(SSLServerSocketFactoryImpl.java:84)
    at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:219)
    at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:400)
    ... 17 more
那是什么?为什么删除绑定异常后我会收到异常?

KEYALIAS:

`

  • 将证书导入密钥库时,通常会给出一个“别名”:

    keytool-import-trustcacerts-alias server-file your_site_name.p7b-keystore your_site_name.jks

  • 然后,必须在server.xml中声明相同的“别名”:

  • 以下是一些可能有帮助的其他链接:

  • 第二期,“无法绑定”:

    至于“使用中的地址”,我只需尝试重新启动服务器,看看Tomcat是否正确启动

    如果您再次遇到错误

  • 查看您的Tomcat设置,查看您尝试使用的端口(例如443)

  • 检查您的系统以查看还有谁在使用该端口(lsof、nmap等):


  • 这些错误不相关

  • keyalis
    记录在Tomcat文档中,这就是您应该查找其含义的地方
  • 您所犯的错误是未导入具有生成密钥对时使用的相同别名的已签名证书。它们必须相同,以便keytool将密钥对与证书相关联,并创建密钥项而不是证书项
  • BindException
    意味着其他进程(可能是之前对Tomcat的调用,尚未退出)正在使用该端口。或者,您可能已将两个连接器配置为使用同一端口。只有在正确配置SSL连接器时,它才会显示为错误

  • 我不认为已在使用的
    地址问题与删除keyAlias有关。@keyser但删除该
    keyAlias是一个问题。它向Catalina.out文件提供绑定异常。我的应用程序运行在443上,带有http(不是https)。但是问题是
    keyalis=“?”
    的值是多少,这样我就可以在https上托管我的应用程序了。但是有了地址问题,你应该可以轻松地释放端口。如果有什么用的话,你查过了吗?如果是相关的,那就奇怪了。我很接近你的答案。请问哪一个是keyAlias。在创建tomcat.keystore文件时,我执行了三个命令…….1。keytool-import-alias root-keystore tomcat.keystore-trustcacerts-file gdig2.crt 2.keytool-import-alias intermed-keystore tomcat.keystore-trustcacerts-file gd_bundle-g2-g1.crt 3。keytool-import-alias tomcat-keystore tomcat.keystore-trustcacerts-file 9999999999.crt
    <Connector port="443" SSLEnabled="true" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               keystoreFile="tomcat.keystore"
               keystorePass="test" keyAlias="aaa"/>