使用 SSL 進行安全通訊
* 
本主題適用於配置了 Windchill 驗證的系統。
簡介
您的網站可以使用雙向 SSL 來保護 ThingWorx 伺服器與 Windchill 應用程式之間的通訊。PTC 建議在生產環境中工作時使用 SSL。延伸功能可以使用 SSL 來讓伺服器彼此之間進行驗證,並保護通訊本身。
SSL 連線需要兩個系統之間彼此信任;為達成此目的,必須將 SwaggerConnectorptc-windchill-Odata-connector 配置為參照保留在 ThingWorx 伺服器中的 Java KeyStore 與 TrustStore 檔案,以提供用於交易的金鑰。Windchill 伺服器中的 HTTP 伺服器必須配置為信任這些金鑰。
SSL 組態會有明顯不同,本主題不會嘗試描述 SSL 組態中的所有可用選項。相反地,下列步驟提供了 SSL 配置流程概觀。
此程序假設 ThingWorxWindchill 都配置為針對其標準通訊使用 SSL。它也依賴隨附於 PTC HTTP 伺服器最新版本的組態指令集。Windchill 11.0 M030 及更新版本中包含最新的 PTC HTTP 伺服器。
* 
您可以針對 Windchill 使用商業信任的萬用字元憑證。
您可以在 ThingWorxWindchill 之間使用自行簽署憑證或商業信任的萬用字元憑證。
使用 KeyStore 與 TrustStore 配置 ThingWorx
ThingWorx 需要 Java 金鑰存放區與信任存放區。如需有關建立這些檔案的指示,請參閱針對 ThingWorx Navigate 建立 KeyStore 與 TrustStore 檔案主題。
1. ThingWorx 建立 TrustStore 並匯入 Windchill SSL 憑證。
2. 針對 ThingWorx 建立 KeyStore,並在 KeyStore 中產生 KeyPair。
3. Windchill 配置為信任 ThingWorx
4. 在用來將 ThingWorx 連線至要保護的 Windchill 系統之 WindchillConnector 物範本的組態中參考它們。
Windchill 配置用戶端驗證
Windchill 伺服器上,配置 PTC HTTP 伺服器中的 SSL 驗證以信任 ThingWorx 金鑰與憑證。
* 
程式碼範例已重新設定格式以符合頁面大小,因此可能包含行號、隱藏的編輯字元 (例如 tab 和行尾字元),以及額外的空格。如果您剪下並貼上程式碼,請檢查這些字元並將其移除再嘗試在您的應用程式中使用範例。
1. 更新 PTC HTTP 伺服器組態,以參照 CA 憑證檔案。
a. <HTTPSERVER_HOME>\conf\ca-bundle.crt 中建立檔案。建議使用此位置,但並非必要。
b. 儲存 ca-bundle.crt
c. <HTTPSERVER_HOME>\conf\sslvhostconf.d 中建立 sslclientauth.conf 檔案。
d. SSLCACertificateFile 新增至 <PATH_TO>\ca-bundle.crt,以使其參照 ca-bundle.crt 檔案.例如:
SSLCACertificateFile
<HTTP_Server>\conf\ca-bundle.crt
e. 儲存變更。
2. ThingWorx 用戶端憑證新增至 PTC HTTP 伺服器的信任 CA 憑證清單。
a. 編輯您之前在 SSLCACertificateFile 項目中指向的 ca-bundle.crt 檔案。
* 
如果檔案尚不存在,請建立檔案與任何所需的目錄。
b. 編輯 ca-bundle.crt 並貼上 ThingWorx 用戶端憑證的 PEM 檔案內容。
c. 儲存變更。
3. 針對 sslClientAuth URL 配置 PTC HTTP 伺服器。
a. <windchill-home>/codebase/wt.propertieswt.webapp.name 項目中尋找 Windchill web app 名稱。
b. 開啟 shell 或指令提示,然後輸入下列指令︰
cd <HTTPSERVER_HOME>ant -f webAppConfig.xml -DappName=[windchill-web-app] -Dresource=sslClientAuth -DresourceAuthType=sslClientAuth addAuthResource
c. Windchill 配置為信任 ThingWorx 憑證。
i. 編輯 <windchill-home>/codebase/WEB-INF/web.xml
ii. 尋找 <filter-name>TrustedSSLAuthFilter</filtername>
iii. 在現有的 <init-param> 元素之後新增另一個此類元素,其中 [Subject] 是憑證名稱。
下列範例可用作參考:
<init-param>
<param-name>trustedSubjectPattern.1</param-name>
<param-value>[Subject]</param-value>
</init-param>
在上面的範例中,將 [Subject] 取代為憑證「主旨」中提供的憑證名稱。例如,如果憑證「主旨」CN=navigate.domain.com,則將 [Subject] 取代為 CN=navigate.domain.com
d. 儲存變更。
e. 重新啟動 Windchill 與 PTC HTTP 伺服器。
這是否有幫助?