code:
[copy to clipboard]
#rpm –e –-nodeps openssl
3、解壓:
code:
[copy to clipboard]
#tar xzvf openssl-0.9.7e.tar.gz
4、進入openssl目錄,並安裝,用--prefix指定openssl安裝目錄
code:
[copy to clipboard]
#cd openssl-0.9.7e
#./config --prefix=/usr/local/openssl
#make
#make test
#make install
5、安裝apache
解壓後進入apache目錄,根據需要安裝需要的模組,我這裡裝了ssl,rewrite,動態模式安裝
步驟二:簽證
安裝openssl後,在openssl下有乙個ca.sh檔案,就是利用此檔案來簽證,
來籤三張證書,然後利用這三張證書來布ssl伺服器。
1、在/usr/local/apache/conf下,建立乙個ssl.crt目錄,將ca.sh檔案copy至/usr/local/apache/conf/ssl.crt/目錄
code:
[copy to clipboard]
[root@win ssl]# cp /usr/local/openssl/ssl/misc/ca.sh /usr/local/apache/conf/ssl.crt/ca.sh
2、執行ca.sh -newca,他會找你要ca需要的乙個ca自己的私有金鑰密碼檔案。如果沒有這個檔案?按回車會自動建立,輸入密碼來保護這個密碼檔案。之後會要你的乙個公司資訊來做ca.crt檔案。最後在當前目錄下多了乙個./democa這樣的目錄../democa/private/cakey.pem就是ca的key檔案啦,./democa/cacert.pem就是ca的crt檔案了
code:
[copy to clipboard]
[root@win ssl.crt]# ./ca.sh -newca
要求輸入如下資訊:
quote:
country name (2 letter code) [gb]:cn
state or province name (full name) [berkshire]:fujian
locality name (eg, city) [newbury]:fuzhou
organization name (eg, company) [my company ltd]:fjjm
organizational unit name (eg, section) :fd
common name (eg, your name or your server's hostname) :win
email address :[email protected]
這樣就建好了乙個ca伺服器,有了乙個根證書的私鑰cakey.pem及一張根證書cacert.pem,現在就可以cacert.pem來給簽證了
3、簽署伺服器證書
生成伺服器私鑰:
code:
[copy to clipboard]
[root@win ssl.crt]# openssl genrsa -des3 -out server.key 1024
生成伺服器證書請求
code:
[copy to clipboard]
[root@win ssl.crt]# openssl req -new -key server.key -out server.csr
會要求輸入資訊
code:
[copy to clipboard]
country name (2 letter code) [gb]:cn
state or province name (full name) [berkshire]:fujian
locality name (eg, city) [newbury]:fuzhou
organization name (eg, company) [my company ltd]:fjjm
organizational unit name (eg, section) :fd
common name (eg, your name or your server's hostname) :win
email address :[email protected]
please enter the following 'extra' attributes
to be sent with your certificate request
a challenge password :win
an optional company name :wing
最後把server.crt檔案mv成newreq.pem,然後用ca.sh來簽證就可以了
code:
[copy to clipboard]
[root@win ssl.crt]# mv server.csr newreq.pem
[root@win ssl.crt]# ./ca.sh -sign
這樣就生成了server的證書newcert.pem
把newcert.pem改名成server.crt
code:
[copy to clipboard]
[root@win ssl.crt]# mv newcert.pem server.crt
4、處理客戶端:
生成客戶私鑰:
code:
[copy to clipboard]
[root@win ssl.crt]# openssl genrsa -des3 -out client.key 1024
請求code:
[copy to clipboard]
[root@win ssl.crt]# openssl req -new -key client.key -out client.csr
簽證:code:
[copy to clipboard]
[root@win ssl.crt]# openssl ca -in client.csr -out client.crt
把證書格式轉換成pkcs12格式
code:
[copy to clipboard]
[root@win ssl.crt]# openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.pfx
5、這時就有了三張證書和三個私鑰,乙個是democa下的根證書,ssl.crt下的伺服器證書和客戶證書。及democa/private下的根key,ssl.crt下的伺服器key和客戶key,在conf下的ssl.conf下指定證書的位置和伺服器key的位置.
我是在conf下建立乙個ssl.crt目錄,並將所有的key和證書放到這裡
code:
[copy to clipboard]
#cp democa/cacert.pem cacert.pem
同時複製乙份證書,更名為ca.crt
code:
[copy to clipboard]
#cp cacert.pem ca.crt
步驟三、編輯ssl.conf
code:
[copy to clipboard]
#cd /usr/local/apache/conf
編輯ssl.conf
code:
[copy to clipboard]
指定伺服器證書位置
sslcertificatefile /usr/local/apache/conf/ssl.crt/server.crt
指定伺服器證書key位置
sslcertificatekeyfile /usr/local/apache/conf/ssl.crt/server.key
證書目錄
sslcacertificatepath /usr/local/apache/conf/ssl.crt
根證書位置
sslcacertificatefile /usr/local/apache/conf/ssl.crt/cacert.pem
開啟客戶端ssl請求
sslverifyclient require
sslverifydepth 1
啟動ssl
code:
[copy to clipboard]
/usr/local/apache/bin/apachectl startssl
會要求輸入server.key的密碼
啟動,這樣乙個預設的ssl伺服器及http伺服器就啟動了,
步驟
四、安裝和使用證書
把剛才生成的證書:根證書ca.crt和客戶證書client.pfx下到客戶端,並安裝,
ca.crt安裝到信任的機構,client.pfx直接在windows安裝或安裝到個人證書位置,然後用ip訪問http和https伺服器。
請蠶看我寫的另一篇文章:
openssl自建證書SSL apache
複製 3 解壓 tar xzvf openssl 0.9.7e.tar.gz 複製 4 進入openssl目錄,並安裝,用 prefix指定openssl安裝目錄 cd openssl 0.9.7e config prefix usr local openssl make make test mak...
openssl自建證書SSL apache
本文章在linux9 apache2.0.52,tomcat5.5.6,j2se1.5,openssl0.97上實驗通證 本文的目的是為了交流,如有出錯的地方,請指教 現在開始安裝 首先在安裝之前要明白一些基本概念 1 ssl所使用的證書可以是自己建的生成的,也可以通過乙個商業性ca如verisig...
openssl 自建CA,並簽發證書
第一部分 自建ca 注 為了更好管理自建ca,在下文中,為沒有特殊說明的情況,ca根目錄都是指的自建ca的根目錄。1.建立ca根目錄,並初始化一些檔案 mkdir home myca cd home myca mkdir certs private conf echo 01 serial echo ...