});
}
+ if (relyingPartyConfig.getDecryptionX509Credentials() != null) {
+ registrationBuilder.decryptionX509Credentials(new Consumer<Collection<Saml2X509Credential>>() {
+ @Override
+ public void accept(Collection<Saml2X509Credential> credentials) {
+ for (X509CredentialType credentialConfig : relyingPartyConfig.getDecryptionX509Credentials().getX509Credential()) {
+ PrivateKey privateKey = privateKeyFromUrl(credentialConfig.getPrivateKey().getLocation());
+ X509Certificate certificate = certificateFromConfig(credentialConfig.getX509Certificate());
+
+ if (certificate != null) {
+ credentials.add(Saml2X509Credential.decryption(privateKey, certificate));
+ }
+ }
+ }
+ });
+ }
+
registrations.add(registrationBuilder.build());
}
}
</xs:annotation>
</xs:element>
+ <xs:element name="decryption-x509-credentials" type="X509CredentialsType" minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ The credentials used to encrypt/decrypt responses from the IdP. Required if
+ the IdP requires assertions to be signed.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
<xs:element name="assertion-username-probes" type="AssertionProbesType" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation>