我们的客户(IDP)已请求我们的私钥,以便他们可以将我们的服务注册为SP,这对我来说似乎是一个很奇怪的请求,因为给他们我们的私钥使他们能够解密我们的其他任何客户SAML请求,甚至创建请求并攻击我们连接到的其他IdP。
我立即将其关闭,但随后他们让我参考了Azure AD B2C documentation
要在服务提供商和Azure AD B2C之间建立信任关系,需要提供X509证书及其私钥。
这正常吗?我一直认为他们只需要我们的x509证书
具有存储在您的Web应用程序中的私钥的证书
私钥位于SP应用程序(提供SP功能的Web应用程序)中,用于将SAML
Request
签名到IdP。 IdP仅需要来自SP的元数据中的SP的公钥证书,才能验证签名。
(可选)带有存储在您的Web应用程序中的私钥的证书
对于IdP,使用来自SP的元数据的SP的公钥证书对SAML
Response
进行加密是可选的。然后,SP使用其私钥来解密响应。
措词不是很好,因为似乎要把公钥和私钥都交给IdP。但这不是SAML
的工作方式。当读作“移交公钥并将相应的私钥保留在您的SP webapp中”时,它的意义更大。
我看不出实体必须将其私钥泄露给任何东西的任何原因。