針對應用程式層加密與簽署配置 SSL 憑證
基於下列目的,針對應用程式 (例如 ThingWorx 與 PingFederate) 配置 SSL 憑證:
• SAML 簽署與簽章驗證 - 建立信任並核對請求的原始來源。
• XML 加密與解密 - 提供 SAML 回應的安全通訊。
SAML 簽署與簽章驗證
會透過私人金鑰執行簽署,並透過公開金鑰執行簽章驗證。
在簽署與簽章驗證流程中:
◦ 從服務提供者到 CAS 的任何通訊皆透過服務提供者私人憑證簽署。在 CAS 上,會透過服務提供者公開憑證執行簽章驗證。此外,會在 CAS 上透過 CAS 私人憑證再次簽署通訊,並在識別提供者 (IdP) 上,透過 CAS 公開憑證執行簽章驗證。
◦ 從 IdP 到 CAS 的任何通訊皆透過 IdP 私人憑證簽署。在 CAS 上,會透過 IdP 公開憑證執行簽章驗證。此外,會在 CAS 上透過 CAS 私人憑證再次簽署通訊,並在服務提供者上,透過 CAS 公開憑證執行簽章驗證。
下圖顯示各種應用程式之間的簽署與簽章驗證流程。
在此圖中:
◦ ThingWorx 是服務提供者,PingFederate 是 CAS。
◦ ThingWorx 私人憑證與 PingFederate 公開憑證在 ThingWorx SSO 組態所參考的 KeyStore 檔案中配置。
◦ ThingWorx 公開憑證與 PingFederate 私人憑證在 PingFederate 伺服器上的 IdP 組態部份配置。
◦ IdP 公開憑證與 PingFederate 私人憑證在 PingFederate 伺服器上的服務提供者組態部份配置。IdP 公開憑證包含在 IdP Metadata.xml 檔案中。
◦ PingFederate 公開憑證在 IdP 上的信賴憑證者組態中配置。此憑證包含在從 PingFederate 伺服器匯出之服務提供者的 Metadata.xml 檔案中。
XML 加密與解密
會對從 IdP 到 CAS 以及從 CAS 到服務提供者的 SAML 回應 (也包含宣告) 進行加密及解密。會針對簽署與加密使用相同的憑證。
從 IdP 到 CAS 的任何通訊皆透過 CAS 公開憑證加密,且在 CAS 上,會透過 CAS 私人憑證對通訊進行解密。此外,會在 CAS 上透過服務提供者公開憑證對通訊進行再次加密。在服務提供者上,會透過服務提供者私人憑證對通訊進行解密。
下圖顯示 XML 加密與解密。
在此圖中:
◦ ThingWorx 是服務提供者,PingFederate 是 CAS。
◦ ThingWorx 私人憑證在 sso-settings.json 檔案中參考之 ThingWorx 伺服器上的 KeyStore 檔案中配置。
◦ ThingWorx 公開憑證與 PingFederate 私人憑證在 PingFederate 伺服器上的服務提供者組態部份配置。