spec/lib/response_spec.rb in saml2-3.0.5 vs spec/lib/response_spec.rb in saml2-3.0.6
- old
+ new
@@ -256,8 +256,22 @@
response = Response.parse(fixture("response_with_signed_assertion_and_encrypted_subject.xml"))
sp_entity.valid_response?(response, idp_entity, verification_time: Time.parse('2015-02-12T22:51:30Z'))
expect(response.errors).to eq []
expect(response.assertions.first.subject.name_id.id).to eq 'jacob'
end
+
+ it "allows signatures that don't include KeyInfo, if we have a full cert" do
+ response = Response.parse(fixture("response_without_keyinfo.xml"))
+ sp_entity.entity_id = 'http://unimelb-dev.instructure.com/saml2'
+ idp_entity.entity_id = 'https://authidm3tst.unimelb.edu.au:443/oam/fed'
+ idp_entity.identity_providers.first.keys.clear
+ idp_entity.identity_providers.first.keys << KeyDescriptor.new(<<-CERTIFICATE)
+MIIB/jCCAWegAwIBAgIBCjANBgkqhkiG9w0BAQQFADAkMSIwIAYDVQQDExlhZGRlcjEuaXRzLnVuaW1lbGIuZWR1LmF1MB4XDTE3MDUyMjA2MzQzOFoXDTI3MDUyMDA2MzQzOFowJDEiMCAGA1UEAxMZYWRkZXIxLml0cy51bmltZWxiLmVkdS5hdTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAjJgoa5bPS+Jukq2vNaMwZ39L3IhAg6oOytz+bgOhmF+o5zYARbFqC67faa/rMSkfQwYIpp/MdsC8XHtHeR6HCJjbuPkH/EooHiREOClTI0EKZvI2Xv/DqexxEegRPxXiwPUEPozGGT1yWtSwkQTvRvA9tMpZl3yLg1LhDOP6s6MCAwEAAaNAMD4wDAYDVR0TAQH/BAIwADAPBgNVHQ8BAf8EBQMDB9gAMB0GA1UdDgQWBBRukBh7J1okLMIfSRpzF5opuj0LizANBgkqhkiG9w0BAQQFAAOBgQB0zySVaypIGRksTwpmjaQhMvNrYWGvj74Rs1iuqOdsEQkpgk5dQKRFiAFEr+6b7WN4k+IAH5S++l1R0bUG6k9HFSn7uy7AD+qZcdoUm9a39brtH2kefs0D3bQfrwkqggAtWKwqfU4r7nAcdtVE+CT3cny5QU2/mJav9W9bzFPMXQ==
+ CERTIFICATE
+
+ sp_entity.valid_response?(response, idp_entity, verification_time: Time.parse('2019-04-16T00:56:03Z'))
+ expect(response.errors).to eq []
+ expect(response.assertions.first.subject.name_id.id).to eq 'testuserint.sso@staff.oimtest.unimelb.edu.au'
+ end
end
end
end