• https webservice通讯 参考网址 http://blog.csdn.net/small____fish/article/details/8214938


    一、生成密钥库和证书
    可参考以下密钥生成脚本,根据实际情况做必要的修改,其中需要注意的是:服务端的密钥库参数“CN”必须与服务端的IP地址相同,否则会报错,客户端的任意。

    1、生成服务器证书库

    keytool -validity 365 -genkey -v -alias server -keyalg RSA -keystore E:sslserver.keystore -dname "CN=127.0.0.1,OU=icesoft,O=icesoft,L=Haidian,ST=Beijing,c=cn" -storepass 123456 -keypass 123456


    2、生成客户端证书库

    keytool -validity 365 -genkeypair -v -alias client -keyalg RSA -storetype PKCS12 -keystore E:sslclient.p12 -dname "CN=client,OU=icesoft,O=icesoft,L=Haidian,ST=Beijing,c=cn" -storepass 123456 -keypass 123456


    3、从客户端证书库中导出客户端证书

    keytool -export -v -alias client -keystore E:sslclient.p12 -storetype PKCS12 -storepass 123456 -rfc -file E:sslclient.cer


    4、从服务器证书库中导出服务器证书

    keytool -export -v -alias server -keystore E:sslserver.keystore -storepass 123456 -rfc -file E:sslserver.cer


    5、生成客户端信任证书库(由服务端证书生成的证书库)

    keytool -import -v -alias server -file E:sslserver.cer -keystore E:sslclient.truststore -storepass 123456


    6、将客户端证书导入到服务器证书库(使得服务器信任客户端证书)

    keytool -import -v -alias client -file E:sslclient.cer -keystore E:sslserver.keystore -storepass 123456


    7、查看证书库中的全部证书

    keytool -list -keystore E:sslserver.keystore -storepass 123456

    二、Tomat配置
    使用文本编辑器编辑${catalina.base}/conf/server.xml
    找到Connector port="8443"的标签,取消注释,并修改成如下:

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true"
                   maxThreads="150" scheme="https" secure="true"
                   clientAuth="true" sslProtocol="TLS"
                   keystoreFile="${catalina.base}/key/server.keystore" keystorePass="123456"
                   truststoreFile="${catalina.base}/key/server.keystore" truststorePass="123456"/>
                      # truststoreFile、keystoreFile为已经生成的服务器证书的地址  
                      # truststorePass、keystorePass为自定义的服务器证书的密码 

     备注:
    keystoreFile:指定服务器密钥库,可以配置成绝对路径,如“D:/key/server.keystore”,本例中是在Tomcat目录中创建了一个名称为key的文件夹,仅供参考。
    keystorePass:密钥库生成时的密码
    truststoreFile:受信任密钥库,和密钥库相同即可

    truststorePass:受信任密钥库密码

  • 相关阅读:
    Mac普通用户修改了/etc/sudoers文件的解决办法
    python对缓存(memcached,redis)的操作
    线程、进程、协程和队列
    python作用域和多继承
    sokect编程进阶
    socket编程基础
    python面相对象进阶
    python异常处理
    configparser模块
    subprocess模块
  • 原文地址:https://www.cnblogs.com/yangpeng-jingjing/p/7741950.html
Copyright © 2020-2023  润新知