附註:本節的資訊並不適用於 OES Linux,該系統同時安裝 Tomcat 和 Apache。OES Linux 文件包含有關取代自我簽署 Apache/Tomcat 證書的資訊。
獨立 iManager 安裝會包含暫時性的自我簽署證書,以供 Tomcat 使用。使用期限為一年。
此證書不能長期使用。這是可以讓系統暫時啟動並執行的解決方案,如此您才能夠立刻在安裝後安全地使用 iManager。除了用於測試之外,OpenSSL 不建議使用自行簽署證書。
取代自行簽署證書的挑戰在於,Tomcat 的預設 KeyStore 是在 Tomcat (JKS) 格式檔案中使用。用來修改此 KeyStore 的工具 keytool,無法輸入私密金鑰。它只能使用自我產生的金鑰。
如果您使用的是 eDirectory,就可以使用 Novell Certificate Server 來安全地產生、追蹤、儲存並撤銷證書,而不需要再使用其他工具。若要使用 Novell Certificate Server 在 eDirectory 中產生公用/私密金鑰組,請針對您的適用平台完成下列步驟:
下列指示說明如何在 Linux 平台上的 eDirectory 中建立金鑰組,並透過 PKCS#12 檔案輸出公用金鑰、私密金鑰和根證書管理中心 (CA) 金鑰。這包括修改 Tomcat 的 server.xml 組態檔案,以便使用 PKCS12 指令並將組態指向實際的 P12 檔案,而非使用預設的 JKS KeyStore。
此程序使用下列檔案:
暫存金鑰組存放在 /var/opt/novell/novlwww/.keystore 檔案中。
可信的根則包含在 /opt/novell/jdk1.7.0_25/jre/lib/security/cacerts 檔案中。
用來設定 Tomcat 證書使用的檔案是 /etc/opt/novell/tomcat7/server.xml。
使用 iManager 建立新的伺服器證書。
在 iManager 中,選取>。選取適當伺服器,指定綽號並接受其餘的證書預設值。
將伺服器證書輸出到 Tomcat 主目錄 (/var/opt/novell/novlwww)。在 iManager 中,選取>。瀏覽並選取 Key Material Object (KMO) 物件。在索引標籤中,選取。指定密碼並將伺服器證書儲存為 PKCS#12 (.pfx)。
將 .pfx 檔案轉換成 .pem 檔案。
為了此目的,請使用類似下列內容的指令:
openssl pkcs12 -in newtomcert.pfx -out newtomcert.pem
指定您已在步驟 2中所指定的證書密碼,然後為新的 .pem 檔案指定密碼。如果您想使用相同密碼也可以。
將 .pem 檔案轉換成 .p12 檔案。
為了此目的,請使用類似下列內容的指令:
openssl pkcs12 -export -in newtomcert.pem -out newtomcert.p12 -name "New Tomcat"
指定您已在步驟 3中所指定的證書密碼,然後為新的 .p12 檔案指定密碼。如果您想使用相同密碼也可以。
輸入下列指令停止 Tomcat:
/etc/init.d/novell-tomcat7 stop
編輯 Tomcat 組態檔案 ( /etc/opt/novell/tomcat7.0.42/server.xml) 並新增 keystoreType、keystoreFile 和 keystorePass 變數,讓 Tomcat 可以使用新建立的 .p12 證書檔案。例如:
<Connector className="org.apache.coyote.tomcat7.CoyoteConnector"
port="8443" minProcessors="5" maxProcessors="75" enableLookups="true"
acceptCount="100" debug="0" scheme="https" secure="true"
useURIValidationHack="false" disableUploadTimeout="true">
<Factory className="org.apache.coyote.tomcat7.CoyoteServerSocketFactory"
clientAuth="false" protocol="TLS" keystoreType="PKCS12"
keystoreFile="/var/opt/novell/novlwww/newtomcert.p12" keystorePass="password" />
</Connector>
附註:將 KeyStore 類型設為 PKCS12 時,您必須指定證書檔案的完整路徑,因為 Tomcat 將不再預設使用 Tomcat 主目錄路徑。
將 .p12 檔案的所有權變更成適當的 Tomcat 使用者/群組 (通常是 novlwww),然後將檔案權限設為 user=rw、group=rw 和 others=r。例如:
chown novlwww:novlwww newtomcert.p12
chmod 654 newtomcert.p12
輸入下列指令重新啟動 Tomcat:
/etc/init.d/novell-tomcat7 start
下列指示說明如何在 Windows 平台上的 eDirectory 中建立金鑰組,並透過 PKCS#12 檔案輸出公用金鑰、私密金鑰和根證書權限 (CA) 金鑰。這包括修改 Tomcat 的 server.xml 組態檔案,以便使用 PKCS12 指令並將組態指向實際的 P12 檔案,而非使用預設的 JKS KeyStore。
與此程序關聯的檔案及其預設位置如下:
暫存金鑰組:C:\Program Files\Novell\Tomcat\conf\ssl\.keystore。
託管根部證書:C:\Program Files\Novell\jre\lib\security\cacerts。
設定 Tomcat 的證書使用:C:\Program Files\Novell\Tomcat\conf\server.xml
使用 iManager 建立新的伺服器證書。
在 iManager 中,選取>。選取適當伺服器,指定綽號並接受其餘的證書預設值。
輸出伺服器證書。在 iManager 中,選取>。瀏覽至 KMO 物件並選取它。在索引標籤中,選取。指定密碼並將伺服器證書儲存為 PKCS#12 (.pfx)。
將 .pfx 檔案轉換成 .pem 檔案。
附註:依據預設,Windows 上不會安裝 OpenSSL,不過 OpenSSL 網站上有提供適用於 Windows 平台的版本。此外,您可以轉換 Linux 平台上的證書,而該平台預設已安裝 OpenSSL。
為了此目的,請使用類似下列內容的指令:
openssl pkcs12 -in newtomcert.pfx -out newtomcert.pem
從步驟 2指定證書密碼,然後為新的 .pem 檔案指定密碼。如果您想使用相同密碼也可以。
將 .pem 檔案轉換成 .p12 檔案。
為了此目的,請使用類似下列內容的指令:
openssl pkcs12 -export -in newtomcert.pem -out newtomcert.p12 -name "New Tomcat"
從步驟 3指定證書密碼,然後為新的 .p12 檔案指定密碼。如果您想使用相同密碼也可以。
將 .p12 檔案複製到 Tomcat 證書的位置。
依據預設,此位置是 C:\Program Files\Novell\Tomcat\conf\ssl\。
停止 Tomcat 服務。
/etc/init.d/novell-tomcat7 stop
編輯 Tomcat 的 server.xml 並新增 keystoreType、keystoreFile 和 keystorePass 變數,讓 Tomcat 可以使用新建立的 .p12 證書檔案。例如:
<Connector className="org.apache.coyote.tomcat7.CoyoteConnector"
port="8443" minProcessors="5" maxProcessors="75" enableLookups="true"
acceptCount="100" debug="0" scheme="https" secure="true"
useURIValidationHack="false" disableUploadTimeout="true">
<Factory className="org.apache.coyote.tomcat7.CoyoteServerSocketFactory"
clientAuth="false" protocol="TLS" keystoreType="PKCS12"
keystoreFile="/conf/ssl/newtomcert.p12" keystorePass="password" />
將 KeyStore 類型設為 PKCS12 時,您必須指定證書檔案的完整路徑,因為 Tomcat 將不再預設使用 Tomcat 主目錄路徑。
啟動 Tomcat 服務。