署名された 1 つのアサーションを含む SAML 2 応答があり、応答自体が再度署名されています。以下のコードを使用して、応答の署名プロファイルを検証します。
SAMLSignatureProfileValidator signatureProfileValidator = new SAMLSignatureProfileValidator();
signatureProfileValidator.validate(response.getSignature());
署名を検証するためのコードブロックの下。
SignatureValidator signatureValidator = new SignatureValidator(validatingCredential);
signatureValidator.validate(response.getSignature());
しかし、これらは応答署名と応答署名プロファイルのみを検証すると思います。アサーション署名も検証する必要がありますか? 以下のコード ブロックを使用して、アサーション署名の検証を試みました。しかし、それは無効であることを意味する ValidationException を私に与えます。しかし、そうあるべきです。
SignatureValidator signatureValidator = new SignatureValidator(validatingCredential);
signatureValidator.validate(assertion.getSignature());