https是基於tls/ssl的安全套接字應用層協議,除了傳輸層進行加密外,其它與常規http協議基本保持一致。所以此處主要介紹後面的tls/ssl和證書。
tls協議的基本思路是採用非對稱加密的演算法,客戶端先獲取到伺服器端的公鑰,然後用公鑰加密資訊,伺服器端收到密文後,用自己的私鑰解密。
tls協議基本過程 :
這裡,存在兩個問題:
加密通訊,所有的資訊加密傳輸,第三方無法竊聽。
一般證書有三種格式:
openssl使用x509命令生成證書。自己製作證書有兩種方式:一種是self signed,另一種是生成自己的ca,然後由這個ca來發布需要的證書。這裡需要區分兩個概念:證書(certificate)和證書請求(certificate sign request)
self signed證書
tls基於ca的身份認證的基本原理 每次輸入密碼太繁瑣,可以把key的保護密碼去掉。
openssl rsa -in privatekey.key -out server.key
.insecure
# 檢視key資訊
> openssl rsa -noout -text -in selfsign.key
# 檢視csr資訊
> openssl req -noout -text -in selfsign.csr
# 檢視證書資訊
> openssl x509 -noout -text -in selfsign.crt
# 驗證證書
# 會提示self signed
> openssl verify selfsign.crt
# 因為root.crt 是由test.crt發布的,所以會驗證成功
> openssl verify -cafile test.crt root.crt
HTTPS SSL TLS協議原理
https 協議的實現原理 1 大致了解幾個基本術語 https ssl tls 的含義 2 大致了解 http 和 tcp 的關係 尤其是 短連線 vs 長連線 3 大致了解加密演算法的概念 尤其是 對稱加密與非對稱加密 的區別 4 大致了解 ca 證書的用途 1.http 簡介 http 是乙個...
購買網域名稱以及申請證書
上次嘗試進行定位,發現想要準確用gps定位,就只能用安全的https協議,而想要配置這個協議,就需要申請乙個免費的證書,這個證書必須繫結自己的網域名稱,沒辦法,從網域名稱開始下手。之後找到nginx.conf所在的位置,在那個路徑下面新建乙個cert資料夾,將之前申請的證書檔案解壓後放進去。這樣就剩...
證書的格式以及證書的知識點
在ios中是不能去使用pem格式的證書的,而openssl預設生成的都是pem格式的證書 在ios開發中需要用到的是der格式的證書也就是二進位制編碼格式的,而pem則是base64編碼格式的 der檔案一般是包含公鑰和一些其他的資訊 以.p12為字尾的證書中包含私鑰 公鑰及其證書,還有就是我們匯出...