Tomcat SSL 证书配置

一、单向认证

     数据传输加密,但不对客户端来源进行验证其合法性。也就是客户端不限制访问客户,仅对数据的传输进行加密。

二、双向认证

    对数据 传输进行加密,同时,对客户端来源进行验证,只有拥有合法客户端证书的用户,才能访问。

三、单向认证的配置

      1、生成服务器端证书

       在jdk安装目录下的bin中,使用keytool进行证书的生成。

       keytool -genkey -v -alias tomcat -keyalg rsa -vilidity 3650 -keystore d:\tomcat.keystore -dname "cn=localhost,ou=cn,o=cn,l=cn,st=cn,c=cn" -storepass password -keypass password

       假设目标服务器的域名为:localhost。keystore文件存放目录为:d:\tomcat.keystore。密码为:password。

     keytool -export -aloas tomcat-keystore d:\tomcat.keystore -file d:\tomcat.cer -storepass password

     tomcat.cer在浏览器提示不信任时,可以导入证书。从而不在提示不信任信息。

  2、配置tomcat服务器

     <connector port="8443" protocol="http/1.1" sslenabled="true" maxthreads="150" scheme="https" secure="true" clientauth="false" sslprotocol="tls" keystorefile="d:\tomcat.keystore" keystorepass="password"/>

  3、启动服务器,访问http://localhost:8443/

四、双向认证配置

   1、生成服务器端证书

    keytool -genkey -v -alias tomcat -keyalg rsa -vilidity 3650 -keystore d:\tomcat.keystore -dname "cn=localhost,ou=cn,o=cn,l=cn,st=cn,c=cn" -storepass password -keypass password

     假设目标服务器的域名为:localhost。keystore文件存放目录为:d:\tomcat.keystore。密码为:password。

     keytool -export -aloas tomcat-keystore d:\tomcat.keystore -file d:\tomcat.cer -storepass password

     tomcat.cer在浏览器提示不信任时,可以导入证书。从而不在提示不信任信息。

  2、生成客户端证书

     keytool -genkey -v -alias xajava -keyalg rsa -storetype pkcs12   -validity 3650  -keystore d:\xajava.p12 -dname "cn=xajava,ou=cn,o=cn,l=cn,st=cn,c=cn" -storepass password -keypass password

   3、客户端证书加入服务端信任列表

      先把客户端证书导出为一个单独的 cer 文件,使用如下命令:

       keytool -export -alias xajava -keystore d:\xajava.p12 -storetype pkcs12 -storepass password -rfc -file d:\xajava.cer

       添加到服务器证书库

       keytool -import -v -file d:\xajava.cer -keystore d:\tomcat.keystore -storepass password

    4、配置tomcat

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

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

               clientAuth="false" sslProtocol="TLS" keystoreFile="d:\tomcat.keystore"

          keystorePass="password" truststoreFile="d:/tomcat.keystore" truststorePass="password">

</Connector>


你可能感兴趣的:(Tomcat SSL 证书配置)