首页 > 解决方案 > 使用 OpenSaml 在 AuthnRequest 的签名中生成 DigestValue 和 SignatureValue

问题描述

我想设置DigestValue并使用SignatureValueOpenSaml 。SignatureAuthnrequest

最近生成的 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>

在上面AuthnRequest两个节点都是空的(DigestValueSignatureValue)。

  1. 那么如何为它们设置值。

  2. 还有一个问题是如何ds:Signature.

谢谢..

标签: javaxmlsaml-2.0opensaml

解决方案


推荐阅读