1、安裝openssl
openssl是一個開源的實現加解密和證書的專業系統。
查看使用的系統是否已經安裝openssl: 驗證是否安裝成功亦是如此
(博主使用的是centos自帶openssl)
openssl version -a
如果在聯網狀態下可以使用如下命令安裝openssl
Ubuntu系統安裝openssl:
sudo apt-get install openssl
//安裝openssl-devel
//由於ubuntu下無法安裝openssl-devel 所以使用libssl-dev代替openssl-devel
sudo apt-get install libssl-dev
centos系統下安裝openssl:
//解壓openssl安裝包
[root@localhost opt]# tar xvzf openssl-1.0.0d.tar.gz
//進入解壓後的目錄
[root@localhost opt]# cd openssl-1.0.0d
//修改openssl配置文件
[root@localhost openssl-1.0.0d]# ./configure --prefix=/usr/local/openssl
//編譯代碼
[root@localhost openssl-1.0.0d]# make
//安裝
[root@localhost openssl-1.0.0d]# make install
//安裝curses.h頭文件的庫
sudo apt-get install libncurses5-dev
//所需軟件安裝完畢:openssl、openssl-devel、libncurses5-dev 三個軟件
openssl的配置文件是openssl.cnf,我們一般就是用默認配置就可以。如果證書有特殊要求的話,可以修改配置適應需求。這樣必須把相關的文件放到配置文件指定的目錄下面。
2.頒發證書
ca.crt 爲自簽名證書;
server.crt,server.key 爲服務器端的證書和私鑰文件;
proxy.crt,proxy.key 爲代理服務器端的證書和私鑰文件;
client.crt,client.key 爲客戶端的證書和私鑰文件。
生成根證書私鑰
openssl genrsa -out /home/lengshan/ca.key
#利用私鑰生成一個根證書的申請,一般證書的申請格式都是csr。所以私鑰和csr一般需要保存好
openssl req -new -key /home/lengshan/ca.key -out /home/lengshan/ca.csr
#自簽名的方式簽發我們之前的申請的證書,生成的證書爲ca.crt
openssl x509 -req -days 3650 -in /home/lengshan/ca.csr -signkey /home/lengshan/ca.key -out /home/lengshan/ca.crt
#爲我們的證書建立第一個序列號,一般都是用4個字符,這個不影響之後的證書頒發等操作
echo FACE > /home/lengshan/serial
#建立ca的證書庫,不影響後面的操作,默認配置文件裏也有存儲的地方
touch /home/lengshan/index.txt
#建立證書回收列表保存失效的證書
openssl ca -gencrl -out /home/lengshan/ca.crl -crldays 7
已上就完成了根證書的相關操作,下一步可以頒發證書了。
生成和簽發服務器身份驗證證書,注意證書是自簽名的,瀏覽器會提示不受信任
#建立服務器驗證證書的私鑰
openssl genrsa -out /home/lengshan/server.key
#生成證書申請文件
openssl req -new -key /home/lengshan/server.key -out /home/lengshan/server.csr
#利用根證書籤發服務器身份驗證證書
openssl ca -in /home/lengshan/server.csr -cert /home/lengshan/ca.crt -keyfile /home/lengshan/ca.key -out /home/lengshan/server.crt
至此,服務器端身份認證證書已經完成,可以利用證書和私鑰生成pfx格式的證書給微軟使用,命令如下:
openssl pkcs12 -export -clcerts -in /home/lengshan/server.crt -inkey /home/lengshan/server.key -out
簽發客戶端身份認證證書
#生成私鑰
openssl genrsa -des3 -out /home/lengshan/users/1/1.key 1024
#生成證書請求文件
openssl req -new -key /home/lengshan/users/1/1.key -out /home/lengshan/users/1/1.csr
#簽發證書
openssl ca -in /home/lengshan/users/1/1.csr -cert /home/lengshan/ca.crt -keyfile /home/lengshan/users/1/1.crt
#生成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
客戶端證書完成