ThingWorx Flow > 安裝與組態 > 配置 ThingWorx Flow > 再生自我簽署憑證
再生自我簽署憑證
執行下列指令,以在 <ThingWorx_Flow_Install_Location>/SSL 目錄中再生 orchestration.csrorchestration.crt 檔案:
1. 備份 <ThingWorx_Flow_Install_Location>/SSL 目錄。
2. 刪除 <ThingWorx_Flow_Install_Location>/SSL 目錄下的所有檔案。
3. 使用 openssl 公用程式執行下列指令來產生憑證:
<openssl_cmd> req -nodes -sha256 -newkey rsa:2048 -config <openssl_conf> -keyout "<ThingWorx_Flow_Install_Location>/SSL/orchestration.key" -subj "/C=<C>/O=<O>/OU=<OU>/CN=<CN>" -out "<ThingWorx_Flow_Install_Location>/SSL/orchestration.csr"
<openssl_cmd> x509 -req -days 365 -sha256 -in "<ThingWorx_Flow_Install_Location>/SSL/orchestration.csr" -signkey "<ThingWorx_Flow_Install_Location>/SSL/orchestration.key" -out "<ThingWorx_Flow_Install_Location>/SSL/orchestration.crt"
,其中
<C> - 國家名稱 (2 個字母的代碼)
<O> - 組織名稱 (例如,公司)
<OU> - 組織單位名稱 (例如,部門)
<CN> - 通用名稱 (例如,伺服器 FQDN) 完整網域名稱 (例如,win-f3ai9djq75j)
<openssl_cmd> - Windows:執行 cd C:/opscode/chef/embedded/bin/opensslcd C:/cinc-project/cinc/embedded/bin,鍵入 openssl,並執行上述指令。
Linux:鍵入 openssl,並執行上述指令。
<openssl_conf> - Windows:C:/opscode/chef/embedded/ssl/openssl.cnfC:/cinc-project/cinc/embedded/ssl/openssl.cnf
Linux:/etc/pki/tls/openssl.cnf
例如:
Windows - C:/opscode/chef/embedded/bin/openssl req -nodes -sha256 -newkey rsa:2048 -config C:/opscode/chef/embedded/ssl/openssl.cnf -keyout "C:\orchestration.key" -subj "/C=US/O=PTC/OU=IT Department/CN=WIN-F3AI9DJQ75J" -out "C:\orchestration.csr"
Windows - C:/opscode/chef/embedded/bin/openssl x509 -req -days 365 -sha256 -in "C:\PROGRA~1\twx\THINGW~2/SSL/orchestration.csr" -signkey "C:\orchestration.key" -out "C:\orchestration.crt"
4. 對於 ThingWorx Flow 9.1.0 和更高版本,以及 ThingWorx Flow 9.0.3 和更高版本:
a. <ThingWorx_Flow_Install_Location>/SSL 資料夾下,建立 nginx-keyfile 檔案和已加密私密金鑰的新密碼。
b. 使用 openssl 公用程式執行下列指令來加密 nginx 私密金鑰:
<openssl_cmd> rsa -aes256 -passout pass:<與在 nginx-keyfile 中所定義密碼相同的密碼> -in "<ThingWorx_Flow_Install_Location>/SSL/orchestration.key" -out "<ThingWorx_Flow_Install_Location>/SSL/orchestration_enc.key"
c. 刪除 orchestration.key 並將 orchestration_enc.key 重新命名為 orchestration.key
5. (僅限 Linux) 設定下列權限:
sudo chown flowuser:flowuser <ThingWorx_Flow_Install_Location>\SSL\orchestration.crt,其中 flowuser 是執行 ThingWorx Flow 安裝程式的使用者。
sudo chown flowuser:flowuser <ThingWorx_Flow_Install_Location>\SSL\orchestration.key
,其中 flowuser 是執行 ThingWorx Flow 安裝程式的使用者。
sudo chcon -t httpd_sys_content_t <ThingWorx_Flow_Install_Location>\SSL\orchestration.crt
sudo chcon -t httpd_sys_content_t <ThingWorx_Flow_Install_Location>\SSL\orchestration.key
針對 ThingWorx Flow 9.1.0 與 ThingWorx Flow 9.0.3 及更新版本:
sudo chown flowuser:flowuser <ThingWorx_Flow_Install_Location>/SSL/nginx-keyfile
,其中 flowuser 是執行 ThingWorx Flow 安裝程式的使用者。
sudo chcon -t httpd_sys_content_t <ThingWorx_Flow_Install_Location>/SSL/nginx-keyfile
6. 變更位於 <ThingWorx Flow 安裝目錄>\SSL 資料夾中的 extra.crt 檔案,並以新的自我簽署憑證內容取代第一個憑證的內容。
7. 重新啟動 RabbitMQThingWorx-FlowNginxThingWorx-Foundation 服務。
這是否有幫助?