zoukankan      html  css  js  c++  java
  • Tomcat+java+ssl

    配置Tomcat+java+ssl安全证书无效的原因

    记得2008年9月初的样子,公司一实施人员打电话来,说,按照按照手册上的方法配置Tomcat+java+ssl安全证的方法没有生效,根本无法使用HTTPS方式访问页面。

          开始以为是他的配置方法或者某一环节有问题,打算通过VPN上去帮他配置。

          奇怪的事情发生了,我以非常熟练得速度按照手册上的方法配置成功,但居然也无法使用HTTPS方式访问页面。(这个我以前配置过不少次,难道是环境问题....)

          正在大家百思不得其解的状况下..........终于发现了一个问题。

        先卖个关子............呵呵。

        我先说说如何配置Tomcat+java+ssl安全证,然后再说是怎么解决现场实施人员的问题的。

    一. 配置Tomcat+java+ssl安全证的方法:

    配置过程

    1. 生成 name key :

    以命令行方式切换到目录%TOMCAT_HOME%,在command命令行输入如下命令(jdk1.4以上带的工具):

    keytool-genkey -alias tomcat -keyalg RSA -keypass password -storepass password-keystore name.keystore -validity 3600

    keytool -genkey -alias tomcat-keyalg RSA -keystore F:\tomcat.keystore -validity 36500

     

    用户名输入域名,如localhost(开发或测试用)或hostname.domainname(用户拥有的域名),其它全部以 enter 跳过,最后确认,此时会在%TOMCAT_HOME%name.keystore 文件。

    注:参数 -validity 指证书的有效期(天),缺省有效期很短,只有90天。

    2. 将证书导入的JDK的证书信任库中:

    这步对于Tomcat的SSL配置不是必须,但对于CAS SSO是必须的,否则会出现如下错误:edu.yale.its.tp.cas.client.CASAuthenticationException:Unable to validate ProxyTicketValidator。。。

    导入过程分2步,第一步是导出证书,第二步是导入到证书信任库,命令如下:

    keytool-export -trustcacerts -alias tomcat -file server.cer –keystore name.keystore-storepass password

    keytool-import -trustcacerts -alias tomcat -file server.cer -keystore%JAVA_HOME%/jre/lib/security/cacerts -storepass password

    keytool-import -trustcacerts -alias tomcat -file server.cer -keystore F:\cacerts-storepass password

     

    如果有提示,输入Y就可以了。

    其他有用keytool命令(列出信任证书库中所有已有证书,删除库中某个证书):

    keytool-list -v -keystore D:/sdks/jdk1.5.0_11/jre/lib/security/cacerts

    keytool-delete -trustcacerts -alias tomcat -keystoreD:/sdks/jdk1.5.0_11/jre/lib/security/cacerts -storepass pass

    3. 配置TOMCAT :

    修改%TOMCAT_HOME%\conf\server.xml,以文字编辑器打开,查找这一行:

    xml 代码

    1.<Connectorprotocol="org.apache.coyote.http11.Http11NioProtocol"  

    2.          port="8443" minSpareThreads="5"maxSpareThreads="75"  

    3.          enableLookups="true"disableUploadTimeout="true"    

    4.          acceptCount="100" maxThreads="200"  

    5.          scheme="https" secure="true"SSLEnabled="true"  

    6.          clientAuth="false" sslProtocol="TLS"  

    7.          keystoreFile="D:/tools/apache-tomcat-6.0.10/server.keystore"    

    8.          keystorePass=" password "/>  

    二.现在我来回答为什么那个奇怪的现象吧

    原因是因为,实施人员在安装TOMCAT过程中,直接默认选择了JRE路径,导致无法找到密钥。

    这个问题原因是黄老板(公司一位人才)发现的。

    后来在TOMCAT CONFIGURE中重新选择了路径,指向了JDK路径。

    在配置一次就成功了。

  • 相关阅读:
    ArrayList源码分析_JDK1.8.0_191
    LinkedList源码分析_JDK1.8.0_191
    HashMap源码分析_JDK1.8.0_191
    生产者消费者模型Java实现
    INT整型最小值取负还是本身的问题
    字节跳动面试题
    go sqlx操作数据库问题
    go gin框架调用cmd运行python脚本问题
    Android视频播放不能使用自研播放器
    mac python版本错误问题以及pip版本错误(anacanda)
  • 原文地址:https://www.cnblogs.com/liaoshiyong/p/3150945.html
Copyright © 2011-2022 走看看