证书生成 和Tomcat配置

来源:互联网 发布:2017网络用语大全 编辑:程序博客网 时间:2024/05/22 14:38

证书生成

一、生成服务器端证书

1 .jks文件(tomcat引用文件)数字证书库

keytool –genkey

–keyalg RSA

–dname

"cn=服务器名,

ou=中国未来网络,

o=CDN,

l=南京,

st=江苏,

c=cn"

-alias 别名

-keypass 密码

-keystore 证书库名.jks-storepass 密码

-validity 3650

 

说明:       利用密钥和证书用具keytool工具生成证书,连贯书写命令不要中间回车空行

参数说明:   -keyalg:算法、-dname:唯一判别名、cn:服务器名(一定要设置为域名地址,例如IP地址)、ou:组织单位名、o:组织名、l:城市名、st:省/市/自治区名称、c:国家双字母代码、-alias:别名、–keypass:密码、-keystore:文件名、-validity:有效时间天为单位。

详细参数说明:请在命令行中输入keytool –genkey –help 帮助查询

重要配置:    密码、别名(-alias)、cn的值为域名

 

命令举例:   keytool -genkey -keyalg RSA-dname "cn=192.168.28.211,ou=fnic,o=cdn,l=nanjing,st=jiangsu,c=cn"-alias server -keypass asd123 -keystore server.jks -storepass asd123 -validity3650

(连贯书写)

                    

2 .cer 文件(浏览器必须安装的服务端文件)

keytool -keystore 证书库.jks-export -alias 别名 -storepass 密码 -file 证书名.cer

命令举例:keytool -keystore server.jks -export -alias server-storepass asd123 -file server.cer

(连贯书写)

 

二、生成客户端证书

1 .p12文件(双向认证时安装文件)

keytool -genkey -keyalg 算法 -dname"cn=服务器名,ou=中国未来网络,o= CDN,l=南京,st=江苏,c=cn" -alias 别名 -storetype 密钥库类型 -keypass 密码 -keystore 证书名.p12 -storepass 密码 -validity 有效天数

参数说明:同服务端证书参数说明

命令举例:keytool -genkey -keyalg RSA -dname "cn=192.168.28.211,ou=fnic,o=cdn,l=nanjing,st=jiangsu,c=cn" -alias custom -storetype PKCS12 -keypass asd123-keystore custom.p12 -storepass asd123 -validity 3650

(连贯书写)

 

2 .cer文件(为了导入密钥库过度的文件)

keytool -export -alias 别名 -file cer证书名.cer-keystore  p12证书名.p12-storepass 密码 –storetype 密钥类型输出样式

命令举例: keytool -export -alias custom -file custom.cer -keystore  custom.p12 -storepass asd123 -storetypePKCS12 -rfc

(连贯书写)

 

三、添加客户端证书到服务器中

命令说明:keytool-import -v -alias 别名 -file cer文件名.cer -keystore  证书库文件名.jks-storepass 密码

 

命令举例:keytool -import -v -alias custom -file custom.cer -keystore  server.jks -storepass asd123

(连贯书写)

 

 

根据命令举例完成所有操作总共生成四个文件

server.jks   证书库文件,供tomcat引用

server.cer   浏览器安装该证书到“受信任根证书颁发机构”下

custom.p12  双向认证安装证书到“您的证书”下

custom.cer  过度证书

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Tomcat配置

tomcat service.xml , %CATALINA_HOME%/CONF/service.xml

解开注释或者添加代码

1.  <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"  

2.      maxThreads="150" scheme="https" secure="true"  

3.      clientAuth="false" sslProtocol="TLS"  

4.      keystoreFile="D:/server.jks" keystorePass="password"  

5.      truststoreFile="D:/server.jks" truststorePass="password"  

/>

说明:keystoreFile 服务端证书库文件路径、keystorePass 密码、clientAuth 设置双向认证还是单向认证,clientAuth="true"表示双向认证,clientAuth="false"表示单向认证

web.xml文件<web-app></web-app>中添加强制使用htmls代码:

<login-config> 

   <auth-method>CLIENT-CERT</auth-method> 

   <realm-name>ClientCert Users-only Area</realm-name> 

</login-config>

 <security-constraint> 

   <web-resource-collection> 

        <web-resource-name>SSL</web-resource-name> 

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

   </web-resource-collection> 

   <user-data-constraint> 

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

   </user-data-constraint> 

</security-constraint>

原创粉丝点击