證書類別
- 根證書 生成伺服器證書,客戶端證書的基礎。自簽名。
- 伺服器證書 由根證書簽發。配置在伺服器上。
- 客戶端證書 由根證書簽發。配置在伺服器上,並傳送給客戶,讓客戶安裝在瀏覽器裡。
要注意,
1. 伺服器證書的cn要和servername一致,否則啟動httpd時有警告。
2. 瀏覽器安裝客戶端證書時,需要用pkcs12轉換成pfx格式,否則可以安裝但無效。
3. 把根證書安裝到瀏覽器的受信ca中,訪問伺服器時就不會出警告了。
環境: centos6_x64 openssl 1.0.1 apache2.2
echo -n > /etc/pki
/ca/index.txt
echo '00' > /etc/pki
/ca/serial
注意,index.txt需要初始化為0位元組,連換行也不能有。
# 修改/etc/pki/tls/openssl.cnf,放開nscerttype= server的注釋。
[ usr_cert ]
nscerttype = server
cd /etc/pki/ca
# 生成金鑰
openssl genrsa -out private/myca.key 1024
# 生成自簽名證書
openssl req -new -x509 -key private/myca.key -out certs/myca.crt
把這個crt匯入客戶端瀏覽器,就不會顯示證書警告了。
cd /etc/pki/tls
openssl genrsa -out private/sv.key
1024
# 生成請求
openssl req -new -key
private/sv.key -out private/sv.csr
# 使用根證書簽名
openssl ca -in
private/sv.csr -keyfile ../ca/private/myca.key -cert ../ca/certs/myca.crt -out certs/sv.crt
有時,簽發多個證書時,由於common name等資訊重複導致簽名失敗,
可以初始化index.txt和serial。
# 修改/etc/pki/tls/openssl.cnf,注釋掉nscerttype= server,去掉的nscerttype = client, email注釋。
[ usr_cert ]
nscerttype = client, email
cd /etc/pki/tls
openssl genrsa -out private/clnt1.key
1024
openssl req -new -key
private/clnt1.key -out private/clnt1.csr
openssl ca -in
private/clnt1.csr -keyfile ../ca/private/myca.key -cert ../ca/certs/myca.crt -out certs/clnt1.crt
個人證書需要轉成pfx格式
openssl pkcs12 -export -in certs/clnt1.crt -out certs/clnt1.pfx -inkey private/clnt1.key
sslcertificatefile /etc/pki/tls/certs/sv.crt
sslcertificatekeyfile /etc/pki/tls/private/sv.key
sslcertificatechainfile /etc/pki/tls/certs/chain.crt
<--這個從哪兒來的?
sslcacertificatefile /etc/pki/tls/certs/myca.crt
sslverifyclient require
sslverifydepth 1
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /etc/pki/tls/certs/sv2.crt;
ssl_certificate_key /etc/pki/tls/private/sv2.key;
ssl_session_cache shared:ssl:1m;
ssl_session_timeout 5m;
ssl_ciphers high:!anull:!md5;
ssl_prefer_server_ciphers on;
ssl_client_certificate /etc/pki/ca/certs/myca.crt;
ssl_verify_client on;
ssl_verify_depth 1;
另外,遇到了證書不能刪除的問題。解決方法是:
使用mmc,進入 證書,即可刪除。
windows上配置nginx時,可能遇到快取等模組不可用的情況,
需要注釋掉ssl_session_cache等。
生成dh引數:
dhparam -out dh1024.pem
1024
OpenSSL生成證書
要生成證書的目錄下建立幾個檔案和資料夾,有.democa democa newcerts democa index.txt democa serial,在serial檔案中寫入第乙個序列號 01 1.生成x509格式的ca自簽名證書 opensslreq new x509 keyout ca.key...
openssl 生成 證書
x509 證書一般會用到三類文,key,csr,crt。key是私用金鑰 openssl 格,通常是 rsa演算法。csr是證書請求檔案,用於申請證書。在製作 csr檔案的時,必須使用自己的私鑰來簽署申,還可以設定乙個金鑰。crt是ca 認證後的證書文,windows 下面的,其實是 crt 簽署人...
OpenSSL生成證書
1.生成x509格式的ca自簽名證書 opensslreq new x509 keyout ca.key out ca.crt 可以加證書過期時間選項 days 365 2.生成服務端的私鑰 key檔案 及csr 檔案 openssl genrsa des3 out server.key 1024 ...