1. 怎樣給openssl增加根證書
ca-certificates包含的根證書存放在/usr/share/ca-certificates目錄下,按照 機構名/證書.crt 的文件名存放。同版時所有的根證書在權/etc/ca-certificates.conf文件中列表,並且軟鏈接到/etc/ssl/certs/....pem。ca-certifiacates包中提供/usr/sbin/update-ca-certificates命令,當/usr/share/ca-certificates目錄下有變動的時候,根據/etc/ca-certificates.conf維護/etc/ssl/certs/目錄。
update-ca-certificates根據/etc/ca-certificates.conf維護/etc/ssl/certs/,對於/etc/ca-certificates.conf中以#開頭的行忽略,以!開頭的行不予選擇(標記為有問題),其他行在/etc/ssl/certs/目錄下生成軟鏈接,並生成/etc/ssl/certs/certificates.crt文件。
2. 如何生成openssl證書
2. 生成Root CA私鑰與證書:
2.1 先生成RootCA私鑰--》使用私鑰生成CSR--》生成自簽名根證書。用來給二級CA證書簽名。
3. 生成二級CA 私鑰與證書:(假如有兩個二級CA, 分別負責管理伺服器端和客戶端證書)
3.1 先生成ServerCA私鑰--》使用私鑰生成CSR--》使用根證書簽名生成二級證書。用來給伺服器證書簽名。
3.2 先生成ClientCA私鑰--》使用私鑰生成CSR--》使用根證書簽名生成二級證書。用來給客戶端證書簽名。
4. 生成伺服器端與客戶端的私鑰與證書:
4.1 先生成ServerA私鑰--》使用私鑰生成CSR--》使用ServerCA證書簽名生成三級證書。
4.2 先生成ClientA私鑰--》使用私鑰生成CSR--》使用ClientCA證書簽名生成三級證書。
4.3 先生成ClientB私鑰--》使用私鑰生成CSR--》使用ClientCA證書簽名生成三級證書
。。。。可以生成N個客戶端證書證書結構:RootCA||-------ServerCA| || |--------ServerA||-------ClientCA||--------ClientA||--------ClientB||--------...|
5. 導出RootCA的根證書、伺服器端和客戶端的私鑰和證書。
導出時都使用pem格式。
RootCA.pem-------根證書(PEM )
ServerA.pem------伺服器端證書(PEM with Certificate chain)
ClientA.pem------客戶端證書(PEM with Certificate chain)
ClientB.pem------客戶端證書(PEM with Certificate chain)
ServerAKey.pem------伺服器端私鑰(PEM )
ClientAKey.pem------客戶端私鑰(PEM )
ClientBKey.pem------客戶端私鑰(PEM )
6.下面是最重要的一步:生成需要使用的JKS文件。keytool工具不能導入私鑰,需要利用到weblogic 提供的一個工具,需要把weblogic.jar加到CLASSPATH。
6.1 生成伺服器和客戶端的信任證書庫:
keytool -import -alias rootca -file RootCA.pem -keystore trust.jks
6.2 生成伺服器端身份密鑰庫:
java utils.ImportPrivateKey -keystore servera.jks -storepass 123456 -storetype JKS -keypass 123456 -alias servera -certfile ServerA.pem -keyfile ServerAKey.pem
6.3 生成客戶端身份密鑰庫:
java utils.ImportPrivateKey -keystore clienta.jks -storepass 123456 -storetype JKS -keypass 123456 -alias clienta -certfile ClientA.pem -keyfile ClientAKey.pem ...生成其他客戶端身份密鑰庫
7. keytool -list -v -keystore clienta.jks (servera.jks) 可以查看其中的證書鏈關系。
3. 如何使用OpenSSL創建證書
Step 1. Create key (password protected)
openssl genrsa -out prvtkey.pem 1024/2038 (with out password protected)
openssl genrsa -des3 -out prvtkey.pem 1024/2048 (password protected)
這個命令會生成一個1024/2048位的密鑰。
Step 2. Create certification request
openssl req -new -key prvtkey.pem -out cert.csr
openssl req -new -nodes -key prvtkey.pem -out cert.csr
這個命令將會生成一個證書請求,當然,用到了前面生成的密鑰prvtkey.pem文件
這里將生成一個新的文件cert.csr,即一個證書請求文件,你可以拿著這個文件去數字證書頒發機構(即CA)申請一個數字證書。CA會給你一個新的文件cacert.pem,那才是你的數字證書。
Step 3: Send certificate request to Certification Authority (CA)
如果是自己做測試,那麼證書的申請機構和頒發機構都是自己。就可以用下面這個命令來生成證書:
openssl req -new -x509 -key prvtkey.pem -out cacert.pem -days 1095
這個命令將用上面生成的密鑰privkey.pem生成一個數字證書cacert.pem
cacert.pem 生成過程見「OpenSSL建立自己的CA」
有了privkey.pem和cacert.pem文件後就可以在自己的程序中使用了,比如做一個加密通訊的伺服器
-------------
OpenSSL建立自己的CA
(1) 環境准備
首先,需要准備一個目錄放置CA文件,包括頒發的證書和CRL(Certificate Revoke List)。
這里我們選擇目錄 /var/MyCA。
然後我們在/var/MyCA下建立兩個目錄,certs用來保存我們的CA頒發的所有的證書的副本;private用來保存CA證書的私鑰匙。
除了生成鑰匙,在我們的CA體系中還需要創建三個文件。第一個文件用來跟蹤最後一次頒發的證書的序列號,我們把它命名為serial,初始化為01。第二個文件是一個排序資料庫,用來跟蹤已經頒發的證書。我們把它命名為index.txt,文件內容為空。
$ mkdir /var/MyCA
$ cd /var/MyCA
$ mkdir certs private
$ chmod g-rwx,o-rwx private
$ echo "01" > serial
$ touch index.txt
第三個文件是OpenSSL的配置文件,創建起來要棘手點。示例如下:
$ touch openssl.cnf
文件內容如下:
[ ca ]
default_ca = myca
[ myca ]
dir = /var/MyCA
certificate = $dir/cacert.pem
database = $dir/index.txt
new_certs_dir = $dir/certs
private_key = $dir/private/cakey.pem
serial = $dir/serial
default_crl_days= 7
default_days = 365
default_md = md5
policy = myca_policy
x509_extensions = certificate_extensions
[ myca_policy ]
commonName = supplied
stateOrProvinceName = supplied
countryName = supplied
emailAddress = supplied
organizationName= supplied
organizationalUnitName = optional
[ certificate_extensions ]
basicConstraints= CA:false
我們需要告訴OpenSSL配置文件的路徑,有兩種方法可以達成目的:通過config命令選項;通過環境變數OPENSSL_CONF。這里我們選擇環境變數的方式。
$ OPENSSL_CONF=/var/MyCA/openssl.cnf"
$ export OPENSSL_CONF
(2) 生成根證書 (Root Certificate)
我們需要一個證書來為自己頒發的證書簽名,這個證書可從其他CA獲取,或者是自簽名的根證書。這里我們生成一個自簽名的根證書。
首先我們需要往配置文件裡面添加一些信息,如下所示,節名和命令行工具的命令req一樣。我們把所有必要的信息都寫進配置,而不是在命令行輸入,這是唯一指定X.509v3擴展的方式,也能讓我們對如何創建根證書有個清晰的把握。
[ req ]
default_bits = 2048
default_keyfile = /var/MyCA/private/cakey.pem
default_md = md5
prompt = no
distinguished_name = root_ca_distinguished_name
x509_extensions = root_ca_extensions
[ root_ca_distinguished_name ]
commonName = My Test CA
stateOrProvinceName = HZ
countryName = CN
emailAddress = [email protected]
organizationName = Root Certification Authority
[ root_ca_extensions ]
basicConstraints = CA:true
萬事俱備,我們可以生成根證書了。注意設置好環境變數OPENSSL_CONF。
$ openssl req -x509 -newkey rsa -out cacert.pem -outform PEM -days 356
註:「-days 356「控制有效期限為365天,默認為30天。
驗證一下我們生成的文件。
$ openssl x509 -in cacert.pem -text -noout
(3) 給客戶頒發證書
在給客戶頒發證書之前,需要客戶提供證書的基本信息。我們另外開啟一個終端窗口,使用默認的OpenSSL配置文件(不要讓之前的OPENSSL_CONF干擾我們,那個配置是專門用來生成根證書的)。
命令和我們生成根證書的類似,都是req,不過需要提供一些額外的信息。如下:
$ openssl req -newkey rsa:1024 -keyout testkey.pem -keyform PEM -out testreq.pem -outform PEM
有兩次提示要口令,第一次的口令用來加密私鑰匙testkey.pem,第二次口令一般被OpenSSL忽略。
結果生成兩個文件:testkey.pem,私鑰匙;testreq.pem,請求信息,其中包括公鑰匙。
我們來看看testreq.pem都有哪些信息?
$ openssl req -in testreq.pem -text -noout
現在,我們可以把testreq.pem提交給我們的CA生成證書了。
為了方便起見,我們假定testreq.pem在//var/MyCA/private/中。
$ openssl ca -in testreq.pem
有三次提示,一次是問你CA的私鑰匙密碼,兩次是確認,輸出的結果就是為客戶頒發的證書。
可以通過batch選項取消命令提示,可通過notext選項取消證書的輸出顯示。
此外,還可以一次給多個客戶頒發證書,方法是用 infiles選項替換in選項,不過這個選項必須放在最後,因為此後的任何字元均被處理為文件名稱列表。
生成的證書放在certs目錄,同時index.txt和serial的內容都發生了改變。
4. 做CA證書嫌OpenSSL命令行麻煩嗎
最近做CA登陸,用到OpenSSL 來製作證書,說真的,用OpenSSL的命令行製作證書的確不方便。
首先要安裝OpenSSL,然後在控制台中輸入冗長的命令,一不小心還很容易出錯,就算是熟悉了命令行,
多做了幾次還是會弄混淆命令的參數,基於以上原因,我就想做一個CA證書製作的工具,封裝好OpenSSL的命令行
做成類似於微軟的IIS製作證書的向導那樣,因此CABuilder4OpenSSL就這樣開始了
花了大半個月的時間,大體上完成了製作證書的常用的功能,現傳上來和大家學習交流
現對CABuilder4OpenSSL主要功能做些介紹:
分為兩大塊,證書任務和證書工具
其中,證書任務有,
1,製作證書請求文件
2,製作自簽名根證書
3,簽發文件,可以對請求文件和自簽名證書進行簽發證書
4,製作私鑰,
證書工具有,
1,合成PFX文件,
2,分解PFX文件,即從中提取私鑰和證書
3,PFX轉換成PEM,即將二進制格式的PFX文件轉換成ascii 編碼格式的(內含私鑰和證書,
優點:無需安裝OpenSSL即可製作證書,無需擔心忘記命令,只需點擊滑鼠就可以完成證書的製作,當然了可能會需要
自己選一下存放的目錄,和自定義輸出文件的名字,以及輸入證書主題的內容
缺點:私鑰未對其進行加密,因此用它製作證書要保存好私鑰,整個CABuilder4OpenSSL都是默認私鑰未加密的,所以使用加密的私鑰都不能使用它來製作證書或轉換文件,即對加密的私鑰文件不支持,
由於是使用VS2005(C#)做的,不能直接在任何的WINDOWS機器上運行,需要.NET FrameWork2.0 及以上版本的支持 。
聲明:本軟體只供學習交流使用,若是由於使用本軟體直接或間接導致的損失,本人概不負法律責任
注意,使用本軟體製作的私鑰未對其文件進行DES安全加密,請自行保存好製作的私鑰,
轉載
5. 怎樣給openssl增加根證書
ca-certificates包含的根證書存放在/usr/share/ca-certificates目錄下,按照 名/證書.crt 的文件名存放。同時所有的根證書在/etc/ca-certificates.conf文件中列表,並且軟鏈接到/etc/ssl/certs/.pem。ca-certifiacates包中提供/usr/sbin/update-...
6. 如何在本地配置openssl
准備工作
1.windows2003添加組件
添加IIS:勾選「應用程序伺服器」,然後雙擊進入下圖,勾選「IIS」和「ASP.NET」
添加證書系統:勾選「證書服務」
添加組件的時候要求填寫的就按照操作填上就行了,然後下一步,直到完成。
2.把openssl(執行版,有的叫編譯後版)解壓到d:下,當然哪個盤都可以。
二、獲取IIS證書請求
架設好IIS網站後,在【目錄安全性】選項卡中點擊【伺服器證書】按鈕,【下一步】,【新建證書】,【現在准備證書請求--下一步】,輸入【名稱】,輸入【單位】和【部門】,輸入【公用名稱】,選擇【國家】並輸入【省】和【市縣】並【下一步】,【下一步】,【下一步】,【完成】,IIS的證書請求已經獲取,就是C:\certreq.txt。這里請牢記輸入的信息。
三、開始操作openssl
(cmd –> d:\openssl-0.9.7\out32dll
下執行下面的操作,注意openssl.cnf文件,後面命令都是用它編譯的)
1.生成自簽名根證書
openssl
req -x509 -newkey rsa:1024 -keyout cakey.pem -out cacert.pem -days 3650 -config
d:\openssl-0.9.7\apps\openssl.cnf
PEM pass phrase:根證書密碼,當然很重要!
Country
Name: CN //兩個字母的國家代號
State or Province Name: guang dong //省份名稱
Locality
Name: guang zhou //城市名稱
Organization Name: sunrising //公司名稱
Organizational Unit Name: home //部門名稱
Common Name: besunny
//你的姓名(要是生成伺服器端的證書一定要輸入域名或者ip地址)
Email Address: Email地址
2.把cakey.pem 拷貝到\demoCA\private,
把cacert.pem拷貝到out32dll\demoCA
cakey.pem
demoCA\private
cacert.pem
demoCA
提醒:這時候,已經有cakey.pem:ca的私鑰文件,cacert.pem:ca的自簽名根證書,certreq.txt:IIS的證書請求文件,三個文件。
3.用CA證書cacert.pem為IIS請求certreq.txt簽發證書server.pem
openssl ca -in certreq.txt -out server.pem -config
d:\openssl-0.9.7\apps\openssl.cnf
4.把server.pem轉換成x509格式
openssl
x509 -in server.pem -out
server.cer
提醒:這時候,你又得到了兩個文件,一個是server.pem,一個是server.cer。現在把bin下的server.cer復制到c:下。
5.將生成的證書server.cer導入到IIS
打開IIS,在【默認網站】上單擊右鍵【屬性】,在【目錄安全性】選項卡中點擊【伺服器證書】按鈕,【下一步】,選擇【處理掛起的請求並安裝證書】並【下一步】,正常情況下,您已經看到了文本框中就是c:\server.cer,如果不是,自己點【瀏覽】按鈕去找並【下一步】,【下一步】,【完成】。回到【目錄安全性】選項卡在【安全通信】欄目中單擊【編輯】按鈕,勾上【要求安全通道(SSL)】,勾上【要求128位加密】,選擇【要求客戶端證書】,點擊【確定】按鈕。
6.生成客戶端證書
openssl
req -newkey rsa:1024 -keyout clikey.pem -out clireq.pem -days 365 -config
d:\openssl-0.9.7\apps\openssl.cnf
證書信息自己填寫,有些內容要與根證書一致。
7.CA簽發客戶端證書
openssl ca -in
clireq.pem -out client.crt -config d:\openssl-0.9.7\apps\openssl.cnf
8.將客戶端證書轉換為pk12格式
openssl pkcs12 -export -clcerts -in client.crt -inkey clikey.pem -out
client.p12 -config d:\openssl-0.9.7\apps\openssl.cnf
9.安裝信任的根證書
把cacert.pem改名為cacert.cer,雙擊cacert.cer文件,打開證書信息窗口,單擊【安裝證書】按鈕,【下一步】。
提醒,下面是最關鍵的:
選擇【將所有的證書放入下列存儲區】,點擊【瀏覽】按鈕
[url=file:///C:/Documents][/url]
選擇【受信任的根證書頒發機構】,勾選【物理存儲區】,選擇【受信任的根證書頒發機構】,點【本地計算機】,並點擊【確定】,【下一步】,【完成】,【是】,根證書安裝完畢!勾選【物理存儲區」,選擇「受信任的根證書頒發機構」,點「本地計算機」,然後點「確定」。
[url=file:///C:/Documents][/url]
「clent.crt」的安裝也是上面相同的步驟。
10.安裝客戶端證書
找到client.p12文件拷貝到本地計算機,然後雙擊,【下一步】,【下一步】,輸入客戶端證書的密碼並【下一步】,【下一步】,【完成】,【確定】。到此,客戶端的證書也已經安完畢。
7. 如何使用OpenSSL工具生成根證書與應用證書
使用OpenSSL工具生成根證書與應用證書方法:
1、生成頂級CA的公鑰證書和私鑰文件,有效期10年(RSA 1024bits,默認) openssl req -new -x509 -days 3650 -keyout CARoot1024.key -out CARoot1024.crt
2、 為頂級CA的私鑰文件去除保護口令 openssl rsa -in CARoot1024.key -out CARoot1024.key
3、 生成頂級CA的公鑰證書和私鑰文件,有效期15年(RSA 2048bits,指定) openssl req -newkey rsa:2048 -x509 -days 5480 -keyout CARoot2048.key -out CARoot2048.crt
4、 為頂級CA的私鑰文件去除保護口令 openssl rsa -in CARoot2048.key -out CARoot2048.key
5、 為應用證書/中級證書生成私鑰文件 openssl genrsa -out app.key 2048
6、 根據私鑰文件,為應用證書/中級證書生成 csr 文件(證書請求文件) openssl req -new -key app.key -out app.csr
7、 使用CA的公私鑰文件給 csr 文件簽名,生成應用證書,有效期5年 openssl ca -in app.csr -out app.crt -cert CARoot1024.crt -keyfile CARoot1024.key -days 1826 -policy policy_anything
8、 使用CA的公私鑰文件給 csr 文件簽名,生成中級證書,有效期5年 openssl ca -extensions v3_ca -in app.csr -out app.crt -cert CARoot1024.crt -keyfile CARoot1024.key -days 1826 -policy policy_anything
以上是生成根證書與應用證書過程中要用到的所有命令,根據生成目標不同,分為三組。其中,前面兩組都用於生成自簽名的頂級CA(區別只在於密鑰長度不同),實際應用中只需根據需求選擇一組即可。 最後一組用於生成非自簽名的證書,包括中級證書與應用證書。所謂中級證書,是具有繼續頒發下級證書許可權的子CA,而本文中所說的應用證書,特指不能用來繼續頒發下級證書,只能用來證明個體身份的證書。頂級CA在簽發二者的時候,只是多少一個 -extensions v3_ca 選項的區別,這個選項賦予被簽發的證書繼續簽發下級證書的權力。
8. 如何使用openssl生成證書
Step 1. Create key (password protected)
openssl genrsa -out prvtkey.pem 1024/2038 (with out password protected)
openssl genrsa -des3 -out prvtkey.pem 1024/2048 (password protected)
這個命令會生成一個/2048位的密鑰。
Step 2. Create certification request
openssl req -new -key prvtkey.pem -out cert.csr
openssl req -new -nodes -key prvtkey.pem -out cert.csr
這個命令將會生成一個證書請求,當然,用到了前面生成的密鑰prvtkey.pem文件
這里將生成一個新的文件cert.csr,即一個證書請求文件,你可以拿著這個文件去數字證書頒發機構(即CA)申請一個數字證書。CA會給你一個新的文件cacert.pem,那才是你的數字證書。
Step 3: Send certificate request to Certification Authority (CA)
如果是自己做測試,那麼證書的申請機構和頒發機構都是自己。就可以用下面這個命令來生成證書:
openssl req -new -x509 -key prvtkey.pem -out cacert.pem -days 1095
這個命令將用上面生成的密鑰privkey.pem生成一個數字證書cacert.pem
cacert.pem 生成過程見「OpenSSL建立自己的CA」
有了privkey.pem和cacert.pem文件後就可以在自己的程序中使用了,比如做一個加密通訊的伺服器
-------------
OpenSSL建立自己的CA
(1) 環境准備
首先,需要准備一個目錄放置CA文件,包括頒發的證書和CRL(Certificate Revoke List)。
這里我們選擇目錄 /var/MyCA。
然後我們在/var/MyCA下建立兩個目錄,certs用來保存我們的CA頒發的所有的證書的副本;private用來保存CA證書的私鑰匙。
除了生成鑰匙,在我們的CA體系中還需要創建三個文件。第一個文件用來跟蹤最後一次頒發的證書的序列號,我們把它命名為serial,初始化為01。第二個文件是一個排序資料庫,用來跟蹤已經頒發的證書。我們把它命名為index.txt,文件內容為空。
$ mkdir /var/MyCA
$ cd /var/MyCA
$ mkdir certs private
$ chmod g-rwx,o-rwx private
$ echo "01" > serial
$ touch index.txt
第三個文件是OpenSSL的配置文件,創建起來要棘手點。示例如下:
$ touch openssl.cnf
文件內容如下:
[ ca ]
default_ca = myca
[ myca ]
dir = /var/MyCA
certificate = $dir/cacert.pem
database = $dir/index.txt
new_certs_dir = $dir/certs
private_key = $dir/private/cakey.pem
serial = $dir/serial
default_crl_days= 7
default_days = 365
default_md = md5
policy = myca_policy
x509_extensions = certificate_extensions
[ myca_policy ]
commonName = supplied
stateOrProvinceName = supplied
countryName = supplied
emailAddress = supplied
organizationName= supplied
organizationalUnitName = optional
[ certificate_extensions ]
basicConstraints= CA:false
我們需要告訴OpenSSL配置文件的路徑,有兩種方法可以達成目的:通過config命令選項;通過環境變數OPENSSL_CONF。這里我們選擇環境變數的方式。
$ OPENSSL_CONF=/var/MyCA/openssl.cnf"
$ export OPENSSL_CONF
(2) 生成根證書 (Root Certificate)
我們需要一個證書來為自己頒發的證書簽名,這個證書可從其他CA獲取,或者是自簽名的根證書。這里我們生成一個自簽名的根證書。
首先我們需要往配置文件裡面添加一些信息,如下所示,節名和命令行工具的命令req一樣。我們把所有必要的信息都寫進配置,而不是在命令行輸入,這是唯一指定X.509v3擴展的方式,也能讓我們對如何創建根證書有個清晰的把握。
[ req ]
default_bits = 2048
default_keyfile = /var/MyCA/private/cakey.pem
default_md = md5
prompt = no
distinguished_name = root_ca_distinguished_name
x509_extensions = root_ca_extensions
[ root_ca_distinguished_name ]
commonName = My Test CA
stateOrProvinceName = HZ
countryName = CN
emailAddress = [email protected]
organizationName = Root Certification Authority
[ root_ca_extensions ]
basicConstraints = CA:true
萬事俱備,我們可以生成根證書了。注意設置好環境變數OPENSSL_CONF。
$ openssl req -x509 -newkey rsa -out cacert.pem -outform PEM -days 356
註:「-days 356「控制有效期限為365天,默認為30天。
驗證一下我們生成的文件。
$ openssl x509 -in cacert.pem -text -noout
(3) 給客戶頒發證書
在給客戶頒發證書之前,需要客戶提供證書的基本信息。我們另外開啟一個終端窗口,使用默認的OpenSSL配置文件(不要讓之前的OPENSSL_CONF干擾我們,那個配置是專門用來生成根證書的)。
命令和我們生成根證書的類似,都是req,不過需要提供一些額外的信息。如下:
$ openssl req -newkey rsa:1024 -keyout testkey.pem -keyform PEM -out testreq.pem -outform PEM
有兩次提示要口令,第一次的口令用來加密私鑰匙testkey.pem,第二次口令一般被OpenSSL忽略。
結果生成兩個文件:testkey.pem,私鑰匙;testreq.pem,請求信息,其中包括公鑰匙。
我們來看看testreq.pem都有哪些信息?
$ openssl req -in testreq.pem -text -noout
現在,我們可以把testreq.pem提交給我們的CA生成證書了。
為了方便起見,我們假定testreq.pem在//var/MyCA/private/中。
$ openssl ca -in testreq.pem
有三次提示,一次是問你CA的私鑰匙密碼,兩次是確認,輸出的結果就是為客戶頒發的證書。
可以通過batch選項取消命令提示,可通過notext選項取消證書的輸出顯示。
此外,還可以一次給多個客戶頒發證書,方法是用 infiles選項替換in選項,不過這個選項必須放在最後,因為此後的任何字元均被處理為文件名稱列表。
生成的證書放在certs目錄,同時index.txt和serial的內容都發生了改變。
publicdoubleside=10.0;//去掉static
9. openssl證書生成工具如何生成證書鏈
2. 生成Root CA私鑰與證書: .1 先生成RootCA私鑰--》使用私鑰生成CSR--》生成自簽名根證書。用來給二級CA證書簽名。 3. 生成二級CA 私鑰與證書:(假如有兩個二級CA, 分別負責管理伺服器端和客戶端證書) 3.1 先生成ServerCA私鑰--》使用私鑰生成CSR--》使用根證書簽名生成二級證書。用來給伺服器證書簽名。 3.2 先生成ClientCA私鑰--》使用私鑰生成CSR--》使用根證書簽名生成二級證書。用來給客戶端證書簽名。 4. 生成伺服器端與客戶端的私鑰與證書: 4.1 先生成ServerA私鑰--》使用私鑰生成CSR--》使用ServerCA證書簽名生成三級證書。 4.2 先生成ClientA私鑰--》使用私鑰生成CSR--》使用ClientCA證書簽名生成三級證書。 4.3 先生成ClientB私鑰--》使用私鑰生成CSR--》使用ClientCA證書簽名生成三級證書 。。。。可以生成N個客戶端證書證書結構:RootCA||-------ServerCA| || |--------ServerA||-------ClientCA||--------ClientA||--------ClientB||--------...| 5. 導出RootCA的根證書、伺服器端和客戶端的私鑰和證書。 導出時都使用pem格式。 RootCA.pem-------根證書(PEM ) ServerA.pem------伺服器端證書(PEM with Certificate chain) ClientA.pem------客戶端證書(PEM with Certificate chain) ClientB.pem------客戶端證書(PEM with Certificate chain) ServerAKey.pem------伺服器端私鑰(PEM ) ClientAKey.pem------客戶端私鑰(PEM ) ClientBKey.pem------客戶端私鑰(PEM ) 6.下面是最重要的一步:生成需要使用的JKS文件。keytool工具不能導入私鑰,需要利用到weblogic 提供的一個工具,需要把weblogic.jar加到CLASSPATH。 6.1 生成伺服器和客戶端的信任證書庫: keytool -import -alias rootca -file RootCA.pem -keystore trust.jks 6.2 生成伺服器端身份密鑰庫: java utils.ImportPrivateKey -keystore servera.jks -storepass 123456 -storetype JKS -keypass 123456 -alias servera -certfile ServerA.pem -keyfile ServerAKey.pem 6.3 生成客戶端身份密鑰庫: java utils.ImportPrivateKey -keystore clienta.jks -storepass 123456 -storetype JKS -keypass 123456 -alias clienta -certfile ClientA.pem -keyfile ClientAKey.pem ...生成其他客戶端身份密鑰庫 7. keytool -list -v -keystore clienta.jks (servera.jks) 可以查看其中的證書鏈關系。
10. 怎麼用OpenSSL從https網站上導出SSL的CA證書
別人的網站是不可以導出的完整的SSL證書文件,只能下載公證書,瀏覽器打開後輸入域名點擊小鎖就可以下載。如果是根證書也是同樣。