免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5877 | 回复: 8
打印 上一主题 下一主题

tomcat申请证书,并认证了证书,但是还是通不过,高手来 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-10 16:04 |只看该作者 |倒序浏览
Redhat enterprise linux 5
apache-tomcat 6

用JAVA自带的keytool申请成功了证书,访问的时候,跳出一个框,显示,认证颁发机构不认可的意思,

于是就用生成好的.csr文件去SSL公司申请认证,成功后,发回来4个.crt的文件

我现在把这四个文件全部 import 到原来申请的证书文件里,重启tomcat后发现,还是跳出原来的证书,怎么设置都是跳出原来的证书。现在郁闷的不行,

在另一台测试的机器上,要把以前申请的证书,用命令全部delete后,才不能访问SSL网页。


如果是测试的,我可以随便的删除重来,本来这个我也打算重来的,但看到证书里有MD5加密什么的,我想想是不是重做之后和原来的就不一样了,我都认证过的证书就通不过了,我把我的全过程贴上来,这文章是转来的
--------------------------------------------------------------------------------
  1)生成证书:
  控制台cd到%JAVA_HOME%/jre/lib/security目录下,按以下步骤操作:
  D:\PROGRA~1\Java\jdk1.5.0\jre\lib\security>keytool -genkey -alias tomcat -keyalg RSA
输入keystore密码:  changeit
keytool错误: java.lang.Exception: 没有创建键值对,别名 <tomcat> 已经存在

D:\PROGRA~1\Java\jdk1.5.0\jre\lib\security>keytool -delete -alias tomcat -keyalg RSA
输入keystore密码:  changeit

D:\PROGRA~1\Java\jdk1.5.0\jre\lib\security>keytool -genkey -alias tomcat -keyalg RSA
输入keystore密码:  changeit
您的名字与姓氏是什么?
  [Unknown]:  localhost
您的组织单位名称是什么?
  [Unknown]:  mycom
您的组织名称是什么?
  [Unknown]:  mycom
您所在的城市或区域名称是什么?
  [Unknown]:  zhuzhou
您所在的州或省份名称是什么?
  [Unknown]:  hunan
该单位的两字母国家代码是什么
  [Unknown]:  cn
CN=localhost, OU=mycom, O=mycom, L=zhuzhou, ST=hunan, C=cn 正确吗?
  [否]:  y

输入 <tomcat>的主密码
        (如果和 keystore 密码相同,按回车):

D:\PROGRA~1\Java\jdk1.5.0\jre\lib\security>keytool -export -alias tomcat -keypass changeit  -file casserver.crt
输入keystore密码:  changeit
保存在文件中的认证 <casserver.crt>

D:\PROGRA~1\Java\jdk1.5.0\jre\lib\security>keytool -import -file casserver.crt -keypass changeit -keystore %JAVA_HOME%/jre/lib/security/cacerts
输入keystore密码:  changeit
keytool错误: java.lang.Exception: 认证未输入,别名 <mykey> 已经存在

D:\PROGRA~1\Java\jdk1.5.0\jre\lib\security>keytool -delete -alias mykey -keystore %JAVA_HOME%/jre/lib/security/cacerts
输入keystore密码:  changeit

D:\PROGRA~1\Java\jdk1.5.0\jre\lib\security>keytool -import -file casserver.crt -keypass changeit -keystore %JAVA_HOME%/jre/lib/security/cacerts
输入keystore密码:  changeit
Owner: CN=localhost, OU=mycom, O=mycom, L=zhuzhou, ST=hunan, C=cn
发照者: CN=localhost, OU=mycom, O=mycom, L=zhuzhou, ST=hunan, C=cn
序号: 44f67974
有效期间: Thu Aug 31 13:53:56 CST 2006 至: Wed Nov 29 13:53:56 CST 2006
认证指纹:
        MD5:  D2:A8:3A:37:96:36:97:88:42:9E:F8:9A:5B:FB:F5:5E
        SHA1: 91:0E:63:82:25:E8:04:72:5F:8B:0D:6B:39:55:C2:1E:C8:77:F3:CB
信任这个认证? [否]:  y
认证已添加至keystore中

D:\PROGRA~1\Java\jdk1.5.0\jre\lib\security>keytool -import -file server.crt -keystore /usr/java/jre1.6.0_11/lib/security/cacerts
输入keystore密码:  changeit
keytool错误: java.io.FileNotFoundException: server.crt (系统找不到指定的文件。)


D:\PROGRA~1\Java\jdk1.5.0\jre\lib\security>keytool -import -file casserver.crt -keystore /usr/java/jre1.6.0_11/lib/security/cacerts
输入keystore密码:  changeit
keytool错误: java.lang.Exception: 认证未输入,别名 <mykey> 已经存在

D:\PROGRA~1\Java\jdk1.5.0\jre\lib\security>

生成证书的名称必须为localhost (您的名字与姓氏是什么?)
  2)tomcat中解除ssl的注释,server.xml中找到 Connector port="8443" ... 的语句,解除其原来的注释。
  
2.安装cas3的server端。将cas.war解压到webapps目录下,拷贝文件acegi-security-1.0.1.jar和acegi-security-cas-1.0.1.jar到目录/cas/WEB-INF/lib下,
并修改其中的/cas/WEB-INF/deployerConfigContext.xml,将其中的全部内容修改为以下:


----------------------------------------------------------------------------------------------
Tomcat安装CA证书(详细过程篇)  回复:0 阅读:287  2008-02-16 15:46:51  

  
Tomcat安装CA证书(详细过程篇)

作者:yellowtop Email: yellowtop@163.com 日期:2004-11-26

以Verisign 测试证书为例

1.创建一个本地证书:

C:\j2sdk1.4.2_05\bin>;keytool -genkey -alias tomcat -keyalg RSA -keystore keystore
输入keystore密码:  12345678
您的名字与姓氏是什么?
  [Unknown]:  www.test.com
您的组织单位名称是什么?
  [Unknown]:  system
您的组织名称是什么?
  [Unknown]:  test
您所在的城市或区域名称是什么?
  [Unknown]:  beijing
您所在的州或省份名称是什么?
  [Unknown]:  beijing
该单位的两字母国家代码是什么
  [Unknown]:  cn
CN=liujx, OU=system, O=test, L=beijing, ST=beijing, C=cn 正确吗?
  [否]:  y

输入 <tomcat>;的主密码
        (如果和 keystore 密码相同,按回车):

查看证书
C:\j2sdk1.4.2_05\bin>;keytool -list -keystore keystore
输入keystore密码:  12345678

Keystore 类型: jks
Keystore 提供者: SUN

您的 keystore 包含 1 输入

tomcat, 2004-11-26, keyEntry,
认证指纹 (MD5): B8:44:A1:A2:C7:9A:09:EE:A0:CF:5B:AAC:F7:0F:80


2.然后创建CSR:

C:\j2sdk1.4.2_05\bin>;keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr -keystore keystore

输入keystore密码:  12345678

--________________________________________________________________________________________-
____________________________________________________________________________________________
经过上面的步骤,我就用认证给我的命令做了下,命令一下

Root:
"keytool -import -alias root -keystore tomcat.keystore -trustcacerts -file valicert_class2_root.crt."
First intermediate (gd_cross_intermediate.crt):
"keytool -import -alias cross -keystore tomcat.keystore -trustcacerts -file gd_cross_intermediate.crt"
Second intermediate (gd_intermediate.crt):
"keytool -import -alias intermed -keystore tomcat.keystore -trustcacerts -file gd_intermediate.crt"
Installing SSL Certificate
i. Use the following command to import the issued certificate into your keystore.
ii. keytool -import -alias tomcat -keystore tomcat.keystore -trustcacerts -file <name of your certificate>

--------------------------------------------------------------------------------------------
全部做完后,发现失败的

论坛徽章:
0
2 [报告]
发表于 2009-04-10 16:51 |只看该作者
怎么把认证过的证书替换旧的(这步我貌似做好了)
失败的地方可能是 怎么让tomcat 认到这新的,不要去认旧的(我把旧的文件删了都不行)

论坛徽章:
0
3 [报告]
发表于 2009-04-10 18:06 |只看该作者

回复 #1 umag 的帖子

是在linux环境设置么?看起来是在windows下呀

论坛徽章:
0
4 [报告]
发表于 2009-04-13 08:54 |只看该作者
原帖由 kns1024wh 于 2009-4-10 18:06 发表
是在linux环境设置么?看起来是在windows下呀


是linux环境,我抄的是Windows下的做法,到现在还没成功,郁闷死了

论坛徽章:
0
5 [报告]
发表于 2009-04-13 09:21 |只看该作者
我用 keytool -genkey -alias tomcat -keyalg RSA -keystore keystore 这命令后,产生的keystore拷贝到tomcat所需要的目录,连最基本的框都不跳出来了

而我用keytool -genkey -alias tomcat -keyalg RSA 和keytool -export -alias tomcat -keypass changeit  -file casserver.crt 这两条命令,就能跳出框,着实不知道问题出在哪里,高人帮忙

论坛徽章:
0
6 [报告]
发表于 2009-04-13 10:25 |只看该作者
这是我的步骤,你可以参考一下:

使用JDK自带的keytool为Tomcat生成数字证书:
JAVA_HOME/bin/ keytool -genkey -alias tomcat -keyalg RSA -validity 360 -keystore C:\tomzhou.key
提示输入密码,使用Tomcat的默认值changeit
输入相关信息后确认,将生成PCKS1.2格式的数字证书于C:\tomzhou.key
将证书导出成CSR:
JAVA_HOME/bin/ keytool -certreq -keyalg RSA -alias tomcat -file tomzhou.csr -keystore c:\tomzhou.key
将上一步得到的tomzhou.csr发送给CA认证,认证完后,取得CA的证书,以及tomzhou的证书,分别导入到keystore:
JAVA_HOME/bin/ keytool -import -alias root -keystore c:/tomzhou.key -trustcacerts -file ca.crt
JAVA_HOME/bin/ keytool -import -alias tomcat -keystore c:/tomzhou.key -trustcacerts -file tomzhou.crt
按照如上的方式,配置HTTPS Connector

论坛徽章:
0
7 [报告]
发表于 2009-04-13 10:48 |只看该作者
我终于搞定了

论坛徽章:
0
8 [报告]
发表于 2009-04-13 11:01 |只看该作者
按我方法搞定的?

论坛徽章:
0
9 [报告]
发表于 2009-04-13 15:10 |只看该作者
其实解决的重点是 证书的位置,当你配置证书时候,要看位置在哪,我是指定的位置,但是不知道为什么不成功,用默认的地址/root/.keystore成功的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP