证书生成 和Tomcat配置

来源:互联网 发布:excel2010 数据分析 编辑:程序博客网 时间:2024/06/05 17:03

证书生成

一、生成服务器端证书

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

解开注释或者添加代码

 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"        maxThreads="150" scheme="https" secure="true"        clientAuth="false" sslProtocol="TLS"        keystoreFile="D:/server.jks" keystorePass="password"        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>Client Cert 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>

0 0
原创粉丝点击