首先要有乙個ca根證書,然後用ca根證書來簽發使用者證書。使用者進行證書申請:一般先生成乙個私鑰,然後用私鑰生成證書請求(證書請求裡應含有公鑰資訊),再利用證書伺服器的ca根證書來簽發證書。
生成ca私鑰(.key)–>生成ca證書請求(.csr)–>自簽名得到根證書(.crt)(ca給自已頒發的證書)。
# generate ca private key (製作ca.key 私鑰)
openssl genrsa -out ca.key 2048
# generate csr
openssl req -new -key ca.key -out ca.csr
#openssl建立的自簽名證書在chrome端無法信任,需要新增如下
echo "subjectaltname=dns:rojao.test.com,ip:10.10.2.137" > cert_extensions
# generate self signed certificate(ca 根證書)
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -extfile cert_extensions -out ca.crt
整個提示將如下所示:
outputcountry name (2 letter code) [au]:cn
state or province name (full name) [some-state]:guangdong
locality name (eg, city) :guangzhou
organization name (eg, company) [internet widgits pty ltd]:rojao, inc.
organizational unit name (eg, section) :r&d department
common name (e.g. server fqdn or your name) :rojao ca root
email address :[email protected]
在實際的軟體開發工作中,往往伺服器就採用這種自簽名的方式,因為畢竟找第三方簽名機構是要給錢的,也是需要花時間的。
生成私鑰(.key)–>生成證書請求(.csr)–>用ca根證書簽名得到證書(.crt)
# private key
openssl genrsa -des3 -out server.key 2048
# generate csr
openssl req -new -key server.key -out server.csr
#openssl建立的自簽名證書在chrome端無法信任,需要新增如下
echo "subjectaltname=dns:rojao.test.com,ip:10.10.2.137" > cert_extensions
# generate certificate
openssl ca -in server.csr -out server.crt -extfile cert_extensions -cert ca.crt -keyfile ca.key
最重要的一行是common name (e.g. server fqdn or your name)那一行。您需要輸入與伺服器關聯的網域名稱,或者是您伺服器的公共ip位址。
整個提示將如下所示:
outputcountry name (2 letter code) [au]:cn
state or province name (full name) [some-state]:guangdong
locality name (eg, city) :guangzhou
organization name (eg, company) [internet widgits pty ltd]:rojao, inc.
organizational unit name (eg, section) :r&d department
common name (e.g. server fqdn or your name) :10.10.2.137
email address :[email protected]
假如報錯:/etc/pki/ca/index.txt: no such file or directory
unable to open '/etc/pki/ca/index.txt
解決:建立/etc/pki/ca/index.txt檔案
mkdir -p ca/newcerts
touch ca/index.txt
touch ca/serial
echo 「01」 > ca/serial
openssl genrsa -des3 -out client.key 1024
openssl req -new -key client.key -out client.csr
openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key
報錯:failed to update database
txt_db error number 2
刪除之前建立的 index.txt serial 檔案後重建
有時需要用到pem格式的證書,可以用以下方式合併證書檔案(crt)和私鑰檔案(key)來生成
cat client.crt client.key> client.pem
cat server.crt server.key > server.pem
結果:
服務端證書:ca.crt, server.key, server.crt, server.pem
客戶端證書:ca.crt, client.key, client.crt, client.pem
生成pfx(p12)格式 證書
openssl pkcs12 -export -in server.crt -out server.p12 -inkey server.key
openssl生成CA根證書及子證書
生成根證書 1.生成ca秘鑰,得到ca.key openssl genrsa out ca.key 4096 2.生成ca證書簽發請求,得到ca.csr openssl req new key ca.key out ca.csr subj c cn st jiangsu l nanjing o ji...
openssl 發布ca簽名證書
作業系統為linux,linux一般裝完系統後就會自動安裝 openssl元件 找到本機的openssl 執行以下命令 openssl version a 找到輸出資訊中的這一行 openssldir etc pki tls 改目錄就是 openssl的 安裝目錄了,後面操作過程中用到的配置檔案來自...
使用Openssl生成CA及簽發證書方法
準備步驟 生成 ca 1 在dos視窗中轉換到out32dll目錄下。例如 cd e 電子書 openssl openssl 0.9.8g out32dll 2 生成ca的key檔案 執行如下命令 openssl genrsa out catest.key 1024 執行成功後,在out32dll目...