如何从SAML 2.0响应中获取basicx509凭据



我想验证小响应的签名。目前,我可以使用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.");
        }

两种方式:

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

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

相关内容

  • 没有找到相关文章

最新更新