1. 程式人生 > >Eclispe開發,本地開發配置HTTPS協議證書

Eclispe開發,本地開發配置HTTPS協議證書

1、前言

現在很多開發網站為了安全,會使用https協議。但是給開發帶來了不小的麻煩,我們eclispe預設的協議是http協議,https協議的接我就會都請求不到,好煩人,只能盲開發。後臺通過網上資料配置了本地證書就可以實現,但是按照網上教程配置之後總會有一些小問題,不能友好的訪問。故此,筆者記錄了一下自己配置的過程。

2、使用工具

SUN公司提供了keytool的工具,為我們解決了這個問題,該工具在jdk的安裝包的bin檔案下。keytool.exe看起來是可執行檔案,雙擊之後會閃退,我們藉助DOM命令完成。

注意:沒有配置JAVA_HOME必須在通過dom命令找到keytool.exe,然後執行一下操作。(筆者配置了JAVA_HOME,直接操作)

3、配置步驟

  • ①建立證書
keytool -genkeypair -alias "https_cer" -keyalg "RSA" -keystore "d:\20161010\HTTPS\https_cer.keystore"

其他隨便輸入,具體可參考其他技術文件

  • ②檢視證書:   
keytool -list -keystore d:\20161010\HTTPS\https_cer.keystore

  • ③匯出證書
keytool -export -alias https_cer -file d:\20161010\HTTPS\https_cer.crt -keystore d:\20161010\HTTPS\https_cer.keystore

  • ④匯入證書資訊
keytool -import -keystore https_cer -file d:\20161010\HTTPS\https_cer.crt 

  • ⑤檢視證書資訊
keytool -printcert -file "d:\20161010\HTTPS\https_cer.crt" 

此時:證書已經生成,可以配置了。

4、Warning警告消除

有的電腦生成過程中總會有Warning的警告,雖然不會影響,但是看著不爽。對於一個強迫症來說,必須幹掉。

5、tomcat配置

tomcat下的server.xml預設https配置是註釋掉的,需要放開。(找埠為8443的connector的標籤)

<Connector SSLEnabled="true" clientAuth="false" keystoreFile="d:\20161010\HTTPS\https_cer.keystore" keystorePass="testtest1" maxThreads="150" port="443" protocol="org.apache.coyote.http11.Http11Protocol" scheme="https" secure="true" sslProtocol="TLS"/>

特別說明:將8443埠改成443埠,因為443為https的預設埠。否則訪問的時候,必須加8443端口才能訪問,改成443之後就可以省略不寫,像http協議80埠類似。

啟動專案就可以正常訪問了   

6、番外篇

有些文件中指出除上述之外需要配置web.xml,在web.xml中配置資源:

<security-constraint>

    <web-resource-collection>

        <web-resource-name>my-secure-app</web-resource-name>

        <url-pattern>/*</url-pattern>

    </web-resource-collection>

    <user-data-constraint>

        <transport-guarantee>CONFIDENTIAL</transport-guarantee>

    </user-data-constraint>

</security-constraint>

但是,筆者發現沒有配置依然可以使用https,所以直接放棄了。有興趣的朋友可以研究研究,筆者偷懶了...

7、參考文件

技術部落格:http://ln-ydc.iteye.com/blog/1335213;https://www.cnblogs.com/hanxs4/p/7246069.html

--END