@@ -227,6 +227,32 @@ class MetadataTest < Minitest::Test
227227 assert validate_xml! ( xml_text , "saml-schema-metadata-2.0.xsd" )
228228 end
229229 end
230+
231+ describe "with check_sp_cert_expiration and expired keys" do
232+ before do
233+ settings . security [ :want_assertions_encrypted ] = true
234+ settings . security [ :check_sp_cert_expiration ] = true
235+ valid_pair = CertificateHelper . generate_pair_hash
236+ early_pair = CertificateHelper . generate_pair_hash ( not_before : Time . now + 60 )
237+ expired_pair = CertificateHelper . generate_pair_hash ( not_after : Time . now - 60 )
238+ settings . certificate = nil
239+ settings . certificate_new = nil
240+ settings . private_key = nil
241+ settings . sp_cert_multi = {
242+ signing : [ valid_pair , early_pair , expired_pair ] ,
243+ encryption : [ valid_pair , early_pair , expired_pair ]
244+ }
245+ end
246+
247+ it "generates Service Provider Metadata with X509Certificate for encrypt" do
248+ assert_equal 2 , key_descriptors . length
249+ assert_equal "signing" , key_descriptors [ 0 ] . attribute ( "use" ) . value
250+ assert_equal "encryption" , key_descriptors [ 1 ] . attribute ( "use" ) . value
251+
252+ assert_equal 2 , cert_nodes . length
253+ assert validate_xml! ( xml_text , "saml-schema-metadata-2.0.xsd" )
254+ end
255+ end
230256 end
231257
232258 describe "when attribute service is configured with multiple attribute values" do
0 commit comments