美好的一天!
使用本地證書頒發機構,我們可以頒發證書並驗證這些證書上的簽名。
發給使用者憑證時,憑證授權單位使用特殊的憑證要求 Pkcs#10,其檔案格式為「.csr」。 該請求包含認證機構知道如何正確解析的編碼序列。 該請求包含使用者的公鑰和用於建立憑證的資料(包含使用者資料的關聯數組)。
我們將在下一篇文章中討論如何接收憑證要求,在本文中我想給予憑證授權單位的主要命令,這些命令將幫助我們完成後端的任務。
所以首先我們必須建立一個憑證。 為此,我們使用以下命令:
openssl ca -batch -in user.csr -out user.crt
ca 是與憑證授權單位相關的 openSSL 指令,
-batch - 產生憑證時取消確認要求。
user.csr — 建立憑證的請求(.csr 格式的檔案)。
user.crt - 憑證(指令的結果)。
為了使該命令起作用,必須完全按照描述配置證書頒發機構
證書驗證指令:
openssl cms -verify -in authenticate.cms -inform PEM -CAfile /Users/……/demoCA/ca.crt -out data.file
cms 是一個 openSSL 指令,用於使用 openSSL 進行簽署、驗證、加密資料和其他加密操作。
-verify - 在這種情況下,我們驗證憑證。
authenticate.cms - 包含使用上一個指令所發出的憑證所簽署的資料的檔案。
-通知 PEM - 使用 PEM 格式。
-CAfile /Users/……/demoCA/ca.crt - 根憑證的路徑。 (沒有這個命令對我不起作用,儘管 ca.crt 的路徑寫在 openssl.cfg 檔案中)
-out data.file — 我將解密的資料傳送到檔案 data.file。
後端使用憑證授權單位的演算法如下:
- 用戶註冊:
- 我們收到建立證書並將其保存到 user.csr 檔案的請求。
- 我們將本文的第一個命令儲存到副檔名為 .bat 或 .cmd 的檔案中。 我們透過程式碼執行此文件,之前已將建立證書的請求儲存到 user.csr 文件中。 我們收到一個帶有 user.crt 證書的檔案。
- 我們讀取 user.crt 檔案並將其傳送給客戶端。
- 用戶授權:
- 我們從客戶端接收簽名資料並將其儲存到authenticate.cms 檔案中。
- 將本文的第二個指令儲存到副檔名為 .bat 或 .cmd 的檔案中。 我們從程式碼執行此文件,之前已將來自伺服器的簽章資料保存在authenticate.cms 中。 我們收到一個包含解密資料 data.file 的檔案。
- 我們讀取 data.file 並檢查該資料的有效性。 描述了具體要檢查的內容
在第一篇文章中 。 如果資料有效,則認為使用者授權成功。
要實作這些演算法,您可以使用任何用於編寫後端的程式語言。
在下一篇文章中,我們將了解如何使用 Retoken 外掛程式。
謝謝你的關注!
來源: www.habr.com