利用OpenSSL創建自簽名的SSL證書備忘


轉自http://wangye.org/blog/archives/732/

之前申請的StartSSL免費一年的證書到期了,考慮到我對SSL一般僅用於博客登錄和后台管理上面,所以不打算續申請,自己創建一個就足夠了。

本來想使用Windows下的makecert實用工具創建的,結果折騰了很久導入到Linux服務器上,服務器沒有正確識別,遂放棄,轉而使用OpenSSL,收集了網上的一些材料,通過下面的方法創建成功:

1. SSH登錄到服務器,使用下述命令創建根證書的私匙:

openssl genrsa -out ca.key 2048

網上很多是使用了1024,我這里強度加強到了2048。

 

2. 利用私鑰創建根證書:

openssl req -new -x509 -days 36500 -key ca.key -out ca.crt -subj \
"/C=CN/ST=Jiangsu/L=Yangzhou/O=Your Company Name/OU=Your Root CA"

這里/C表示國家(Country),只能是國家字母縮寫,如CN、US等;/ST表示州或者省(State/Provice);/L表示城市或者地區(Locality);/O表示組織名(Organization Name);/OU其他顯示內容,一般會顯示在頒發者這欄。

到這里根證書就已經創建完畢了,下面介紹建立網站SSL證書的步驟:

3. 創建SSL證書私匙,這里加密強度仍然選擇2048:

openssl genrsa -out server.key 2048位

4. 利用剛才的私匙建立SSL證書:

openssl req -new -key server.key -out server.csr -subj \
"/C=CN/ST=Jiangsu/L=Yangzhou/O=Your Company Name/OU=wangye.org/CN=wangye.org"

這里需要注意的是,/O字段內容必須與剛才的CA根證書相同;/CN字段為公用名稱(Common Name),必須為網站的域名(不帶www);/OU字段最好也與為網站域名,當然選擇其他名字也沒關系。

5. 做些准備工作:

mkdir demoCA
cd demoCA
mkdir newcerts
touch index.txt
echo '01' > serial
cd ..

注意cd ..,利用ls命令檢查一下是不是有個demoCA的目錄。

6. 用CA根證書簽署SSL自建證書:

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

接下來有一段提示,找到Sign the certificate? [y/n]這句,打入y並回車,然后出現out of 1 certificate requests certified, commit? [y/n],同樣y回車。

好了,現在目錄下有兩個服務器需要的SSL證書及相關文件了,分別是server.crt和server.key,接下來就可以利用它們配置你的服務器軟件了。

需要注意的是由於是自簽名證書,所以客戶端需要安裝根證書,將剛才第2步創建的根證書ca.crt下載到客戶端,然后雙擊導入,否則會提示不受信任的證書發布商問題。

通常情況下私人或者內部用的話,自建證書已經綽綽有余了,但是如果你的產品面向的是大眾,那就花點銀子去買正規的SSL證書吧,可不能學某售票系統強制要求安裝自建的根證書哦。

 
若無特別說明,本網站文章均為原創,原則上這些文章不允許轉載,但是如果閣下是出於研究學習目的可以轉載到閣下的個人博客或者主頁,轉載遵循 創作共同性“署名-非商業性使用-相同方式共享”原則,請轉載時 注明 作者出處謝絕商業性、非署名、采集站、垃圾站或者純粹為了流量的轉載。謝謝合作!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM