Java 在AuthnRequest'中生成DigestValue和SignatureValue;使用OpenSaml的s签名

Java 在AuthnRequest'中生成DigestValue和SignatureValue;使用OpenSaml的s签名,java,xml,saml-2.0,opensaml,Java,Xml,Saml 2.0,Opensaml,我想使用OpenSaml将DigestValue和SignatureValue设置为Authnrequest的Signature 最近生成的authnrequest是 <?xml version="1.0" encoding="UTF-8"?> <samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" AssertionConsumerServiceURL="http://i

我想使用OpenSaml将
DigestValue
SignatureValue
设置为
Authnrequest
Signature

最近生成的authnrequest是

<?xml version="1.0" encoding="UTF-8"?>
<samlp:AuthnRequest 
    xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" 
    AssertionConsumerServiceURL="http://idp.com/sso" 
    Destination="https://idp.com/authenticate" 
    ForceAuthn="false" 
    ID="a4df2939df77bfb81a590cb32bb600632746b2a4f3" 
    IsPassive="false" 
    IssueInstant="2020-01-01T10:16:25.205Z" 
    ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" 
    Version="2.0">
    <samlp:Issuer xmlns:samlp="urn:oasis:names:tc:SAML:2.0:assertion">https://sp.com/</samlp:Issuer>
    <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/2000/09/xmldsig#rsa-sha1" />
            <ds:Reference URI="#a4df2939df77bfb81a590cb32bb600632746b2a4f3">
                <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/2000/09/xmldsig#sha1" />
                <ds:DigestValue />
            </ds:Reference>
        </ds:SignedInfo>
        <ds:SignatureValue />
        <ds:KeyInfo>
            <ds:X509Data>
                <ds:X509Certificate>
                    MIICnDCCAgWgAwIBAgIBA...
                </ds:X509Certificate>
            </ds:X509Data>
        </ds:KeyInfo>
    </ds:Signature>
    <saml2p:NameIDPolicy xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" AllowCreate="true" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" />
</samlp:AuthnRequest>

https://sp.com/
MIICnDCCAgWgAwIBAgIBA。。。
在上面的
AuthnRequest
中,两个节点都是空的(
DigestValue
SignatureValue

  • 那么,如何为这两个设置值

  • 还有一个问题是如何从
    签名
    中删除
    ds:
    前缀


  • 谢谢..

    你能把生成xml的代码贴在哪里吗?为什么要删除ds前缀?我想删除ds前缀,因为我们的IDP没有使用此前缀。这会给身份验证造成问题吗?