服務(wù)器證書安裝配置指南(Resin)
一、 生成證書請求
1. 生成keystore文件
生成密鑰庫文件keystore.jks需要使用JDK的keytool工具。命令行進(jìn)入JDK或JRE下的bin目錄,運(yùn)行keytool命令(示例中粗體部分為可自定義部分,可根據(jù)實(shí)際配置情況相應(yīng)修改)。
keytool -genkey -alias server -keyalg RSA -keysize 2048 -keystore D:\keystore.jks -storepass password -keypass password

以上命令中,server為私鑰別名(-alias),生成的keystore.jks文件默認(rèn)放在D盤根目錄下。
2. 生成證書請求文件(CSR)
keytool -certreq -alias server -sigalg SHA256withRSA -file D:\certreq.csr -keystore D:\keystore.jks -keypass password -storepass password
請備份密鑰庫文件keystore.jks,并稍后提交證書請求文件certreq.csr,等待證書簽發(fā)。密鑰庫文件keystore.jks丟失將導(dǎo)致證書不可用。
注:如SSL證書已簽發(fā),不需要再次生成CSR,開始參考第二步安裝證書即可。
二、 導(dǎo)入服務(wù)器證書
1. 獲取服務(wù)器證書
將證書簽發(fā)郵件中“以下是您的服務(wù)器證書”代碼從BEGIN到 END結(jié)束的服務(wù)器證書內(nèi)容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)粘貼到記事本等文本編輯器中,并修改文件擴(kuò)展名,保存為server.cer文件
2. 獲取CA證書
將證書簽發(fā)郵件中的“以下是您的中級CA證書”部分里的第一段CA證書的內(nèi)容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)粘貼到記事本等文本編輯器中,保存并修改文件擴(kuò)展名為ca.cer文件。
3. 查看keystore文件內(nèi)容
進(jìn)入JDK安裝目錄下的bin目錄,運(yùn)行keytool命令查詢keystore文件信息。
keytool -list -keystore D:\keystore.jks -storepass password

查詢到PrivateKeyEntry(或KeyEntry)屬性的私鑰別名(alias)為server,在稍后導(dǎo)入服務(wù)器證書時(shí)需要用到(示例中粗體部分為可自定義部分,可根據(jù)實(shí)際配置情況相應(yīng)修改)。
注意,導(dǎo)入證書時(shí),一定要使用生成證書請求文件時(shí)生成的keystore.jks文件。keystore.jks文件丟失或生成新的keystore.jks文件,都將無法正確導(dǎo)入您的服務(wù)器證書。
4. 導(dǎo)入證書
導(dǎo)入中級CA證書(必須優(yōu)先導(dǎo)入中級證書,否則會觸發(fā)證書鏈不完整錯(cuò)誤)
keytool -import -alias ca -keystore D:\keystore.jks -trustcacerts -storepass password -file D:\ca.cer -noprompt

導(dǎo)入服務(wù)器證書
keytool -import -alias server -keystore D:\keystore.jks -trustcacerts -storepass password -keypass password -file D:\server.cer

導(dǎo)入服務(wù)器證書時(shí),服務(wù)器證書的別名必須和私鑰別名一致。請留意導(dǎo)入中級CA證書和導(dǎo)入服務(wù)器證書時(shí)的提示信息,如果您在導(dǎo)入服務(wù)器證書時(shí)使用的別名與私鑰別名不一致,將提示“認(rèn)證已添加至keystore中”而不是應(yīng)有的“認(rèn)證回復(fù)已安裝在keystore中”。
三、 安裝服務(wù)器證書
1. SSL證書的配置
復(fù)制已正確導(dǎo)入認(rèn)證回復(fù)的keystore.jks文件到Resin安裝目錄下的conf目錄。打開conf目錄下的resin.xml文件,找到并修改以下內(nèi)容
< !--
- SSL port configuration:
-
- < http address="*" port="8443" >
- < openssl >
- < certificate-file > keys/gryffindor.crt < /certificate-file >
- < certificate-key-file > keys/gryffindor.key < /certificate-key-file >
- < password > test123 < /password >
- < /openssl >
- < /http >
-- >
修改為
< http address="*" port="443" >
< jsse-ssl >
< key-store-type > jks < /key-store-type >
< key-store-file>conf/keystore.jks < /key-store-file >
< password > password < /password >
< /jsse-ssl >
< /http >
默認(rèn)的SSL訪問端口號為443,如果使用其他端口號,則您需要使用https://yourdomain:port的方式來訪問您的站點(diǎn)。
四、服務(wù)器證書的備份及恢復(fù)
在您成功的安裝和配置了服務(wù)器證書之后,請務(wù)必依據(jù)下面的操作流程,備份好您的服務(wù)器證書,以防證書丟失給您帶來不便。
1. 服務(wù)器證書的備份
備份服務(wù)器證書密鑰庫文件keystore.jks文件即可完成服務(wù)器證書的備份操作。
2. 服務(wù)器證書的恢復(fù)
請參照服務(wù)器證書安裝部分,將服務(wù)器證書密鑰庫keystore.jks文件恢復(fù)到您的服務(wù)器上,并修改配置文件,恢復(fù)服務(wù)器證書的應(yīng)用。
