没有私钥的 ComponentSpace SAML SSO 和解密断言

ComponentSpace SAML SSO and Decrypt Assertion without Private Key

我们正在使用低级别的 ComponentSpace SAML 2.0 实现,当尝试读取加密的断言时,在传递 x509 证书文件时,ComponentSpace 只能在文件中存在私钥时解密。

在很多情况下,SAML SSO Idp 不在证书文件中包含私钥,还有其他方法可以解密断言吗?

XmlElement decryptedElement = encryptedAssertion.DecryptToXml(x509Certificate);

身份提供者使用服务提供者的 public 密钥加密 SAML 断言。服务提供商使用服务提供商的私钥对加密的断言进行解密。 SAML 断言永远不应使用身份提供者的 public 密钥进行加密。您永远不需要第三方的私钥,也不应该将您的私钥提供给第三方。您只能交换 public 个密钥。

您应该向身份提供商提供您的 public 密钥(例如 sp.cer 文件)。

您应该使用私钥解密 SAML 断言(例如 sp.pfx)。