安裝、授權並配置 ThingWorx Navigate > 使用 SSL 進行安全通訊
  
使用 SSL 進行安全通訊
* 
本主題適用於配置了 Windchill 驗證的系統。
簡介
您的網站可以使用雙向 SSL 來保護 ThingWorx 伺服器與 Windchill 應用程式之間的通訊。PTC 建議在生產環境中工作時使用 SSL。延伸功能可以使用 SSL 來讓伺服器彼此之間進行驗證,並保護通訊本身。
SSL 連線需要兩個系統之間彼此信任;為達成此目的,必須將舊的和新的 WindchillConnector 物範本配置為參照保存在 ThingWorx 伺服器 (該伺服器提供用於交易的金鑰) 中的 Java 金鑰與信任存放區。Windchill 伺服器中的 HTTP 伺服器必須配置為信任這些金鑰。
此程序假設 ThingWorxWindchill 都配置為針對其標準通訊使用 SSL。它也依賴隨附於 PTC HTTP 伺服器最新版本的組態指令集。Windchill 11.0 M030 及更新版本中包含最新的 PTC HTTP 伺服器。
* 
商業信任的萬用字元憑證可用於 Windchill,自行簽署的憑證可在 ThingWorxWindchill 之間使用。
使用金鑰庫與信任庫配置 ThingWorx
ThingWorx 需要 Java 金鑰存放區與信任存放區。
1. ThingWorx 建立信任庫並匯入 Windchill SSL 憑證。
2. 針對 ThingWorx 建立金鑰庫,並在金鑰庫中產生金鑰對。
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 憑證。
a. 編輯 <windchill-home>/codebase/WEB-INF/web.xml
b. 尋找 <filter-name>TrustedSSLAuthFilter</filtername>
c. 在現有的 <init-param> 元素之後新增另一個此元素,其中 [thingworx-cert-name]ThingWorx 憑證的名稱:
<init-param><param-name>trustedSubjectPattern.1</param-name><param-value>
[thingworx-cert-name]</param-value></init-param>
d. 儲存變更。