linux下運用Openssl簽發證書詳解。
首先需要安裝openssl。
openssl的配置檔案是openssl.cnf,我們一般就是用預設配置就可以。如果證書有特殊要求的話,可以修改配置適應需求。這樣必須把相關的檔案放到配置檔案指定的目錄下面。
首先需要利用openssl生成根證書,以後的伺服器端證書或者客戶端證書都用他來簽發,可以建立多個根證書。
第一步
1,生成根證書的私鑰
$ openssl genrsa -out /home/yangxueliang/ca.key
2 利用私鑰生成一個根證書的申請,一般證書的申請格式都是csr。所以私鑰和csr一般需要儲存好
$ openssl req -new -key /home/lengshan/ca.key -out /home/lengshan/ca.csr
3 自簽名的方式簽發我們之前的申請的證書,生成的證書為ca.crt。
openssl x509 -req -days 3650 -in /home/lengshan/ca.csr -signkey /home/lengshan/ca.key -out /home/lengshan/ca.crt
4 為我們的證書建立第一個序列號,一般都是用4個字元,這個不影響之後的證書頒發等操作
echo FACE(01) > /home/yangxueliang/serial。
5 建立ca的證書庫,不影響後面的操作,預設配置檔案裡也有儲存的地方。
touch /home/yangxueliang/index.txt
6 建立證書回收列表儲存失效的證書
openssl ca -gencrl -out /home/lengshan/ca.crl -crldays 7
---已上就完成了根證書的相關操作,下一步可以頒發證書了。
---生成和簽發伺服器身份驗證證書,注意證書是自簽名的,瀏覽器會提示不受信任
第二步
1,建立伺服器驗證證書的私鑰
openssl genrsa -out /home/lengshan/server.key
2,生成證書申請檔案
openssl req -new -key /home/lengshan/server.key -out /home/lengshan/server.csr
3,利用根證書籤發伺服器身份驗證證書openssl ca -in /home/lengshan/server.csr -cert /home/lengshan/ca.crt -keyfile /home/lengshan/ca.key -out /home/lengshan/server.crt
openssl pkcs12 -export -clcerts -in /home/lengshan/server.crt -inkey /home/lengshan/server.key -out
第三步 簽發客戶端身份認證證書
1,生成私鑰
openssl genrsa -des3 -out /home/lengshan/users/1/1.key 1024
2,生成證書請求檔案
openssl req -new -key /home/lengshan/users/1/1.key -out /home/lengshan/users/1/1.csr
3,簽發證書
openssl ca -in /home/lengshan/users/1/1.csr -cert /home/lengshan/ca.crt -keyfile /home/lengshan/users/1/1.crt
4,生成pfx格式
openssl pkcs12 -export -clcerts -in /home/lengshan/users/1/1.crt -inkey /home/lengshan/users/1/1.key -out /home/lengshan/users/1/1.p12
客戶端證書完成,注意如果在web伺服器上使用客戶端證書,需要在web伺服器上使用根證書對客戶端進行驗證,切記!