@@ -392,5 +392,43 @@ def test_get_certs_from_metadata():
392
392
assert certs1 [0 ] == certs2 [0 ] == TEST_CERT
393
393
394
394
395
+ def test_get_certs_from_metadata_without_keydescriptor ():
396
+ mds = MetadataStore (ONTS .values (), ATTRCONV , None )
397
+ mds .imp ([{
398
+ "class" : "saml2.mdstore.InMemoryMetaData" ,
399
+ "metadata" : [("""
400
+ <EntitiesDescriptor
401
+ xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
402
+ xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
403
+ xmlns:shibmeta="urn:mace:shibboleth:metadata:1.0"
404
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
405
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
406
+ Name="urn:mace:example.com:test-1.0">
407
+ <EntityDescriptor
408
+ entityID="http://xenosmilus.umdc.umu.se/simplesaml/saml2/idp/metadata.php"
409
+ xml:base="swamid-1.0/idp.umu.se-saml2.xml">
410
+ <IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
411
+ <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
412
+ <SingleSignOnService
413
+ Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
414
+ Location="http://xenosmilus.umdc.umu.se/simplesaml/saml2/idp/metadata.php"/>
415
+ </IDPSSODescriptor>
416
+ <Organization>
417
+ <OrganizationName xml:lang="en">Catalogix</OrganizationName>
418
+ <OrganizationDisplayName xml:lang="en">Catalogix</OrganizationDisplayName>
419
+ <OrganizationURL xml:lang="en">http://www.catalogix.se</OrganizationURL>
420
+ </Organization>
421
+ <ContactPerson contactType="technical">
422
+ <SurName>Hedberg</SurName>
423
+ <EmailAddress>[email protected] </EmailAddress>
424
+ </ContactPerson>
425
+ </EntityDescriptor>
426
+ </EntitiesDescriptor>""" ,)]
427
+ }])
428
+ certs = mds .certs ("http://xenosmilus.umdc.umu.se/simplesaml/saml2/idp/metadata.php" , "idpsso" )
429
+
430
+ assert len (certs ) == 0
431
+
432
+
395
433
if __name__ == "__main__" :
396
434
test_get_certs_from_metadata ()
0 commit comments