我们要求在发送到国内流离失所者之前签署SAML AuthnRequest。我们使用Apache模块mod_mellon来实现。根据文档,我们在SP元数据xml文件中添加了以下属性,但仍未对请求进行签名。
AuthnRequestsSigned="true"
以下SP元数据供参考。
<EntityDescriptor entityID="https://foo.com" xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<SPSSODescriptor AuthnRequestsSigned="true" WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<KeyDescriptor use="signing">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>MIIC.....</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</KeyDescriptor>
<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://foo.com/mellon/logout"/>
<AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://foo.com/mellon/postResponse" index="0"/>
</SPSSODescriptor>
</EntityDescriptor>当我们访问应用程序时,请求仍然没有签名。如果遇到类似的问题,有人能帮忙吗?
谢谢
发布于 2019-06-28 12:57:08
签名是用私钥创建的,而不是用公钥创建的。
这里不使用SP元数据。
您需要在mellon配置中定义私钥。
例如。
MellonSPPrivateKeyFile /etc/apache2/mellon/ssotest.key请参阅mellon
https://stackoverflow.com/questions/56793589
复制相似问题