keytool生产非签发证书
keytool -genkey -alias tomcat -keyalg RSA -keystore d:\tomcat.keystore
在此命令中,keytool是JDK自带的产生证书的工具。把RSA运算法则作为主要安全运算法则,这保证了与其它服务器和组件的兼容性。
这个命令会在用户的d:\tomcat.keystore产生一个叫做"tomcat.keystore" 的新文件。你会被要求出示关于这个认证书的一般性信息,如公司,联系人名称,等等。这些信息会显示给那些试图访问你程序里安全网页的用户,以确保这里提供的信息与他们期望的相对应。你会被要求出示密钥(key)密码,也就是这个认证书所特有的密码(与其它的储存在同一个keystore文件里的认证书不同)。你必须在这里使用与keystore密码相同的密码。(目前,keytool会提示你按ENTER键会自动帮你做这些)。
注意:
提示名字和姓氏时,应输入服务器的DNS域名或者IP地址,否则,客户端会弹出警告窗口。"站点不符"
另外,因为是自签名的证书,客户端会弹出“非信任的机构颁发”,这时可以点击“继续”,或者安装该证书,确认自己的信任。
申请签发证书
1) 生成私钥和公钥对(Keystore) Create a Keystore
keytool -genkey -keyalg rsa -keystore <keystore_filename> -alias <alias_name>
Keytool 会提示您输入私钥密码、您的姓名(Your name,填单位网址)、您的部门名称、单位名称、所在城市、所在省份和国家缩写(中国填:CN,其他国家填其缩写),单位名称一定要与证明文件上的名称一致,部门名称(OU)可以不填。除国家缩写必须填CN外,其余都可以是英文或中文。请一定要保存好您的私钥和私钥密码。WoTrust不会要求您提供私钥文件!
(2) 生成证书请求文件(CSR) Generate a CSR
keytool –certreq –file certreq.csr –keystore <keystore_filename> -alias <alias_name>
请把生成的certreq.csr 文件复制和粘贴到Thawte证书在线申请页面的CSR文本框中,或直接发给WoTrust,请等待1-2个工作日后颁发证书。
(3) 导入签名证书 Import Thawte Codesigning Certificate
一旦Thawte验证了您的真实身份,将会颁发证书给您。您需要到Thawte网站下载您的证书,请选择 PKCS #7 格式证书(PKCS #7 Certificate Chain),此证书格式含有您的证书和根证书链,Keytool要求此格式证书,请把证书保存到您的电脑中。
请使用如下命令导入您的证书到keystore 中,这里假设您的证书名称为:cert.cer,请同时指明详细路径,一旦成功导入证书,请及时备份您的keystore文件:
c:\jdk1.5\bin\keytool –import –trustcacerts –keystore <keystore_filename> -alias <alias_name> -file cert.cer
tomcat 和jboss配置
不管你用的是keytool生产的非正式证书还是申请的正式证书,tomcat和jboss的配置都是一样的。
Tomcat配置
去掉$CATALINA_HOME/conf/server.xml这个文件中这段代码的注释,红色部分为添加部分。请先copy tomcat.keystore文件到tomcat主目录。
< -- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="tomcat.keystore" keystorePass="123456"
keystoreType="jks"/>
Connector元素本身,其默认形式是被注释掉的(commented out),所以需要把它周围的注释标志删除掉。然后,可以根据需要客户化(自己设置)特定的属性。一般需要增加一下keystoreFile和keystorePass两个属性,指定你存放证书的路径(如:keystoreFile="C:/.keystore")和刚才设置的密码(如:keystorePass="123456")。在完成这些配置更改后,必须象重新启动Tomcat,然后你就可以通过SSL访问Tomcat支持的任何web应用程序。只不过指令需要像下面这样:
https://localhost:8443
JBOSS配置
1)把keystore文件拷贝到jboss安装目录\server\default\conf下
2)和tomca类似,找到jboss安装目录\server\default\deploy\jboss-web.deployer\server.xml文件
https配置已经有了,不过被注释掉了,按如下配置即可
去掉注释符号 <!-- 和 -->
<Connector port="8443" address="${jboss.bind.address}"
maxThreads="100" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
scheme="https" secure="true" clientAuth="false"
keystoreFile="${jboss.server.home.dir}/conf/tomcat.keystore"
keystorePass="123456" sslProtocol = "TLS" />