[java-metadata-aggregator] branch main updated: MDA-280 - Prevent ConstraintViolation at run time with bad data
Ian Young
ian at iay.org.uk
Tue Mar 28 14:07:09 UTC 2023
This is an automated email from the git hooks/post-receive script.
iay pushed a commit to branch main
in repository java-metadata-aggregator.
View the commit online:
http://git.shibboleth.net/view/?p=java-metadata-aggregator.git;a=commit;h=44ba0d6deeb5d8c0e191b1a6186dd984f35aa98a
The following commit(s) were added to refs/heads/main by this push:
new 44ba0d6 MDA-280 - Prevent ConstraintViolation at run time with bad data
44ba0d6 is described below
commit 44ba0d6deeb5d8c0e191b1a6186dd984f35aa98a
Author: Ian Young <ian at iay.org.uk>
AuthorDate: Tue Mar 28 15:06:18 2023 +0100
MDA-280 - Prevent ConstraintViolation at run time with bad data
https://shibboleth.atlassian.net/browse/MDA-280
---
.../EntityDescriptorItemIdPopulationStage.java | 21 +++++-
.../EntityDescriptorItemIdPopulationStageTest.java | 46 ++++++++++++
...tityDescriptorItemIdPopulationStage-emptyID.xml | 83 ++++++++++++++++++++++
...yDescriptorItemIdPopulationStage-noEntityID.xml | 83 ++++++++++++++++++++++
4 files changed, 231 insertions(+), 2 deletions(-)
diff --git a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityDescriptorItemIdPopulationStage.java b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityDescriptorItemIdPopulationStage.java
index 0667a75..735c865 100644
--- a/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityDescriptorItemIdPopulationStage.java
+++ b/mda-framework/src/main/java/net/shibboleth/metadata/dom/saml/EntityDescriptorItemIdPopulationStage.java
@@ -26,11 +26,25 @@ import net.shibboleth.metadata.Item;
import net.shibboleth.metadata.ItemId;
import net.shibboleth.metadata.pipeline.AbstractIteratingStage;
import net.shibboleth.metadata.pipeline.StageProcessingException;
+import net.shibboleth.shared.primitive.StringSupport;
import net.shibboleth.shared.xml.AttributeSupport;
/**
* A stage which, for each EntityDescriptor collection element, adds an {@link ItemId}, with the entity's entity ID, to
* the metadata item.
+ *
+ * <p>Ignores:</p>
+ * <ul>
+ * <li>Items that don't contain an <code>EntityDescriptor</code></li>
+ * <li><code>EntityDescriptors</code> lacking an <code>entityID</code></li>
+ * <li><code>EntityDescriptors</code> with an empty <code>entityID</code></li>
+ * </ul>
+ *
+ * <p>
+ * Most uses of this stage will expect that it will attach an {@link ItemId} to every {@link Item}
+ * in the collection. To ensure that it does so, it may be useful to schema-validate entities
+ * beforehand, and remove malformed entities.
+ * </p>
*/
@ThreadSafe
public class EntityDescriptorItemIdPopulationStage extends AbstractIteratingStage<Element> {
@@ -40,8 +54,11 @@ public class EntityDescriptorItemIdPopulationStage extends AbstractIteratingStag
final Element metadataElement = item.unwrap();
if (SAMLMetadataSupport.isEntityDescriptor(metadataElement)) {
- final String entityId = AttributeSupport.getAttributeValue(metadataElement, null, "entityID");
- item.getItemMetadata().put(new ItemId(entityId));
+ final String entityId = StringSupport.trimOrNull(
+ AttributeSupport.getAttributeValue(metadataElement, null, "entityID"));
+ if (entityId != null) {
+ item.getItemMetadata().put(new ItemId(entityId));
+ }
}
}
}
diff --git a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityDescriptorItemIdPopulationStageTest.java b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityDescriptorItemIdPopulationStageTest.java
index d49037c..6480e7f 100644
--- a/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityDescriptorItemIdPopulationStageTest.java
+++ b/mda-framework/src/test/java/net/shibboleth/metadata/dom/saml/EntityDescriptorItemIdPopulationStageTest.java
@@ -130,4 +130,50 @@ public class EntityDescriptorItemIdPopulationStageTest extends BaseDOMTest {
Assert.assertEquals(itemId.getId(), entityDescriptor.getAttributeNS(null, "entityID"));
}
}
+
+ /**
+ * Tests running the stage on an <code>EntityDescriptor</code> lacking a <code>entityID</code>.
+ *
+ * @throws Exception if something bad happens
+ */
+ @Test
+ public void testNoEntityID() throws Exception {
+ final var item = new DOMElementItem(readXMLData("noEntityID.xml"));
+ final ArrayList<Item<Element>> metadataCollection = new ArrayList<>();
+ metadataCollection.add(item);
+
+ EntityDescriptorItemIdPopulationStage stage = new EntityDescriptorItemIdPopulationStage();
+ stage.setId("test");
+ stage.initialize();
+
+ stage.execute(metadataCollection);
+
+ final var itemIds = item.getItemMetadata().get(ItemId.class);
+ Assert.assertEquals(itemIds.size(), 0);
+
+ stage.destroy();
+ }
+
+ /**
+ * Tests running the stage on an <code>EntityDescriptor</code> with an empty <code>entityID</code>.
+ *
+ * @throws Exception if something bad happens
+ */
+ @Test
+ public void testEmptyEntityID() throws Exception {
+ final var item = new DOMElementItem(readXMLData("emptyID.xml"));
+ final ArrayList<Item<Element>> metadataCollection = new ArrayList<>();
+ metadataCollection.add(item);
+
+ EntityDescriptorItemIdPopulationStage stage = new EntityDescriptorItemIdPopulationStage();
+ stage.setId("test");
+ stage.initialize();
+
+ stage.execute(metadataCollection);
+
+ final var itemIds = item.getItemMetadata().get(ItemId.class);
+ Assert.assertEquals(itemIds.size(), 0);
+
+ stage.destroy();
+ }
}
diff --git a/mda-framework/src/test/resources/net/shibboleth/metadata/dom/saml/EntityDescriptorItemIdPopulationStage-emptyID.xml b/mda-framework/src/test/resources/net/shibboleth/metadata/dom/saml/EntityDescriptorItemIdPopulationStage-emptyID.xml
new file mode 100644
index 0000000..600d907
--- /dev/null
+++ b/mda-framework/src/test/resources/net/shibboleth/metadata/dom/saml/EntityDescriptorItemIdPopulationStage-emptyID.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" entityID="">
+ <Extensions>
+ <shibmd:Scope xmlns:shibmd="urn:mace:shibboleth:metadata:1.0" regexp="false">unifr.ch</shibmd:Scope>
+ </Extensions>
+ <IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol urn:oasis:names:tc:SAML:1.1:protocol urn:mace:shibboleth:1.0">
+ <KeyDescriptor use="signing">
+ <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+ <ds:KeyName>aai.unifr.ch</ds:KeyName>
+ <ds:X509Data>
+ <ds:X509Certificate>
+ MIIDGzCCAgOgAwIBAgIUP8Gy5z0CP/joSEYbKGS0Np66XeUwDQYJKoZIhvcNAQEF
+ BQAwFzEVMBMGA1UEAxMMYWFpLnVuaWZyLmNoMB4XDTA5MDczMDEzNTUyNVoXDTEy
+ MDczMDEzNTUyNVowFzEVMBMGA1UEAxMMYWFpLnVuaWZyLmNoMIIBIjANBgkqhkiG
+ 9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm8TgEsFh5W6xFbiqKgGj23riyn1TWp03p63z
+ qM48wLotMWij1hAQlv3hxSTE39qvWMXt3PwOYn9Ck+O2soVIqGonCeq9MNjQUeSD
+ uZiMUKHq0w/3l/3vbA5KR6dl3x4FaFqv7RaIbO0mu/tH5ScEteuKrNVby9ojQwsI
+ PcTXbbRJrlFKM+2GTeE1mJhd9PquOS/iKqmIpr6c4r7hKu1nErKG7lFrqTA6exKl
+ Nb4dUj3Gp+revcwf6UgZJwBxQ858Noy7BAeg5LT7r1dGE68YmrBPYJLj84jeNyIA
+ /KS5zeeSWZnaHljunjEax9zoSkm3wRgfS6W2ruS/q2DdHxvOzwIDAQABo18wXTA8
+ BgNVHREENTAzggxhYWkudW5pZnIuY2iGI2h0dHBzOi8vYWFpLnVuaWZyLmNoL2lk
+ cC9zaGliYm9sZXRoMB0GA1UdDgQWBBT5gNjirVVpDtJqTpZJVpU7jF+LJDANBgkq
+ hkiG9w0BAQUFAAOCAQEAM/EIJuqE1zWUuUWpbc9uxD1sNv4AQ/wBj7LlAQ4FcJem
+ cZcycgaE1c4IC+hQGQ9pFjAoQQbJmz2P5btQ8SGpNI+gD45OOIaUa7wgKNJeDGR6
+ vLWvyof5uNQ2Af9FpM0l23prY3phkGxtqSKvigOFIJEEuMOTrUikxFtrRdEQ6qDk
+ y4RKFDZ92qV076YLeCI6GX+IMrSKE8GQKxvq32IEw/LlvjC21IJSeTwU9hPQsCLL
+ 06PCqiwBffRqZguTXXOWk0n/Btri44echadREWrOem6cwJuHs6nvQ/iHSjjmHVSs
+ V29q22MI4G0dXLKIBkHsMyrEdS06vIvIbXuILzV6lQ==
+ </ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </KeyDescriptor>
+ <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://aai.unifr.ch:8443/idp/profile/SAML1/SOAP/ArtifactResolution" index="1"/>
+ <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://aai.unifr.ch:8443/idp/profile/SAML2/SOAP/ArtifactResolution" index="2"/>
+ <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
+ <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
+ <SingleSignOnService Binding="urn:mace:shibboleth:1.0:profiles:AuthnRequest" Location="https://aai.unifr.ch/idp/profile/Shibboleth/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://aai.unifr.ch/idp/profile/SAML2/Redirect/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://aai.unifr.ch/idp/profile/SAML2/POST/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://aai.unifr.ch/idp/profile/SAML2/POST-SimpleSign/SSO"/>
+ </IDPSSODescriptor>
+ <AttributeAuthorityDescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol urn:oasis:names:tc:SAML:1.1:protocol">
+ <KeyDescriptor use="signing">
+ <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+ <ds:KeyName>aai.unifr.ch</ds:KeyName>
+ <ds:X509Data>
+ <ds:X509Certificate>
+ MIIDGzCCAgOgAwIBAgIUP8Gy5z0CP/joSEYbKGS0Np66XeUwDQYJKoZIhvcNAQEF
+ BQAwFzEVMBMGA1UEAxMMYWFpLnVuaWZyLmNoMB4XDTA5MDczMDEzNTUyNVoXDTEy
+ MDczMDEzNTUyNVowFzEVMBMGA1UEAxMMYWFpLnVuaWZyLmNoMIIBIjANBgkqhkiG
+ 9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm8TgEsFh5W6xFbiqKgGj23riyn1TWp03p63z
+ qM48wLotMWij1hAQlv3hxSTE39qvWMXt3PwOYn9Ck+O2soVIqGonCeq9MNjQUeSD
+ uZiMUKHq0w/3l/3vbA5KR6dl3x4FaFqv7RaIbO0mu/tH5ScEteuKrNVby9ojQwsI
+ PcTXbbRJrlFKM+2GTeE1mJhd9PquOS/iKqmIpr6c4r7hKu1nErKG7lFrqTA6exKl
+ Nb4dUj3Gp+revcwf6UgZJwBxQ858Noy7BAeg5LT7r1dGE68YmrBPYJLj84jeNyIA
+ /KS5zeeSWZnaHljunjEax9zoSkm3wRgfS6W2ruS/q2DdHxvOzwIDAQABo18wXTA8
+ BgNVHREENTAzggxhYWkudW5pZnIuY2iGI2h0dHBzOi8vYWFpLnVuaWZyLmNoL2lk
+ cC9zaGliYm9sZXRoMB0GA1UdDgQWBBT5gNjirVVpDtJqTpZJVpU7jF+LJDANBgkq
+ hkiG9w0BAQUFAAOCAQEAM/EIJuqE1zWUuUWpbc9uxD1sNv4AQ/wBj7LlAQ4FcJem
+ cZcycgaE1c4IC+hQGQ9pFjAoQQbJmz2P5btQ8SGpNI+gD45OOIaUa7wgKNJeDGR6
+ vLWvyof5uNQ2Af9FpM0l23prY3phkGxtqSKvigOFIJEEuMOTrUikxFtrRdEQ6qDk
+ y4RKFDZ92qV076YLeCI6GX+IMrSKE8GQKxvq32IEw/LlvjC21IJSeTwU9hPQsCLL
+ 06PCqiwBffRqZguTXXOWk0n/Btri44echadREWrOem6cwJuHs6nvQ/iHSjjmHVSs
+ V29q22MI4G0dXLKIBkHsMyrEdS06vIvIbXuILzV6lQ==
+ </ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </KeyDescriptor>
+ <AttributeService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://aai.unifr.ch:8443/idp/profile/SAML1/SOAP/AttributeQuery"/>
+ <AttributeService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://aai.unifr.ch:8443/idp/profile/SAML2/SOAP/AttributeQuery"/>
+ <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
+ <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
+ </AttributeAuthorityDescriptor>
+ <Organization>
+ <OrganizationName xml:lang="en">unifr.ch</OrganizationName>
+ <OrganizationDisplayName xml:lang="de">Université de Fribourg - Universität
+ Freiburg</OrganizationDisplayName>
+ <OrganizationDisplayName xml:lang="en">University of Fribourg</OrganizationDisplayName>
+ <OrganizationDisplayName xml:lang="fr">Université de Fribourg - Universität
+ Freiburg</OrganizationDisplayName>
+ <OrganizationURL xml:lang="fr">http://www.unifr.ch/aai</OrganizationURL>
+ </Organization>
+</EntityDescriptor>
diff --git a/mda-framework/src/test/resources/net/shibboleth/metadata/dom/saml/EntityDescriptorItemIdPopulationStage-noEntityID.xml b/mda-framework/src/test/resources/net/shibboleth/metadata/dom/saml/EntityDescriptorItemIdPopulationStage-noEntityID.xml
new file mode 100644
index 0000000..cc71997
--- /dev/null
+++ b/mda-framework/src/test/resources/net/shibboleth/metadata/dom/saml/EntityDescriptorItemIdPopulationStage-noEntityID.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <Extensions>
+ <shibmd:Scope xmlns:shibmd="urn:mace:shibboleth:metadata:1.0" regexp="false">unifr.ch</shibmd:Scope>
+ </Extensions>
+ <IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol urn:oasis:names:tc:SAML:1.1:protocol urn:mace:shibboleth:1.0">
+ <KeyDescriptor use="signing">
+ <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+ <ds:KeyName>aai.unifr.ch</ds:KeyName>
+ <ds:X509Data>
+ <ds:X509Certificate>
+ MIIDGzCCAgOgAwIBAgIUP8Gy5z0CP/joSEYbKGS0Np66XeUwDQYJKoZIhvcNAQEF
+ BQAwFzEVMBMGA1UEAxMMYWFpLnVuaWZyLmNoMB4XDTA5MDczMDEzNTUyNVoXDTEy
+ MDczMDEzNTUyNVowFzEVMBMGA1UEAxMMYWFpLnVuaWZyLmNoMIIBIjANBgkqhkiG
+ 9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm8TgEsFh5W6xFbiqKgGj23riyn1TWp03p63z
+ qM48wLotMWij1hAQlv3hxSTE39qvWMXt3PwOYn9Ck+O2soVIqGonCeq9MNjQUeSD
+ uZiMUKHq0w/3l/3vbA5KR6dl3x4FaFqv7RaIbO0mu/tH5ScEteuKrNVby9ojQwsI
+ PcTXbbRJrlFKM+2GTeE1mJhd9PquOS/iKqmIpr6c4r7hKu1nErKG7lFrqTA6exKl
+ Nb4dUj3Gp+revcwf6UgZJwBxQ858Noy7BAeg5LT7r1dGE68YmrBPYJLj84jeNyIA
+ /KS5zeeSWZnaHljunjEax9zoSkm3wRgfS6W2ruS/q2DdHxvOzwIDAQABo18wXTA8
+ BgNVHREENTAzggxhYWkudW5pZnIuY2iGI2h0dHBzOi8vYWFpLnVuaWZyLmNoL2lk
+ cC9zaGliYm9sZXRoMB0GA1UdDgQWBBT5gNjirVVpDtJqTpZJVpU7jF+LJDANBgkq
+ hkiG9w0BAQUFAAOCAQEAM/EIJuqE1zWUuUWpbc9uxD1sNv4AQ/wBj7LlAQ4FcJem
+ cZcycgaE1c4IC+hQGQ9pFjAoQQbJmz2P5btQ8SGpNI+gD45OOIaUa7wgKNJeDGR6
+ vLWvyof5uNQ2Af9FpM0l23prY3phkGxtqSKvigOFIJEEuMOTrUikxFtrRdEQ6qDk
+ y4RKFDZ92qV076YLeCI6GX+IMrSKE8GQKxvq32IEw/LlvjC21IJSeTwU9hPQsCLL
+ 06PCqiwBffRqZguTXXOWk0n/Btri44echadREWrOem6cwJuHs6nvQ/iHSjjmHVSs
+ V29q22MI4G0dXLKIBkHsMyrEdS06vIvIbXuILzV6lQ==
+ </ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </KeyDescriptor>
+ <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://aai.unifr.ch:8443/idp/profile/SAML1/SOAP/ArtifactResolution" index="1"/>
+ <ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://aai.unifr.ch:8443/idp/profile/SAML2/SOAP/ArtifactResolution" index="2"/>
+ <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
+ <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
+ <SingleSignOnService Binding="urn:mace:shibboleth:1.0:profiles:AuthnRequest" Location="https://aai.unifr.ch/idp/profile/Shibboleth/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://aai.unifr.ch/idp/profile/SAML2/Redirect/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://aai.unifr.ch/idp/profile/SAML2/POST/SSO"/>
+ <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://aai.unifr.ch/idp/profile/SAML2/POST-SimpleSign/SSO"/>
+ </IDPSSODescriptor>
+ <AttributeAuthorityDescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol urn:oasis:names:tc:SAML:1.1:protocol">
+ <KeyDescriptor use="signing">
+ <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+ <ds:KeyName>aai.unifr.ch</ds:KeyName>
+ <ds:X509Data>
+ <ds:X509Certificate>
+ MIIDGzCCAgOgAwIBAgIUP8Gy5z0CP/joSEYbKGS0Np66XeUwDQYJKoZIhvcNAQEF
+ BQAwFzEVMBMGA1UEAxMMYWFpLnVuaWZyLmNoMB4XDTA5MDczMDEzNTUyNVoXDTEy
+ MDczMDEzNTUyNVowFzEVMBMGA1UEAxMMYWFpLnVuaWZyLmNoMIIBIjANBgkqhkiG
+ 9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm8TgEsFh5W6xFbiqKgGj23riyn1TWp03p63z
+ qM48wLotMWij1hAQlv3hxSTE39qvWMXt3PwOYn9Ck+O2soVIqGonCeq9MNjQUeSD
+ uZiMUKHq0w/3l/3vbA5KR6dl3x4FaFqv7RaIbO0mu/tH5ScEteuKrNVby9ojQwsI
+ PcTXbbRJrlFKM+2GTeE1mJhd9PquOS/iKqmIpr6c4r7hKu1nErKG7lFrqTA6exKl
+ Nb4dUj3Gp+revcwf6UgZJwBxQ858Noy7BAeg5LT7r1dGE68YmrBPYJLj84jeNyIA
+ /KS5zeeSWZnaHljunjEax9zoSkm3wRgfS6W2ruS/q2DdHxvOzwIDAQABo18wXTA8
+ BgNVHREENTAzggxhYWkudW5pZnIuY2iGI2h0dHBzOi8vYWFpLnVuaWZyLmNoL2lk
+ cC9zaGliYm9sZXRoMB0GA1UdDgQWBBT5gNjirVVpDtJqTpZJVpU7jF+LJDANBgkq
+ hkiG9w0BAQUFAAOCAQEAM/EIJuqE1zWUuUWpbc9uxD1sNv4AQ/wBj7LlAQ4FcJem
+ cZcycgaE1c4IC+hQGQ9pFjAoQQbJmz2P5btQ8SGpNI+gD45OOIaUa7wgKNJeDGR6
+ vLWvyof5uNQ2Af9FpM0l23prY3phkGxtqSKvigOFIJEEuMOTrUikxFtrRdEQ6qDk
+ y4RKFDZ92qV076YLeCI6GX+IMrSKE8GQKxvq32IEw/LlvjC21IJSeTwU9hPQsCLL
+ 06PCqiwBffRqZguTXXOWk0n/Btri44echadREWrOem6cwJuHs6nvQ/iHSjjmHVSs
+ V29q22MI4G0dXLKIBkHsMyrEdS06vIvIbXuILzV6lQ==
+ </ds:X509Certificate>
+ </ds:X509Data>
+ </ds:KeyInfo>
+ </KeyDescriptor>
+ <AttributeService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://aai.unifr.ch:8443/idp/profile/SAML1/SOAP/AttributeQuery"/>
+ <AttributeService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://aai.unifr.ch:8443/idp/profile/SAML2/SOAP/AttributeQuery"/>
+ <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
+ <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
+ </AttributeAuthorityDescriptor>
+ <Organization>
+ <OrganizationName xml:lang="en">unifr.ch</OrganizationName>
+ <OrganizationDisplayName xml:lang="de">Université de Fribourg - Universität
+ Freiburg</OrganizationDisplayName>
+ <OrganizationDisplayName xml:lang="en">University of Fribourg</OrganizationDisplayName>
+ <OrganizationDisplayName xml:lang="fr">Université de Fribourg - Universität
+ Freiburg</OrganizationDisplayName>
+ <OrganizationURL xml:lang="fr">http://www.unifr.ch/aai</OrganizationURL>
+ </Organization>
+</EntityDescriptor>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list