發(fā)表日期:2018-09 文章編輯:小燈 瀏覽次數:2581
HTTPS 是http的擴展,簡單來說就是在 HTTP 協(xié)議基礎上加了一層TLS/ SSL 加密協(xié)議。
Hypertext Transfer Protocol Secure (HTTPS) is an extension of the Hypertext Transfer Protocol (HTTP) for secure communication over a computer network, and is widely used on the Internet.[1][2] In HTTPS, the communication protocol is encrypted using Transport Layer Security (TLS), or formerly, its predecessor, Secure Sockets Layer (SSL). The protocol is therefore also often referred to as HTTP over TLS,[3] or HTTP over SSL.
摘自Wikipedia HTTPS
兩種保護通信安全和數據完整性的協(xié)議,可以當做并列,前后關系。
傳輸層安全性協(xié)議(Transport Layer Security),及其前身安全套接層(Secure Sockets Layer)是一種安全協(xié)議,目的是為互聯(lián)網通信提供安全及數據完整性保障。
摘自Wikipedia TLS
證書由第三方 CA 認證機構頒發(fā),網站所有者向 CA 機構申請證書,證書中包含了公鑰、頒證機構、網址、失效日期。如果網站使用假冒證書,瀏覽器向 CA 認證機構發(fā)送證書是否合法的請求,如果檢測非法證書,瀏覽器可以直接斷開請求。
簡而言之,證書是服務器端和客戶端安全通信的憑證。
根據不同的服務器以及服務器的版本,我們需要用到不同的證書格式,就市面上主流的服務器來說,大概有以下格式:
具體可查看SSL證書格式普及。
一般本地測試使用這種方法
由于我使用tomcat作為web容器,這里就用java自帶keytool工具生成。
keytool -genkey -alias cas -keyalg RSA -keysize 2048-keypass changeit -storepass changeit -keystore httptestkian.jks-dname "CN=http://httptestkian.com/,OU=httptestkian.com,O=httptestkian,L=httptestkian,ST=httptestkian,C=CN"
使用的參數含義
參數名稱 | 參數含義 |
---|---|
-genkey | 在用戶主目錄中創(chuàng)建一個默認文件”.keystore”,還會產生一個mykey的別名,mykey中包含用戶的公鑰、私鑰和證書 |
-alias | 產生別名 缺省值”mykey” |
-keyalg | 指定密鑰的算法 (如 RSA DSA(如果不指定默認采用DSA)) |
-keysize | 指定密鑰長度 缺省值1024 |
-keypass | 指定別名條目的密碼(私鑰的密碼) |
-storepass | 指定密鑰庫的密碼(獲取keystore信息所需的密碼) |
-keystore | 指定密鑰庫的名稱(產生的各類信息將不在.keystore文件中) |
-dname | 指定證書擁有者信息 例如: “CN=名字與姓氏,OU=組織單位名稱,O=組織名稱,L=城市或區(qū)域名稱,ST=州或省份名稱,C=單位的兩字母國家代碼” |
再列一些keytool常用的例子
# 把密鑰庫導出成證書文件 keytool -export -alias cas.server.com -keystore casServer.keystore -file casServer.crt -storepass changeit # 查看證書 keytool -printcert -file casServer.crt # 將創(chuàng)建過的證書導入java的cacerts證書庫(需要管理員權限) # 切換到目錄 ${JAVA_HOME}/jre/lib/security keytool -import -alias cas.server.com -keystore cacerts -file casServer.keystore # 查看JDK證書內容 keytool -list -v -keystore cacerts -alias cas.server.com # 根據 alias 別名刪除 JDK 證書, JDK證書目錄: cd 'C:\Program Files (x86)\Java\jdk1.8.0_172\jre\lib\security\' keytool -delete -alias cas.server.com -keystore cacerts
如果對命令不熟悉,可以使用在線工具CSR在線生成工具生成
一般是收費的,但是指定域名一年使用騰訊阿里都可以免費生成,前提條件是你擁有一個域名。
比如說騰訊云,SSL免費購買鏈接
修改conf/server.xml文件
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig><Certificate certificateKeystoreFile="D:/temp/httptestkian.com.jks"certificateKeystorePassword="changeit" type="RSA" /></SSLHostConfig> </Connector>
重啟tomcat服務,瀏覽器中輸入https://localhost:8443/cas/login
在conf/web.xml中</welcome-file-list>節(jié)點后面添加
<login-config> <!-- Authorization setting for SSL --> <auth-method>CLIENT-CERT</auth-method> <realm-name>Client Cert Users-only Area</realm-name> </login-config> <security-constraint> <!-- Authorization setting for SSL --> <web-resource-collection> <web-resource-name>SSL</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>
如有疑問,歡迎留言共同探討。
日期:2018-04 瀏覽次數:6777
日期:2017-02 瀏覽次數:3456
日期:2017-09 瀏覽次數:3676
日期:2017-12 瀏覽次數:3544
日期:2018-12 瀏覽次數:4843
日期:2016-12 瀏覽次數:4595
日期:2017-07 瀏覽次數:13659
日期:2017-12 瀏覽次數:3522
日期:2018-06 瀏覽次數:4279
日期:2018-05 瀏覽次數:4458
日期:2017-12 瀏覽次數:3570
日期:2017-06 瀏覽次數:3995
日期:2018-01 瀏覽次數:3958
日期:2016-12 瀏覽次數:3925
日期:2018-08 瀏覽次數:4441
日期:2017-12 瀏覽次數:3733
日期:2016-09 瀏覽次數:6453
日期:2018-07 瀏覽次數:3223
日期:2016-12 瀏覽次數:3241
日期:2018-10 瀏覽次數:3396
日期:2018-10 瀏覽次數:3503
日期:2018-09 瀏覽次數:3593
日期:2018-02 瀏覽次數:3611
日期:2015-05 瀏覽次數:3538
日期:2018-09 瀏覽次數:3318
日期:2018-06 瀏覽次數:3448
日期:2017-02 瀏覽次數:3884
日期:2018-02 瀏覽次數:4347
日期:2018-02 瀏覽次數:4191
日期:2016-12 瀏覽次數:3587
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.