ruby-saml 1.10.2 → 1.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +21 -20
  3. data/README.md +95 -26
  4. data/changelog.md +30 -0
  5. data/lib/onelogin/ruby-saml/attributes.rb +24 -1
  6. data/lib/onelogin/ruby-saml/authrequest.rb +11 -6
  7. data/lib/onelogin/ruby-saml/idp_metadata_parser.rb +62 -24
  8. data/lib/onelogin/ruby-saml/logging.rb +3 -3
  9. data/lib/onelogin/ruby-saml/logoutrequest.rb +11 -5
  10. data/lib/onelogin/ruby-saml/logoutresponse.rb +21 -2
  11. data/lib/onelogin/ruby-saml/metadata.rb +11 -3
  12. data/lib/onelogin/ruby-saml/response.rb +64 -23
  13. data/lib/onelogin/ruby-saml/saml_message.rb +6 -0
  14. data/lib/onelogin/ruby-saml/setting_error.rb +6 -0
  15. data/lib/onelogin/ruby-saml/settings.rb +71 -7
  16. data/lib/onelogin/ruby-saml/slo_logoutrequest.rb +20 -1
  17. data/lib/onelogin/ruby-saml/slo_logoutresponse.rb +31 -17
  18. data/lib/onelogin/ruby-saml/utils.rb +69 -0
  19. data/lib/onelogin/ruby-saml/version.rb +1 -1
  20. data/lib/xml_security.rb +34 -6
  21. data/ruby-saml.gemspec +9 -5
  22. metadata +36 -282
  23. data/test/certificates/certificate.der +0 -0
  24. data/test/certificates/certificate1 +0 -12
  25. data/test/certificates/certificate_without_head_foot +0 -1
  26. data/test/certificates/formatted_certificate +0 -14
  27. data/test/certificates/formatted_chained_certificate +0 -42
  28. data/test/certificates/formatted_private_key +0 -12
  29. data/test/certificates/formatted_rsa_private_key +0 -12
  30. data/test/certificates/invalid_certificate1 +0 -1
  31. data/test/certificates/invalid_certificate2 +0 -1
  32. data/test/certificates/invalid_certificate3 +0 -12
  33. data/test/certificates/invalid_chained_certificate1 +0 -1
  34. data/test/certificates/invalid_private_key1 +0 -1
  35. data/test/certificates/invalid_private_key2 +0 -1
  36. data/test/certificates/invalid_private_key3 +0 -10
  37. data/test/certificates/invalid_rsa_private_key1 +0 -1
  38. data/test/certificates/invalid_rsa_private_key2 +0 -1
  39. data/test/certificates/invalid_rsa_private_key3 +0 -10
  40. data/test/certificates/ruby-saml-2.crt +0 -15
  41. data/test/certificates/ruby-saml.crt +0 -14
  42. data/test/certificates/ruby-saml.key +0 -15
  43. data/test/idp_metadata_parser_test.rb +0 -594
  44. data/test/logging_test.rb +0 -62
  45. data/test/logout_requests/invalid_slo_request.xml +0 -6
  46. data/test/logout_requests/slo_request.xml +0 -4
  47. data/test/logout_requests/slo_request.xml.base64 +0 -1
  48. data/test/logout_requests/slo_request_deflated.xml.base64 +0 -1
  49. data/test/logout_requests/slo_request_with_name_id_format.xml +0 -4
  50. data/test/logout_requests/slo_request_with_session_index.xml +0 -5
  51. data/test/logout_responses/logoutresponse_fixtures.rb +0 -86
  52. data/test/logoutrequest_test.rb +0 -260
  53. data/test/logoutresponse_test.rb +0 -409
  54. data/test/metadata/idp_descriptor.xml +0 -26
  55. data/test/metadata/idp_descriptor_2.xml +0 -56
  56. data/test/metadata/idp_descriptor_3.xml +0 -14
  57. data/test/metadata/idp_descriptor_4.xml +0 -72
  58. data/test/metadata/idp_metadata_different_sign_and_encrypt_cert.xml +0 -72
  59. data/test/metadata/idp_metadata_multi_certs.xml +0 -75
  60. data/test/metadata/idp_metadata_multi_signing_certs.xml +0 -52
  61. data/test/metadata/idp_metadata_same_sign_and_encrypt_cert.xml +0 -71
  62. data/test/metadata/idp_multiple_descriptors.xml +0 -59
  63. data/test/metadata/idp_multiple_descriptors_2.xml +0 -59
  64. data/test/metadata/no_idp_descriptor.xml +0 -21
  65. data/test/metadata_test.rb +0 -331
  66. data/test/request_test.rb +0 -340
  67. data/test/response_test.rb +0 -1620
  68. data/test/responses/adfs_response_sha1.xml +0 -46
  69. data/test/responses/adfs_response_sha256.xml +0 -46
  70. data/test/responses/adfs_response_sha384.xml +0 -46
  71. data/test/responses/adfs_response_sha512.xml +0 -46
  72. data/test/responses/adfs_response_xmlns.xml +0 -45
  73. data/test/responses/attackxee.xml +0 -13
  74. data/test/responses/invalids/duplicated_attributes.xml.base64 +0 -1
  75. data/test/responses/invalids/empty_destination.xml.base64 +0 -1
  76. data/test/responses/invalids/empty_nameid.xml.base64 +0 -1
  77. data/test/responses/invalids/encrypted_new_attack.xml.base64 +0 -1
  78. data/test/responses/invalids/invalid_audience.xml.base64 +0 -1
  79. data/test/responses/invalids/invalid_issuer_assertion.xml.base64 +0 -1
  80. data/test/responses/invalids/invalid_issuer_message.xml.base64 +0 -1
  81. data/test/responses/invalids/invalid_signature_position.xml.base64 +0 -1
  82. data/test/responses/invalids/invalid_subjectconfirmation_inresponse.xml.base64 +0 -1
  83. data/test/responses/invalids/invalid_subjectconfirmation_nb.xml.base64 +0 -1
  84. data/test/responses/invalids/invalid_subjectconfirmation_noa.xml.base64 +0 -1
  85. data/test/responses/invalids/invalid_subjectconfirmation_recipient.xml.base64 +0 -1
  86. data/test/responses/invalids/multiple_assertions.xml.base64 +0 -2
  87. data/test/responses/invalids/multiple_signed.xml.base64 +0 -1
  88. data/test/responses/invalids/no_authnstatement.xml.base64 +0 -1
  89. data/test/responses/invalids/no_conditions.xml.base64 +0 -1
  90. data/test/responses/invalids/no_id.xml.base64 +0 -1
  91. data/test/responses/invalids/no_issuer_assertion.xml.base64 +0 -1
  92. data/test/responses/invalids/no_issuer_response.xml.base64 +0 -1
  93. data/test/responses/invalids/no_nameid.xml.base64 +0 -1
  94. data/test/responses/invalids/no_saml2.xml.base64 +0 -1
  95. data/test/responses/invalids/no_signature.xml.base64 +0 -1
  96. data/test/responses/invalids/no_status.xml.base64 +0 -1
  97. data/test/responses/invalids/no_status_code.xml.base64 +0 -1
  98. data/test/responses/invalids/no_subjectconfirmation_data.xml.base64 +0 -1
  99. data/test/responses/invalids/no_subjectconfirmation_method.xml.base64 +0 -1
  100. data/test/responses/invalids/response_invalid_signed_element.xml.base64 +0 -1
  101. data/test/responses/invalids/response_with_concealed_signed_assertion.xml +0 -51
  102. data/test/responses/invalids/response_with_doubled_signed_assertion.xml +0 -49
  103. data/test/responses/invalids/signature_wrapping_attack.xml.base64 +0 -1
  104. data/test/responses/invalids/status_code_responder.xml.base64 +0 -1
  105. data/test/responses/invalids/status_code_responer_and_msg.xml.base64 +0 -1
  106. data/test/responses/invalids/wrong_spnamequalifier.xml.base64 +0 -1
  107. data/test/responses/no_signature_ns.xml +0 -48
  108. data/test/responses/open_saml_response.xml +0 -56
  109. data/test/responses/response_assertion_wrapped.xml.base64 +0 -93
  110. data/test/responses/response_audience_self_closed_tag.xml.base64 +0 -1
  111. data/test/responses/response_double_status_code.xml.base64 +0 -1
  112. data/test/responses/response_encrypted_attrs.xml.base64 +0 -1
  113. data/test/responses/response_encrypted_nameid.xml.base64 +0 -1
  114. data/test/responses/response_eval.xml +0 -7
  115. data/test/responses/response_no_cert_and_encrypted_attrs.xml +0 -29
  116. data/test/responses/response_node_text_attack.xml.base64 +0 -1
  117. data/test/responses/response_node_text_attack2.xml.base64 +0 -1
  118. data/test/responses/response_node_text_attack3.xml.base64 +0 -1
  119. data/test/responses/response_unsigned_xml_base64 +0 -1
  120. data/test/responses/response_with_ampersands.xml +0 -139
  121. data/test/responses/response_with_ampersands.xml.base64 +0 -93
  122. data/test/responses/response_with_ds_namespace_at_the_root.xml.base64 +0 -1
  123. data/test/responses/response_with_multiple_attribute_statements.xml +0 -72
  124. data/test/responses/response_with_multiple_attribute_values.xml +0 -67
  125. data/test/responses/response_with_retrieval_method.xml +0 -26
  126. data/test/responses/response_with_saml2_namespace.xml.base64 +0 -102
  127. data/test/responses/response_with_signed_assertion.xml.base64 +0 -66
  128. data/test/responses/response_with_signed_assertion_2.xml.base64 +0 -1
  129. data/test/responses/response_with_signed_assertion_3.xml +0 -30
  130. data/test/responses/response_with_signed_message_and_assertion.xml +0 -34
  131. data/test/responses/response_with_undefined_recipient.xml.base64 +0 -1
  132. data/test/responses/response_without_attributes.xml.base64 +0 -79
  133. data/test/responses/response_without_reference_uri.xml.base64 +0 -1
  134. data/test/responses/response_wrapped.xml.base64 +0 -150
  135. data/test/responses/signed_message_encrypted_signed_assertion.xml.base64 +0 -1
  136. data/test/responses/signed_message_encrypted_unsigned_assertion.xml.base64 +0 -1
  137. data/test/responses/signed_nameid_in_atts.xml +0 -47
  138. data/test/responses/signed_unqual_nameid_in_atts.xml +0 -47
  139. data/test/responses/simple_saml_php.xml +0 -71
  140. data/test/responses/starfield_response.xml.base64 +0 -1
  141. data/test/responses/test_sign.xml +0 -43
  142. data/test/responses/unsigned_encrypted_adfs.xml +0 -23
  143. data/test/responses/unsigned_message_aes128_encrypted_signed_assertion.xml.base64 +0 -1
  144. data/test/responses/unsigned_message_aes192_encrypted_signed_assertion.xml.base64 +0 -1
  145. data/test/responses/unsigned_message_aes256_encrypted_signed_assertion.xml.base64 +0 -1
  146. data/test/responses/unsigned_message_des192_encrypted_signed_assertion.xml.base64 +0 -1
  147. data/test/responses/unsigned_message_encrypted_assertion_without_saml_namespace.xml.base64 +0 -1
  148. data/test/responses/unsigned_message_encrypted_signed_assertion.xml.base64 +0 -1
  149. data/test/responses/unsigned_message_encrypted_unsigned_assertion.xml.base64 +0 -1
  150. data/test/responses/valid_response.xml.base64 +0 -1
  151. data/test/responses/valid_response_with_formatted_x509certificate.xml.base64 +0 -1
  152. data/test/responses/valid_response_without_x509certificate.xml.base64 +0 -1
  153. data/test/saml_message_test.rb +0 -56
  154. data/test/settings_test.rb +0 -330
  155. data/test/slo_logoutrequest_test.rb +0 -448
  156. data/test/slo_logoutresponse_test.rb +0 -233
  157. data/test/test_helper.rb +0 -331
  158. data/test/utils_test.rb +0 -259
  159. data/test/xml_security_test.rb +0 -421
@@ -1,330 +0,0 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), "test_helper"))
2
-
3
- require 'onelogin/ruby-saml/settings'
4
-
5
- class SettingsTest < Minitest::Test
6
-
7
- describe "Settings" do
8
- before do
9
- @settings = OneLogin::RubySaml::Settings.new
10
- end
11
-
12
- it "should provide getters and settings" do
13
- accessors = [
14
- :idp_entity_id, :idp_sso_target_url, :idp_slo_target_url, :valid_until,
15
- :idp_cert, :idp_cert_fingerprint, :idp_cert_fingerprint_algorithm, :idp_cert_multi,
16
- :idp_attribute_names, :issuer, :assertion_consumer_service_url, :assertion_consumer_service_binding,
17
- :single_logout_service_url, :single_logout_service_binding,
18
- :sp_name_qualifier, :name_identifier_format, :name_identifier_value, :name_identifier_value_requested,
19
- :sessionindex, :attributes_index, :passive, :force_authn,
20
- :compress_request, :double_quote_xml_attribute_values, :protocol_binding,
21
- :security, :certificate, :private_key,
22
- :authn_context, :authn_context_comparison, :authn_context_decl_ref,
23
- :assertion_consumer_logout_service_url,
24
- :assertion_consumer_logout_service_binding
25
- ]
26
-
27
- accessors.each do |accessor|
28
- value = Kernel.rand
29
- @settings.send("#{accessor}=".to_sym, value)
30
- assert_equal value, @settings.send(accessor)
31
- end
32
-
33
- end
34
-
35
- it "create settings from hash" do
36
- config = {
37
- :assertion_consumer_service_url => "http://app.muda.no/sso",
38
- :issuer => "http://muda.no",
39
- :sp_name_qualifier => "http://sso.muda.no",
40
- :idp_sso_target_url => "http://sso.muda.no/sso",
41
- :idp_slo_target_url => "http://sso.muda.no/slo",
42
- :idp_cert_fingerprint => "00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00",
43
- :valid_until => '2029-04-16T03:35:08.277Z',
44
- :name_identifier_format => "urn:oasis:names:tc:SAML:2.0:nameid-format:transient",
45
- :attributes_index => 30,
46
- :passive => true,
47
- :protocol_binding => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST'
48
- }
49
- @settings = OneLogin::RubySaml::Settings.new(config)
50
-
51
- config.each do |k,v|
52
- assert_equal v, @settings.send(k)
53
- end
54
- end
55
-
56
- it "configure attribute service attributes correctly" do
57
- @settings.attribute_consuming_service.configure do
58
- service_name "Test Service"
59
- add_attribute :name => "Name", :name_format => "Name Format", :friendly_name => "Friendly Name"
60
- end
61
-
62
- assert_equal @settings.attribute_consuming_service.configured?, true
63
- assert_equal @settings.attribute_consuming_service.name, "Test Service"
64
- assert_equal @settings.attribute_consuming_service.attributes, [{:name => "Name", :name_format => "Name Format", :friendly_name => "Friendly Name" }]
65
- end
66
-
67
- it "does not modify default security settings" do
68
- settings = OneLogin::RubySaml::Settings.new
69
- settings.security[:authn_requests_signed] = true
70
- settings.security[:embed_sign] = true
71
- settings.security[:digest_method] = XMLSecurity::Document::SHA256
72
- settings.security[:signature_method] = XMLSecurity::Document::RSA_SHA256
73
-
74
- new_settings = OneLogin::RubySaml::Settings.new
75
- assert_equal new_settings.security[:authn_requests_signed], false
76
- assert_equal new_settings.security[:embed_sign], false
77
- assert_equal new_settings.security[:digest_method], XMLSecurity::Document::SHA1
78
- assert_equal new_settings.security[:signature_method], XMLSecurity::Document::RSA_SHA1
79
- end
80
-
81
- it "overrides only provided security attributes passing a second parameter" do
82
- config = {
83
- :security => {
84
- :metadata_signed => true
85
- }
86
- }
87
-
88
- @default_attributes = OneLogin::RubySaml::Settings::DEFAULTS
89
-
90
- @settings = OneLogin::RubySaml::Settings.new(config, true)
91
- assert_equal @settings.security[:metadata_signed], true
92
- assert_equal @settings.security[:digest_method], @default_attributes[:security][:digest_method]
93
- end
94
-
95
- it "doesn't override only provided security attributes without passing a second parameter" do
96
- config = {
97
- :security => {
98
- :metadata_signed => true
99
- }
100
- }
101
-
102
- @default_attributes = OneLogin::RubySaml::Settings::DEFAULTS
103
-
104
- @settings = OneLogin::RubySaml::Settings.new(config)
105
- assert_equal @settings.security[:metadata_signed], true
106
- assert_nil @settings.security[:digest_method]
107
- end
108
-
109
- describe "#single_logout_service_url" do
110
- it "when single_logout_service_url is nil but assertion_consumer_logout_service_url returns its value" do
111
- @settings.single_logout_service_url = nil
112
- @settings.assertion_consumer_logout_service_url = "http://app.muda.no/sls"
113
-
114
- assert_equal "http://app.muda.no/sls", @settings.single_logout_service_url
115
- end
116
- end
117
-
118
- describe "#single_logout_service_binding" do
119
- it "when single_logout_service_binding is nil but assertion_consumer_logout_service_binding returns its value" do
120
- @settings.single_logout_service_binding = nil
121
- @settings.assertion_consumer_logout_service_binding = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
122
-
123
- assert_equal "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", @settings.single_logout_service_binding
124
- end
125
- end
126
-
127
- describe "#get_idp_cert" do
128
- it "returns nil when the cert is an empty string" do
129
- @settings.idp_cert = ""
130
- assert_nil @settings.get_idp_cert
131
- end
132
-
133
- it "returns nil when the cert is nil" do
134
- @settings.idp_cert = nil
135
- assert_nil @settings.get_idp_cert
136
- end
137
-
138
- it "returns the certificate when it is valid" do
139
- @settings.idp_cert = ruby_saml_cert_text
140
- assert @settings.get_idp_cert.kind_of? OpenSSL::X509::Certificate
141
- end
142
-
143
- it "raises when the certificate is not valid" do
144
- # formatted but invalid cert
145
- @settings.idp_cert = read_certificate("formatted_certificate")
146
- assert_raises(OpenSSL::X509::CertificateError) {
147
- @settings.get_idp_cert
148
- }
149
- end
150
- end
151
-
152
- describe "#get_idp_cert_multi" do
153
- it "returns nil when the value is empty" do
154
- @settings.idp_cert = {}
155
- assert_nil @settings.get_idp_cert_multi
156
- end
157
-
158
- it "returns nil when the idp_cert_multi is nil or empty" do
159
- @settings.idp_cert_multi = nil
160
- assert_nil @settings.get_idp_cert_multi
161
- end
162
-
163
- it "returns partial hash when contains some values" do
164
- empty_multi = {
165
- :signing => [],
166
- :encryption => []
167
- }
168
-
169
- @settings.idp_cert_multi = {
170
- :signing => []
171
- }
172
- assert_equal empty_multi, @settings.get_idp_cert_multi
173
-
174
- @settings.idp_cert_multi = {
175
- :encryption => []
176
- }
177
- assert_equal empty_multi, @settings.get_idp_cert_multi
178
-
179
- @settings.idp_cert_multi = {
180
- :signing => [],
181
- :encryption => []
182
- }
183
- assert_equal empty_multi, @settings.get_idp_cert_multi
184
-
185
- @settings.idp_cert_multi = {
186
- :yyy => [],
187
- :zzz => []
188
- }
189
- assert_equal empty_multi, @settings.get_idp_cert_multi
190
- end
191
-
192
- it "returns the hash with certificates when values were valid" do
193
- certificates = ruby_saml_cert_text
194
- @settings.idp_cert_multi = {
195
- :signing => [ruby_saml_cert_text],
196
- :encryption => [ruby_saml_cert_text],
197
- }
198
-
199
- assert @settings.get_idp_cert_multi.kind_of? Hash
200
- assert @settings.get_idp_cert_multi[:signing].kind_of? Array
201
- assert @settings.get_idp_cert_multi[:encryption].kind_of? Array
202
- assert @settings.get_idp_cert_multi[:signing][0].kind_of? OpenSSL::X509::Certificate
203
- assert @settings.get_idp_cert_multi[:encryption][0].kind_of? OpenSSL::X509::Certificate
204
- end
205
-
206
- it "raises when there is a cert in idp_cert_multi not valid" do
207
- certificate = read_certificate("formatted_certificate")
208
-
209
- @settings.idp_cert_multi = {
210
- :signing => [],
211
- :encryption => []
212
- }
213
- @settings.idp_cert_multi[:signing].push(certificate)
214
- @settings.idp_cert_multi[:encryption].push(certificate)
215
-
216
- assert_raises(OpenSSL::X509::CertificateError) {
217
- @settings.get_idp_cert_multi
218
- }
219
- end
220
- end
221
-
222
- describe "#get_sp_cert" do
223
- it "returns nil when the cert is an empty string" do
224
- @settings.certificate = ""
225
- assert_nil @settings.get_sp_cert
226
- end
227
-
228
- it "returns nil when the cert is nil" do
229
- @settings.certificate = nil
230
- assert_nil @settings.get_sp_cert
231
- end
232
-
233
- it "returns the certificate when it is valid" do
234
- @settings.certificate = ruby_saml_cert_text
235
- assert @settings.get_sp_cert.kind_of? OpenSSL::X509::Certificate
236
- end
237
-
238
- it "raises when the certificate is not valid" do
239
- # formatted but invalid cert
240
- @settings.certificate = read_certificate("formatted_certificate")
241
- assert_raises(OpenSSL::X509::CertificateError) {
242
- @settings.get_sp_cert
243
- }
244
- end
245
-
246
- end
247
-
248
- describe "#get_sp_cert_new" do
249
- it "returns nil when the cert is an empty string" do
250
- @settings.certificate_new = ""
251
- assert_nil @settings.get_sp_cert_new
252
- end
253
-
254
- it "returns nil when the cert is nil" do
255
- @settings.certificate_new = nil
256
- assert_nil @settings.get_sp_cert_new
257
- end
258
-
259
- it "returns the certificate when it is valid" do
260
- @settings.certificate_new = ruby_saml_cert_text
261
- assert @settings.get_sp_cert_new.kind_of? OpenSSL::X509::Certificate
262
- end
263
-
264
- it "raises when the certificate is not valid" do
265
- # formatted but invalid cert
266
- @settings.certificate_new = read_certificate("formatted_certificate")
267
- assert_raises(OpenSSL::X509::CertificateError) {
268
- @settings.get_sp_cert_new
269
- }
270
- end
271
-
272
- end
273
-
274
- describe "#get_sp_key" do
275
- it "returns nil when the private key is an empty string" do
276
- @settings.private_key = ""
277
- assert_nil @settings.get_sp_key
278
- end
279
-
280
- it "returns nil when the private key is nil" do
281
- @settings.private_key = nil
282
- assert_nil @settings.get_sp_key
283
- end
284
-
285
- it "returns the private key when it is valid" do
286
- @settings.private_key = ruby_saml_key_text
287
- assert @settings.get_sp_key.kind_of? OpenSSL::PKey::RSA
288
- end
289
-
290
- it "raises when the private key is not valid" do
291
- # formatted but invalid rsa private key
292
- @settings.private_key = read_certificate("formatted_rsa_private_key")
293
- assert_raises(OpenSSL::PKey::RSAError) {
294
- @settings.get_sp_key
295
- }
296
- end
297
-
298
- end
299
-
300
- describe "#get_fingerprint" do
301
- it "get the fingerprint value when cert and fingerprint in settings are nil" do
302
- @settings.idp_cert_fingerprint = nil
303
- @settings.idp_cert = nil
304
- fingerprint = @settings.get_fingerprint
305
- assert_nil fingerprint
306
- end
307
-
308
- it "get the fingerprint value when there is a cert at the settings" do
309
- @settings.idp_cert_fingerprint = nil
310
- @settings.idp_cert = ruby_saml_cert_text
311
- fingerprint = @settings.get_fingerprint
312
- assert fingerprint.downcase == ruby_saml_cert_fingerprint.downcase
313
- end
314
-
315
- it "get the fingerprint value when there is a fingerprint at the settings" do
316
- @settings.idp_cert_fingerprint = ruby_saml_cert_fingerprint
317
- @settings.idp_cert = nil
318
- fingerprint = @settings.get_fingerprint
319
- assert fingerprint.downcase == ruby_saml_cert_fingerprint.downcase
320
- end
321
-
322
- it "get the fingerprint value when there are cert and fingerprint at the settings" do
323
- @settings.idp_cert_fingerprint = ruby_saml_cert_fingerprint
324
- @settings.idp_cert = ruby_saml_cert_text
325
- fingerprint = @settings.get_fingerprint
326
- assert fingerprint.downcase == ruby_saml_cert_fingerprint.downcase
327
- end
328
- end
329
- end
330
- end