【问题标题】:How to get BasicX509Credential from SAML 2.0 reponse如何从 SAML 2.0 响应中获取基本 X509 凭据
【发布时间】:2017-01-06 16:17:15
【问题描述】:

我想验证 saml 响应的签名。目前我可以使用 OpenSAML 从断言中获取签名变量的值。但是,如何获取publickey和publicCredential呢?

try {
            BasicX509Credential publicCredential = new BasicX509Credential();
            publicCredential.setPublicKey(publicKey);
            SignatureValidator signatureValidator = new SignatureValidator(publicCredential);
            signatureValidator.validate(signature);
        } catch (ValidationException e) {
            e.printStackTrace();
           // throw new InvalidAssertionException("Assertion signature validation failed.");
        }

【问题讨论】:

    标签: saml saml-2.0 spring-saml opensaml


    【解决方案1】:

    两种方式:

    1. 从 IdP 元数据中获取公钥材料。
    2. 从 SAML 响应中获取公钥材料(如果有)。

    但理想情况下,您应该从在 IdP 和 SP 之间建立信任期间收到的 IdP 元数据中获取公钥材料。这是因为 IdP 和 SP 之间的信任是在配置时建立的,而不是在运行时从 IdP 接收 SAML 响应时建立的。

    【讨论】:

    • 一些例子会很有帮助。
    猜你喜欢
    • 2014-09-28
    • 2018-06-17
    • 1970-01-01
    • 2021-04-15
    • 1970-01-01
    • 1970-01-01
    • 2021-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多