tomcat https/ssl 服务配置(带有双向验证,windows,linux平台验证通过)


1. 创建服务器密钥,其密钥库为 /home/gr/server.ks

    PS1: 注意keypass和storepass保持一致,它们分别代表 密钥密码和密钥库密码,
    PS2: 注意 CN=localhost 中,localhost表示要配置SSL的主机名,不能任意指定
    
    ~$keytool -genkey -v -alias serverKey -dname "CN=192.168.10.101" -keyalg RSA -keypass 123456 -keystore server.ks -storepass 123456
    
2.  创建客户端密钥,其密钥库为  /home/gr/client.p12,注意这个密钥库的后缀名,注意密钥库类型PKCS12

    ~$keytool -genkey -v -alias clientKey -dname "CN=SomeOne" -keyalg RSA -keypass 654321 -keystore client.p12 -storepass 654321 -storetype PKCS12
    
3.  将客户端密钥导出为证书文件(在下一步要用到这里生成的文件)

    ~$keytool -export -alias clientKey -file client.cer -keystore client.p12 -storepass 654321 -storetype PKCS12
    
4.  将上述客户端密钥文件导入服务器证书库,并设置为信任证书

    PS: 注意会问你是否信任该证书,回答 y 即可
    
    ~$keytool -import -v -alias client -file client.cer -keystore server.ks -storepass 123456
    
5. 为了在浏览器中进行SSL访问,请在浏览器中导入 客户端密钥库文件client.p12

    5.1 linux平台
        chrome :        设置--高级--HTTPS/SSL--管理证书--您的证书,导入 client.p12
        firefox:        首选项--高级--证书--查看证书--您的证书,导入 client.p12
    5.2 windows平台
        IE:            Internet选项--内容--证书--个人,导入 client.p12
        chrome:        选项--高级--证书--查看证书--您的证书,导入 client.p12
        firefox:        设置--高级--HTTPS/SSL--管理证书--个人,导入 client.p12

6.  配置TOMCAT服务器,以支持SSL认证,编辑文件:%tomcat_home%/conf/server.xml

    6.1 下面这段配置代码本来是被屏蔽的,现在请取消其屏蔽,并相应增加密钥库的配置,其中clientAuth="true" 用以启动双向认证,否则,只有客户端认证服务器-单向

    6.2 修改后的内容是

                     maxThreads="150" scheme="https" secure="true"
            clientAuth="true" sslProtocol="TLS"
            keystoreFile="/home/gr/server.ks" keystorePass="123456"
            truststoreFile="/home/gr/server.ks" truststorePass=" 123456" />
            
    6.3 属性说明
    
        clientAuth:设置是否双向验证,默认为false,设置为true代表双向验证
        keystoreFile:服务器证书文件路径
        keystorePass:服务器证书密码
        truststoreFile:用来验证客户端证书的根证书,此例中就是服务器证书
        truststorePass:根证书密码
            

7. 启动 TOMCAT,然后在IE浏览器中访问:https://localhost:8443/项目名称


你可能感兴趣的:(5,Web开发)