配置適用於 Web 應用程式伺服器的 SSL
HTTP Secure (HTTPS) 是一種通訊通道,用於透過電腦網路進行安全通訊。在 Servigistics InService 中,HTTPS 會使用安全通訊端層 (SSL) 來確保在 Servigistics InService Web 伺服器與瀏覽器之間傳遞的所有資料保持非公開且完整的狀態。SSL 這種密碼編譯通訊協定的設計目的是為了在不安全的基礎結構上提供安全的通訊。欲在 Servigistics InService 中支援 HTTPS,必須針對應用程式配置已由協力廠商 (受信任的憑證單位) 驗證的 SSL 憑證。在預設情況下,應用程式會使用連接埠 8443 來透過 SSL 進行通訊。
透過使用協力廠商憑證 (受信任的憑證單位) 支援 HTTPS
協力廠商憑證是由受信任的認證單位所驗證。請確保由協力廠商驗證的憑證具有 .keystore 或 .jks 檔案副檔名。
在下列程序中,會以 *.jks 來稱呼協力廠商憑證。此程序適用於所有設定組態類型。確保已在 Publisher 和 Viewer 的組態管理員實體中正確更新安全埠及核心主機名稱。
請遵循下列步驟在 Servigistics InService 中使用 *.jks 憑證。在單體、分割及叢集組態中,必須針對個別實體執行相同的步驟。亦即,在分割與叢集組態中,需要針對 Publisher 與每個個別 Viewer 實體執行這些步驟。
1. 停止所有正在執行的 coreServer、coreCMIserver 和 JBoss 服務。
2. 將 *.jks 憑證儲存在位置 <INS_HOME>/InS_SW/SW/system/wildfly/standalone/configuration 中。
|
|
• 針對 Servigistics InService,您必須擁有副檔名為 .jks 的 HTTPS 憑證。
• 必須知道密碼。
• 憑證必須有別名。例如,jboss。可在憑證產生期間於憑證中設定別名。
|
3. 視需要針對 Web 和離線系統更新 security-realm 元素的相關詳細資訊。
a. 針對 Web 系統,開啟位於目錄 <INS_HOME>/InS_SW/SW/System/WildFly/standalone/configuration 下的 standalone-full-<database-name>.xml 檔案。
b. 針對離線系統,開啟位於目錄 <INS_HOME>/InS_SW/SW/System/WildFly/standalone/configuration 下的 standalone-full.xml 檔案。
<security-realm name="SSLRealm>
<server-identities>
<ssl>
<keystore path="*.jks" relative-to="jboss.server.config.dir" keystore-password="<actual_password_value>" alias="<actual alias from certificate>"
key-password="<actual_password_value>"/>
</ssl>
</server-identities>
</security-realm>
其中:
◦ 金鑰倉庫路徑:憑證名稱。
◦ 金鑰倉庫密碼:憑證密碼。
◦ 別名:憑證中的實際別名。
◦ 金鑰密碼:憑證密碼。
|
|
針對離線系統,修改 standalone-full.xml 而非 standalone-full-<database-name>.xml。
|
4. 執行下列指令將 *.jks 憑證 (亦即 Java 金鑰倉庫憑證) 匯出為 CA 憑證:
<InS_HOME>/InS_SW/SW/System/Java/bin/keytool.exe -exportcert -noprompt
-alias "<actual alias from certificate>"
-keypass "<actual_password_value>" -storepass "<actual_password_value>"
-file <InS_HOME>/InS_SW/SW/System/WildFly/standalone/configuration/cert.crt
-keystore <InS_HOME>/InS_SW/SW/System/WildFly/standalone/configuration/<certificate_name>.jks
5. 執行下列指令來將 CA 憑證匯入至 JRE 憑證:
<InS_HOME>/InS_SW/SW/System/Java/bin/keytool.exe -import -noprompt
-alias "<actual alias from certificate>"
-keypass keypass "<actual_password_value"> -storepass keypass "<actual_password_value">
-file <InS_HOME>/InS_SW/SW/System/WildFly/standalone/configuration/cert.crt
-keystore <INS_HOME>/InS_SW/SW/System/Java/jre/lib/security/cacerts
6. 針對分割與叢集環境,請執行下列步驟來匯入 Publisher 與 Viewer 的新建憑證:
a. 將憑證從一台機器的 sw/System/WildFly/standalone/configuration 資料夾複製到另一機器的相同位置。將 Publisher 憑證複製到 Viewer,並將 Viewer 憑證複製到 Publisher。
b. 執行 importCertificate.bat 檔案,並將參數作為「憑證名稱」傳遞。SW 資料夾中包含 .sh 或 .bat 檔案。例如,importCertificate.bat <FullCertificateName.crt>。
|
|
如果使用的是萬用字元憑證,則可以略過此憑證交叉匯入步驟。
|
7. 重新啟動 coreServer、coreCMIserver 和 JBoss 服務。
可使用 SSL 存取 Servigistics InService web 應用程式。例如,嘗試 URL:https://localhost:8443。
透過使用自我簽署的憑證來支援 HTTPS
自我簽署的憑證是識別認證,由需要認證識別的同一實體簽署,而非由受信任的憑證單位簽署。安裝應用程式時,應用程式會自動建立自我簽署憑證。
欲支援 HTTPS,您必須將憑證新增至系統。
|
|
• PTC 建議僅使用協力廠商 (亦即受信任的憑證單位) 的 SSL 憑證。僅限在測試系統中使用自我簽署的憑證。不建議將自我簽署的憑證用於任何生產環境,即使位於防火牆後亦如此。
• 為獲得單體組態,應用程式會在您安裝應用程式時自動建立憑證。
• 這些步驟僅適用於建立和匯入自我簽署的憑證。
|
1. 將憑證從一部電腦上的 sw/System/WildFly/standalone/configuration 資料夾複製到另一部電腦上的相同位置。將 Publisher 憑證複製到 Viewer,並將 Viewer 憑證複製到 Publisher。
2. 執行 importCertificate.bat 檔案,並將參數作為從中複製憑證的 machineName 進行傳遞。SW 資料夾包含下列 .sh 或 .bat 檔案。
例如,在 Publisher 電腦上,轉至 SW 資料夾,並執行下列指令:
◦ 針對 Windows:
importCertificate.bat <v1.FullName>
◦ 若是 Linux:
./importCertificate.sh <v1.FullName>
◦ 在 Viewer 1 上: 針對 Windows
importCertificate.bat <Publisher.FullName>
針對 Linux
./importCertificate.sh <Publisher.FullName>
| • 在離線系統上匯入 Web 伺服器的憑證。針對離線 SSL 組態,執行 importCertificate.bat <primary_server_Full_host_Name> 指令。 • 全名指完整的網域名稱,如 <host_name>.ptcnet.ptc.com。 |
針對叢集環境
針對分割環境
疑難排解
如果某些步驟執行錯誤,並且您想要再次匯入憑證,請執行下列步驟:
1. 刪除或重新命名 sw\System\Java\JRE\lib\security\cacerts 檔案。
2. 刪除 inskeystore 及所有憑證。
3. 在所有將參數作為機器名稱的機器上執行 createkeyStore。
4. 視需要複製憑證。
5. 使用 importKeyStore 在所有機器上匯入其他憑證。