https://blog.csdn.net/gary_yan/article/details/77981303spring
一:https的簡單介紹及SSL證書的生成
二:https的SSL證書在服務器端的部署,基於tomcat,spring boot
三:讓服務器同時支持http、https,基於spring boot
四:https的SSL證書在Android端基於okhttp,Retrofit的使用數據庫
全部文章會優先在:
微信公衆號「顏家大少」中發佈
以後才發佈到下面博客中:
顏家大少的博客 :http://blog.csdn.net/gary_yan
轉載請標明出處tomcat
CA證書的下載及相應文件的介紹
CA證書在tomcat的部署
CA證書在spring boot的部署
自簽名證書的部署安全
在「Https系列之一:https的簡單介紹及SSL證書的生成」 中已介紹的自簽名證書和CA證書的生成
其中有提到一個重要文件:keystore文件
回顧一下keystore是幹什麼的:
keystore可理解爲一個數據庫,能夠存不少個組數據。
每組數據主要包含下面兩種數據:
a:密鑰實體(Key entity)——密鑰(secret key)又或者是私鑰和配對公鑰(採用非對稱加密)
b:可信任的證書實體(trusted certificate entries)——只包含公鑰
那咱們如今要作的就是把keystore文件部署到服務器中就OK了服務器
在阿里雲生成的針對tomcat服務器CA證書在申請成功後,
只要以下圖,選「下載」->」tomcat」->」下載證書for Tomcat」
就能下載相應的tomcat證書文件。
順便補充一下,在上圖中,除了Tomcat外,還能夠針對其它的服務器下相應的證書,
如:Nginx,Apache,IIS等,有須要的請自行研究。
下載的文件以下:
微信
1): *.pfx爲keystore文件,服務器用的就是這個文件
2): pfx-password.txt裏包含有keystore所用到的密碼
3): *.key裏面包含的是私鑰,暫時沒用到此文件
4): *.pem裏面包含的是公鑰,主要給客戶端app
上圖中的」下載證書for Tomcat」那個頁面有對Tomcat服務器的詳細配置
以下:
1):在Tomcat的安裝目錄下建立cert目錄,而且將下載的所有文件拷貝到cert目錄中測試
2):找到安裝Tomcat目錄下該文件server.xml,通常默認路徑都是在 conf 文件夾中。找到阿里雲
keystoreFile="cert/*.pfx" keystoreType="PKCS12" #此處的證書密碼,請參考pfx-password.txt中的密碼 keystorePass="證書密碼"
完整的配置以下,其中port屬性根據實際狀況修改:加密
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" scheme="https" secure="true" keystoreFile="cert/*.pfx" keystoreType="PKCS12" keystorePass="證書密碼" clientAuth="false" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
spring boot由於是內嵌了tomcat的,理論上對tomcat的配置是同樣的
只不過spring boot有更簡單的配置方法
1): 把*.pfx copy到工程相應的resources下面
2):修改resources\application.properties,增長以下屬性
server.port=443 server.ssl.key-store=classpath:*.pfx server.ssl.key-store-password=證書密碼 server.ssl.keyStoreType=PKCS12
其實自簽名證書的配置和CA證書的配置同樣
只不過:
1:把*.pfx換成你以前生成的keystore.p12
2:把密碼換成你以前生成keystore所用的密碼,如在上一節中設置的:123456
spring boot環境下,除了增長上面的配置外,並不須要增長任何一句代碼。
好吧,重要的時刻來了,運行服務器,輸入https網址
CA證書的以下圖,開心吧,你喜歡的綠色的安全標誌 :P :
自簽證書的以下圖,顯示不安全呵,但可點「高級」->」繼續訪問「去訪問:
更多內容請看:Https系列之三:讓服務器同時支持http、https,基於spring boot