openssl生成秘鑰

2021-06-26 16:38:25 字數 1606 閱讀 6403

老大要我在web server裡面加上https功能,可是但就使用openssl生成證書就耗費了我兩天時間,網上有很多相關的資料,但是都寫的很複雜, 照著他們的來,還是走了很多彎路。

我總結一下,步驟主要有:

cd   /usr/local/ssl

二、拷貝openssl.cnf,把ssl下的openssl.cnf拷貝到你的工作目錄下去,就是你要生成證書的目錄,我的是/home/yinlijun/projects/server/

cp  openssl.cnf  /home/yinlijun/projects/server

三、在工作目錄下建立乙個democa的資料夾, 新建兩個檔案,index.txt serial , 再在democa下建立乙個newcerts的資料夾

mkdir democa

cd democa

touch ./

四、在serial裡面加兩個字元01

vi serial

然後在裡面輸入01這兩個字元

:wq 退出

到這裡 ,準備工作已經就緒, 可以開始生成需要的金鑰和證書了,按照下面一步步來吧, 以下摘自

1.首先要生成伺服器端的私鑰(key檔案):

openssl genrsa -des3 -out server.key 1024

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

去除key檔案口令的命令:

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

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

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

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

openssl genrsa -des3 -out client.key 1024

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

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

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

5.用生成的ca的證書為剛才生成的server.csr,client.csr檔案簽名:

openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf

openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cnf

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

C 呼叫openssl庫生成RSA加密秘鑰對

直接上 預設生成的是pkcs 1格式 rsa非對稱加解密 define key length 1024 金鑰長度 define pub key file pubkey.pem 公鑰路徑 define pri key file prikey.pem 私鑰路徑 函式方法生成金鑰對 void genera...

git 生成秘鑰

cpp view plain copy permission denied publickey fatal the remote end hung up unexpectedly 應該是ssh key過期了吧 試著重新建立ssh key,按以下步驟 cpp view plain copy ssh k...

附錄 生成SSH秘鑰

附錄 生成ssh秘鑰 ssh是建立在應用層和傳輸層基礎上的安全協議,其目的是專為遠端登入會話和其他網路服務提供安全性的保障,用過ssh遠端登入的人都比較熟悉,可以認為ssh是一種安全的shell。http登入是需要使用者名稱和密碼的,要實現無密碼登入,就需要建立ssh 金鑰 ssh key ssh ...