使用OpenSSL API安全程式設計

2021-06-20 02:57:31 字數 1392 閱讀 6466

首先我們需要使用openssl建立必須的檔案,包括

1.ca.crt ca簽名證書,用來驗證服務端的證書。

2.server.key 服務端秘鑰檔案。

3.server.crt 服務端證書,在ssl握手階段,這個證書會發往客戶端,客戶端使用ca.crt驗證。

4.如果伺服器也要驗證客戶端的話,客戶端也必須有對應的client.key和client.crt檔案。

生成ca檔案

openssl req -new -x509 -keyout ca.key -out ca.crt

這個會生成ca.key和ca.crt檔案。

生成伺服器端的私鑰(key檔案):

openssl genrsa -des3 -out server.key 1024

執行時會提示輸入密碼,此密碼用於加密key檔案(引數des3便是指加密演算法,當然也可以選用其他你認為安全的演算法.),以後每當需讀取此檔案(通過openssl提供的命令或api)都需輸入口令.如果覺得不方便,也可以去除這個口令,但一定要採取其他的保護措施!

去除key檔案口令的命令:

openssl rsa -in server.key -out server.key

openssl req -new -key server.key -out server.csr -config openssl.cnf

生成certificate signing request(csr),生成的csr檔案交給ca簽名後形成服務端自己的證書.螢幕上將有提示,依照其指示一步一步輸入要求的個人資訊即可.

對客戶端也作同樣的命令生成key及csr檔案:

openssl genrsa -des3 -out client.key 1024

openssl req -new -key client.key -out client.csr -config openssl.cnf

csr檔案必須有ca的簽名才可形成證書.可將此檔案傳送到verisign等地方由它驗證,要交一大筆錢,何不自己做ca呢.

openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf

ca給證書請求檔案簽名

openssl x509 -req -days 30 -in server.csr -ca ca.crt -cakey ca.key -cacreateserial -out server.crt

現在我們所需的全部檔案便生成了.

client使用的檔案有:ca.crt,client.crt,client.key

server使用的檔案有:ca.crt,server.crt,server.key

.crt檔案和.key可以合到乙個檔案裡面,本人把2個檔案合成了乙個.pem檔案(直接拷貝過去就行了)

待續。。。

實驗二 OpenSSL API使用

參考openssl 1.1.1 新特性 全面支援國密sm2 sm3 sm4加密演算法呼叫openssl api 0 推薦在openeuler中實現 參考第三節 1 提交相關 碼雲 或github 鏈結 2 提交不少於6張編譯測試過程截圖 3 至少包含sm4,sm3的測試 編譯測試過程截圖 編譯測試過...

First使用CSDN markdown編輯器

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...

Android使用MediaCodec編碼AAC

關於mediacodec mediacodec 是android系統提供的硬體編碼器,它可以利用裝置的硬體來完成編碼,從而提高編碼效率,並可以減輕cpu壓力降低電量的使用,但是必須是4.1以上的系統才可以使用。mediacodec編碼出來的aac資料是裸的aac,即aac的原始資料塊,乙個aac原始...