http协议改为https协议(免费和证书和收费证书)

1、免费证书

一、CMD运行以下代码:

%JAVA_HOME%\bin\keytool -genkey -alias server -keyalg RSA -keystore e:\server.keystore-validity 3650

-alias是指定一个别名,类似于Map的key 
-keyalg是指定算法,默认是DSA 
-keystore是生成的文件往哪里放 
-validity是证书有效期,3650就是10年 

或(C:\"ProgramFiles"\Java\jdk1.6.0_43\bin\keytool -genkey -alias server -keyalgRSA -keystore e:\server.keystore -validity3650)(保证有e盘,如果没有改其他盘)

根据提示执行操作

二、设置的是E盘 运行完成会在E盘生成server.keystore

把server.keystore放在tomcat的根目录下

打开D:\apache-tomcat-6.0.372\conf\server.xml

新增

minSpareThreads="5"maxSpareThreads="75"  enableLookups="true"disableUploadTimeout="true" 

acceptCount="100" maxThreads="200"  scheme="https"  secure="true"  SSLEnabled="true"   

clientAuth="false"sslProtocol="TLS" 

keystoreFile="D:\apache-tomcat-6.0.372\server.keystore"   keystorePass="123456"/>

(注意红色部分)

三、修改项目中的web.xml(实现http协议跳转https协议)

增加

   

           

              HtmlAdaptor   

              An examplesecurity config that only allows users with the

              role JBossAdmin to access the HTMLJMX console web application    

              /

                

          

          

           

              Protectionshould be CONFIDENTIAL    

          CONFIDENTIAL  

         

server.xml配置,这步目的是让非ssl的connector跳转到ssl的connector去,redirectPort改成ssl的connector的端口443,重启后便会生效。

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />

2、付费证书

  通常我们使用付费的第三方证书,从认证网站上下载的证书中并不会包括TOMCAT可以使用的jks证书文件,一般来说,我们拿到的证书文件如下:(temp是文件名同样也是我们以下示例中的证书名)

1. temp.crt(自己网站的证书文件)

2. temp.key (私钥,可以自己通过crt生成)

3. root.crt(证书认证机构自己的根证书)

2.1、可以通过文件夹内证书文件和私钥文件通过在线转换生成jks格式证书

    转换工具:https://www.trustasia.com/tools/cert-converter.htm
    使用工具时注意填写 密钥库密码 ,安装证书时配置文件中需要填写。

2.2、通过openssl命令行转换

第一步:

合并证书,生成temp.p12文件

命令行输入:

openssl pkcs12 -export -in temp.crt -inkey temp.key -out temp.p12 -name temp

此时会提示你创建自己的密钥和重复输入,这个密码请记住,下面我们还会使用

第二步:

生成 keystore 文件(jks) 需要输入上一步的导出密码,及指定新的 keystore 密码  后面几步的导入需要用到这个密码。

keytool -importkeystore -srckeystore temp.p12 -srcstoretype PKCS12 -destkeystore temp.jks

此时会提示你输入第一步的密码,并且输入新的 keystore 密码

附录:

TOMCAT配置:

/data/app/test/temp.jks:你证书文件

123456:你的证书密码

               SSLEnabled="true" maxThreads="25" scheme="https"
              secure="true" clientAuth="true" sslProtocol="TLS"
              
keystoreFile="/data/app/test/temp.jks"   keystorePass="123456" />

3、火狐浏览器https问题

    火狐服务器密钥交换握手信息中 SSL 收到了一个弱临时 Diffie-Hellman 密钥。 (错误码: ssl_error_weak_server_ephemeral_dh_key)解决方法

打开火狐浏览器,下载插件

https://addons.mozilla.org/en-us/firefox/addon/disable-dhe/

http协议改为https协议(免费和证书和收费证书)_第1张图片

重启访问:如图

http协议改为https协议(免费和证书和收费证书)_第2张图片

点击高级

http协议改为https协议(免费和证书和收费证书)_第3张图片

点击添加例外

http协议改为https协议(免费和证书和收费证书)_第4张图片

点击确认安全例外




你可能感兴趣的:(http协议改为https协议(免费和证书和收费证书))