当前位置: 首页 > 知识库问答 >
问题:

如何使用Google SAML签署断言

关冠宇
2023-03-14

我正在尝试使用谷歌办公套件设置SAML。但是我得到了这个错误响应断言未签名,SP需要它。

我已经配置断言应该在我的SP中签名。我可以在其他IDP(如onelogin、okta)中看到签署响应断言的选项。该配置适用于其他IDP,但看不到在谷歌办公套件SAML中唱响应断言的选项。

在Gsuite中,我只能看到签名响应的选项,而不能看到断言。

如何正确设置此设置?

SP元数据如下所示:

<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<ds:Reference URI="#pfxd76b3d5e-171f-a19e-7655-e6cc6664adb0">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<ds:DigestValue>/K0lp4rOuuVcuRlMsx14/t2n0LkkDdJqzyiEa2sar/E=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>xxxx</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>xxxx</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
<md:SPSSODescriptor AuthnRequestsSigned="true" WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:KeyDescriptor use="signing">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>xxxx</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="xxxx/sso/611b7d0d3783084966599da3/slo"/>
<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="xxxx/sso/611b7d0d3783084966599da3/acs" index="1"/>
<md:AttributeConsumingService index="1">
<md:ServiceName xml:lang="en">SP test</md:ServiceName>
<md:ServiceDescription xml:lang="en">Test Service</md:ServiceDescription>
<md:RequestedAttribute Name="" NameFormat="" FriendlyName="" isRequired="false"/>
</md:AttributeConsumingService>
</md:SPSSODescriptor>
</md:EntityDescriptor>```

共有1个答案

裴星洲
2023-03-14

据此,

(可选)如果服务提供商要求对整个SAML身份验证响应进行签名,请选中签名响应框。如果未选中此选项(默认设置),则仅对响应中的断言进行签名。

您可能希望取消选中该框,让默认行为接管。

 类似资料:
  • 我试图遵循这个答案:https://stackoverflow.com/a/46000524/13925339 我可以签署SAML响应消息: 我可以拿出SAML断言并签名: 但是,我如何将这两者结合起来(使用OneLogin的https://www.samltool.com/sign_response.php在线工具处于“签名消息和断言”模式)?

  • 但是,为了签署请求,openSSL提供了两个工具:ca和X509。然而,这些都不允许使用SHA256。根据官方文档,ca只支持md5、sha1和MDC2。x509仅支持md2、md5、sha1、MDC2。 谢谢你。

  • 我刚刚创建了DocuSign开发人员帐户。我必须使用签名对PDF进行签名,并用C#将其发送给收件人。我不希望收件人使用https://developers.docusign.com/esign-rest-api/code-examples/code-example-request-a-signature-via-email。我的系统中已经有PDF可用,我需要使用DocuSign API签名并将其发

  • 我失去了活力。jar文件,但我有我第一次签署apk并在google控制台中发布时生成的密钥库。我试图在控制台中签署更新的apk并上传,但它说 您上载的APK未使用上载证书签名。您必须使用相同的证书。上传证书有指纹:[SHA1--------------------------] 用于签署您上传的APK的证书具有指纹:[SHA1-----------------------------] 我试过这种

  • 我想将erc20代币从一个账户转移到另一个账户。我知道我可以使用智能合约包装类的Transfer或transferFrom函数。但在我的情况下,erc20代币交易需要在客户端签名。并且没有办法在智能合约包装函数中传递signedTransaction。那么,如何在java中使用web3j签署erc20代币交易并执行交易。 我发现了这个类似的问题。但是,它的代码不是用java编写的。我不知道如何在A

  • 问题内容: 一个简单的问题,答案相当复杂: 如何签名Java Midlet,以便可以在安全提示较少的情况下将其加载到手机上? 问题答案: 获取所需的软件 Java的SDK(JDK)从太阳(你应该已经有此) Java无线工具包(WTK)也从太阳 (可选)获取并安装Ant和Antenna,以使您的构建自动化(强烈建议您这样做) 导入现有证书(如果有的话) 如果您是从Verisign(或其他提供商)购买