本文主要是對網上資源的一些列舉和總結,主要涉及的內容有以下幾點:
非對稱加密,對稱加密,摘要演算法
非對稱加密
主要演算法有:rsa,diffie-hellman演算法
對稱加密
主要演算法有:des演算法等
摘要演算法
主要演算法有:md5,sha1,sha256
題外話,google在2023年2月23日宣布攻破sha-1加密技術,具體可參考google震驚密碼界:攻破sha-1加密技術, 但是也是非常費電費時的,不過保險起見,還是使用sha256等更加不容易破解的加密方法。
數字簽名和數字證書
關於數字簽名和數字證書,阮一峰老師的這篇文章描寫的非常清晰。 我自己有如下一些認知:
數字簽名就相當於是用自己的私鑰對發布的內容進行加密後得到的密文(此處一般為了提高效率,一般會先對原文進行摘要加密,然後在對密文進行簽名)
數字證書是為了解決客戶端的公鑰有可能被篡改,從而偽造中間人的問題。通過第三方ca認證機構簽發證書,從而保證證書中的發布者的公鑰是正確的。 數字證書會包含以下內容:
ssl/tls
ssl/tls的具體流程可參考阮一峰老師的文章:ssl/tls協議執行機制的概述 和 **ssl/tls協議,我的一些總結筆記如下:
ios中簽名,證書總結
關於ios簽名相關的內容,漫談ios程式的證書和簽名機制中的圖和描述很好,可供參考。 以下是我的一些總結內容。
(一)蘋果生成證書具體是幹了什麼?
開發者在本地做成certificatesigningrequest檔案,其實就是生成公鑰私鑰,私鑰儲存在本地,公鑰會在csr檔案中,用於上傳。
(二)蘋果系統如何驗證證書?
系統會拿到證書中的明文資訊,然後進行雜湊加密,得到雜湊結果a
系統使用wwdr公鑰對證書中的簽名資訊進行解密,得到摘要資訊b
如果a和b相同的話,那麼說明證書沒有被篡改,從而可以拿出證書中的開發者的公鑰,用於驗證**簽名
(三)**簽名在幹什麼?
**簽名就是使用開發者的私鑰對**中的每個檔案進行簽名,然後把簽名的結果放到乙個檔案中_codesignature/coderesources
(四)ios系統如何驗證程式包?
確認描述檔案沒有被篡改過(方法同上面的(二))
如果描述檔案正常,那麼拿出描述檔案中的證書資訊,從證書中可以拿到開發者的公鑰
使用開發者的公鑰對_codesignature/coderesources
中的簽名進行解密,同時對指定的檔案進行摘要加密,比對雙方的結果
參考鏈結部落格中提出的一些命令總結
列出系統中可用於簽名的有效證書:
security find-identity -v -p codesigning
檢視蘋果生成的證書中具體有哪些內容:
openssl x509 -inform der -in ios_development.cer -noout -text
檢視certificatesigningrequest檔案中有啥內容:
openssl asn1parse -i -in certificatesigningrequest.certsigningrequest
檢視描述檔案內容:
security cms -d -i embedded.mobileprovision
將描述檔案中的developercertificates中的證書單獨copy到乙個檔案中,組織成如下格式後,
# 這裡要注意每行是64個字元,然後要有換行
-----begin certificate-----
miifnjccbiagawibagiie/igvittuh4wdqyjkozihvcnaqefbqawgzyxcza…
-----end certificate-----
可通過命令檢視:
openssl x509 -text -in file.pem
驗證簽名是否完好:
參考鏈結
數字簽名是什麼--阮一峰
漫談ios程式的證書和簽名機制
**簽名探析
ios code signing 學習筆記
(the end)
數字簽名和數字證書
到底什麼是 數字簽名 digital signature 和 數字證書 digital certificate 對這些問題的理解,一直模模糊糊,很多細節搞不清楚。今天,讀完一篇 通俗易懂的文章後,思路豁然開朗。為了加深記憶,這篇文章的翻譯版記錄如下。1.鮑勃有兩把鑰匙,一把是公鑰,另一把是私鑰。2....
數字簽名和數字證書
其實數字簽名的概念很簡單。大家知道,要確保可靠通訊,必須要解決兩個問題 首先,要確定訊息的 確實是其申明的那個人 其次,要保證資訊在傳遞的過程中不被第三方篡改,即使被篡改了,也可以發覺出來。所謂數字簽名,就是為了解決這兩個問題而產生的,它是對前面提到的非對稱加密技術 與數字摘要 技術的乙個具體的應用...
數字簽名和數字證書
英文 為 到底什麼是 數字簽名 digital signature 和 數字證書 digital certificate 對這些問題的理解,一直模模糊糊,很多細節搞不清楚。今天,讀完一篇 通俗易懂的文章後,思路豁然開朗。為了加深記憶,這篇文章的翻譯版記錄如下。1.鮑勃有兩把鑰匙,一把是公鑰,另一把是...