ubuntu CA安裝 證書申請
1. 安裝 :apt-get install openssl
2. 修改配置檔案:
注意不同於網上,位置在:/usr/lib/ssl/openssl.cnf,
將以下項改為自己的位置
dir = /home/ubuntu/pki/demoCA # 自己的位置
3. 建立目錄
cd /home/ubuntu/pki/demoCA
mkdircerts、crl、newcerts、private
touch index.txt
echo 01 > serial
4. 首先需要生成自前證書
1) 生成私鑰:
cd private #注意和 openssl.cnf相關,也就是私鑰在private 目錄中
openssl genrsa -out cakey.pem 2048 #cakey.pem 名字在openssl.cnf相關
2)生成證書請求,並自籤
執行以下命令,注意cacert.pem名字和位置與配置檔案相關
openssl req -new -x509 -key ./private/cakey.pem -days 7300 -out cacert.pem
引數說明:
-new:生成新證書籤署請求
-x509:專用於CA生成自簽證書
-key:生成請求時用到的私鑰檔案
-days n:證書的有效期限
-out /PATH/TO/SOMECERTFILE:證書的儲存路徑
要輸入國家名、省份名、地區(市)名、組織或公司名、部門名、伺服器名、Email地址
注意 組織,公司名。
5.申請證書
可以建立一個目錄或者另外一臺機器上。
本例:mkdir test
1)建立私鑰:
openssl genrsa -out nginx.key 2048
將建立私鑰檔案:nginx.key
2)生成公鑰
openssl req -new -key nginx.key -out nginx.csr
3) 由CA伺服器簽名
openssl ca -in nginx.csr -out nginx.crt -days 365
簽名時注意不成功錯誤, 組要是組織(Organization Name)等選項要和第4步的自簽證書要一致。
注意:上述1)、2)為客戶端自己生成,3)才是CA伺服器的簽名頒發,因此可以現在客戶端生成**.csr檔案,然後複製(scp)到CA伺服器,再執行第3步。
名詞解釋:
CSR是CertificateSigningRequest的縮寫,即證書籤名請求,這不是證書,可以簡單理解成公鑰,生成證書時要把這個提交給權威的證書頒發機構。
CRT即 certificate的縮寫,即證書
可以使用以下方式將pem轉換為crt:
openssl x509 -outform der -in cacert.pem -out cacert.crt
6. 產生公鑰為橢圓曲線ECC型別的證書
1) 產生私鑰:
openssl ecparam -out Ecctest.key -name prime256v1 -genkey
2)
2)生成公鑰
openssl req -new -key Ecctest.key -out Ecctest.csr
3) 由CA伺服器簽名
openssl ca -in Ecctest.csr -out Ecctest.crt -days 365
7 產生dsa型別的證書openssl dsaparam -genkey 512 -out dsa_test.key
openssl req -new -key dsa_test.key -out Dsa_test.csr
openssl ca -in Dsa_test.csr -out dsa_test.crt -days 365