为应用程序层加密和签名配置 SSL 证书
为应用程序 (例如 ThingWorxPingFederate) 配置 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 加密和解密
加密和解密 SAML 响应 (其中也包含从 IdP 到 CAS 以及从 CAS 到服务提供者的声明)。签名和加密使用相同的证书。
IdP 与 CAS 间的任何通信均由 CAS 公用证书加密,在 CAS 上,通信由 CAS 私有证书解密。此外,在 CAS 上,通信由服务提供者公用证书再次加密。在服务提供者上,通信由服务提供者私有证书解密。
下图显示了 XML 加密和解密过程。
在图中:
ThingWorx 为服务提供者,PingFederate 为 CAS。
ThingWorx 私有证书在 sso-settings.json 文件中所引用的 ThingWorx 服务器上的 KeyStore 文件中进行配置。
ThingWorx 公用证书和 PingFederate 私有证书在 PingFederate 服务器上的服务提供者配置部分中进行配置。
这对您有帮助吗?