技术支持

OV SSL证书申请,SSL证书购买,SSL证书部署,SSL证书使用

您现在所在的位置首页 > 技术支持 > Tomact中配置https方法指南

Tomact中配置https方法指南

1.首先确定已经安装了JDK或JRE,并配置java运行环境

OnWindows:

C:\>set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_16

C:\>set PATH=%JAVA_HOME%\bin;%PATH%

On Linux:

# exportJAVA_HOME=/usr/java/latest

# exportPATH=$JAVA_HOME/bin:$PATH

2. 使用java自带的keytool生成证书

打开命令行窗口,运行:

Keytool

应该能看到相关的帮助文本,否则检查你的java运行环境是否正确。键入以下命令来生成一个自签名的服务器SSL证书。

keytool -genkeypair -alias tomcat -keyalg RSA -keysize 1024 -dname “CN=localhost, OU=Organization, O=CompanyName, L=City, S=State, C=US” -validity 365 -keystore D:\tomcat.keystore;
Enter keystore password:<eg:tomcat>

这样就生成了SSL证书,将证书放到合适的地方(任意地方都可以)。

keytool -genkey -alias lenny -keyalg RSA -keystoreC:\lenny -validity 36500 -keysize 512

其中-keyalg RSA是加密算法;

-keysize 512生成的密钥是512位,-validity 365是有效期为1年;

-keystore 是生成的文件(在D:\tomcat.keystore;盘下);

CN是域名。

(注意: 填写具体信息时,”名字和姓氏”一定是你的域名或IP地址,比如我在实验室没有域名,IP地址为192.168.2.101,所以我的”名字和姓氏”填写的是192.168.2.101,所以实验室的其他电脑也可以使用https访问我的Web应用程序)

3.修改tomcat目录下的server.xml文件并找到关于SSL的相关段

<!–

<Connector URIEncoding=”UTF-8″ port=”8082″ protocol=”org.apache.coyote.http11.Http11NioProtocol”

maxThreads=”150″ minSpareThreads=”25″ maxSpareThreads=”75″

enableLookups=”false” disableUploadTimeout=”true”

acceptCount=”100″ scheme=”https” secure=”true”

clientAuth=”false” SSLEnabled=”true” sslProtocol=”TLS” />

–>

去掉ssl相关段的注释。添加如下:其中key.store文件放在tomcat根目录下;

keystoreFile=”key.store”

truststoreFile=”key.store”

keystorePass=”123456″

4.重启TOMCAT就可使用HTTPS访问项目了。

5.如何配置tomcat总是使用HTTPS访问

6.在WEB-INF/web.xml中的</welcome-file-list>后面加上这样一段:

<!—

Require HTTPS for everything except /img(favicon) and /css.

->

<security-constraint>

<web-resource-name>HTTPSOnly</web-resource-name>

<url-pattern>/*</url-pattern>

</web-resource-collection>

<user-data-constraint>

<transport-guarantee>CONFIDENTIAL</transport-guarantee>

</user-data-constraint>

</security-constraint>

<security-constraint>

<web-resource-collection>

<web-resource-name>HTTPSOrHTTP</web-resource-name>

<url-pattern>*.ico</url-pattern>

<url-pattern>/img/*</url-pattern>

<url-pattern>/css/*</url-pattern>

</web-resource-collection>

<user-data-constraint>

<transport-guarantee>NONE</transport-guarantee>

</user-data-constraint>

</security-constraint>

配置指定内容访问需要HTTPS

<!–定义哪些页面需要使用https,只需要后台使用即可。–>

<security-constraint>

<web-resource-collection>

<web-resource-name>HTTPSOnly</web-resource-name>

<url-pattern>/admin_index.jsp</url-pattern>

<url-pattern>/login.jsp</url-pattern>

</web-resource-collection>

<user-data-constraint>

<transport-guarantee>CONFIDENTIAL</transport-guarantee>

</user-data-constraint>

</security-constraint>

7.生成服务器证书请求:

keytool -certreq -keyalg RSA -alias tomcat -file d:\server.csr

-keystore D:\tomcat.keystore;

-file表示将要生成的.csr文件,

-keystore表示刚才已经生成的keystore文件。

8.CSR文件必须有CA机构的签名才可形成证书.可将此文件发送到沃通wosign等CA机构由它验证,可以申请免费SSL证书和付费购买证书。

也可以用下面方式测试:新建工作目录,将openssl安装路径下的apps/CA.pl 和 apps/openssl.cnf(在window中该文件会显示成名为openssl的快速拨号程序)文件复制到该路径。可以修改openssl.cnf文件中的一些参数。启动控制台,执行命令CA.pl -newca

生成CA工作所需的文件和文件夹。即该目录下新生成的demoCA文件夹。将openssl安装路径下的apps\demoCA\serial文件复制到生成的demoCA文件夹下。可以略去该步骤,在安装路径\apps下执行后续步骤。

创建.key和.crt文件:openssl req -new-x509 -keyout d:\ca.key -out d:\ca.crt

9.使用生成的.key 和 .crt文件来给刚才的.csr文件签名。

Openssl ca -in d:\server.csr -out server.crt -cert ca.crt -keyfile ca.key.

10.导入crt根证书

keytool -import -alias root -keystore<your_keystore_filename>

-trustcacerts -file<filename_of_the_chain_certificate>

example:

keytool -import -alias root -keystore d:\tomcat.keystore -trustcacerts -file d:\ca.crt

11. 导入新的证书

keytool -import -alias tomcat -keystore<your_keystore_filename>

-file<your_certificate_filename>

导入证书时,可能会报der 错误,需要将server.crt 转换成 server.der文件。

openssl x509 -in G:\SSL\server.crt -outG:\SSL\server.der – outform DER

12.openssl.cfg文件需要修改的地方。

1.[ policy_match ]部分,前三个都是match,需要把stateOrProvinceName,organizationName都修改成optional。

2.[ CA_default ]部分,dir修改成./PEM/demoCA

13.将根证书导入java的cacerts证书库中。

进入$JAVA_HOME\jre6\lib\security中,运行:

keytool -import -alias jhkj -keystorecacerts -file d:\ca.crt -trustcacerts

cacerts证书库的默认密码是:changeit

1.查看证书列表

keytool -list -keystore cacerts

2.删除证书

keytool -delete -alias jhkj -keystorecacerts

14. 11

15. 2

16. 3

17. 4

18. 5

New add 11 和 12 以后忽略,生成证书的时候要和openssl Bin路径结合起来,路径要灵活应用。(将tomcat.keystore 和 server.csr文件copy到openssl Bin下,执行openssl的命令)

如果启动tomcate 无法加载或识别证书,删除 tomcate bin下tcnative-1.dll文件。上述红色部分是必须按顺序执行的。

删除证书:

keytool -delete -aliastomcat -keystore e:\tomcat.keystore -storepass tomcat

删除其它也是把import等更改为delete即可。