Skip to content

Commit f9e4ca4

Browse files
committed
Swap methods
1 parent 1efb89d commit f9e4ca4

3 files changed

Lines changed: 21 additions & 21 deletions

File tree

lib/onelogin/ruby-saml/metadata.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def add_sp_sso_element(root, settings)
6464

6565
# Add KeyDescriptor elements for SP certificates.
6666
def add_sp_certificates(sp_sso, settings)
67-
certs = settings.get_active_sp_certs
67+
certs = settings.get_sp_certs
6868

6969
certs[:signing].each { |cert, _| add_sp_cert_element(sp_sso, cert, :signing) }
7070

lib/onelogin/ruby-saml/settings.rb

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -205,24 +205,16 @@ def get_idp_cert_multi
205205
certs
206206
end
207207

208-
# @return [Hash<Symbol, Array<Array<OpenSSL::X509::Certificate, OpenSSL::PKey::RSA>>>]
209-
# Build the SP certificates and private keys from the settings. Returns all
210-
# certificates and private keys, even if they are expired.
211-
def get_sp_certs
212-
validate_sp_certs_params!
213-
get_sp_certs_multi || get_sp_certs_single
214-
end
215-
216208
# @return [Hash<Symbol, Array<Array<OpenSSL::X509::Certificate, OpenSSL::PKey::RSA>>>]
217209
# Build the SP certificates and private keys from the settings. If
218210
# check_sp_cert_expiration is true, only returns certificates and private keys
219211
# that are not expired.
220-
def get_active_sp_certs
221-
certs = get_sp_certs
212+
def get_sp_certs
213+
certs = get_all_sp_certs
222214
return certs unless security[:check_sp_cert_expiration]
223215

224216
active_certs = { signing: [], encryption: [] }
225-
get_sp_certs.each do |use, pairs|
217+
certs.each do |use, pairs|
226218
next if pairs.empty?
227219

228220
pairs = pairs.select { |cert, _| !cert || OneLogin::RubySaml::Utils.is_cert_active(cert) }
@@ -236,7 +228,7 @@ def get_active_sp_certs
236228
# @return [Array<OpenSSL::X509::Certificate, OpenSSL::PKey::RSA>]
237229
# The SP signing certificate and private key.
238230
def get_sp_signing_pair
239-
get_active_sp_certs[:signing].first
231+
get_sp_certs[:signing].first
240232
end
241233

242234
# @return [OpenSSL::X509::Certificate] The SP signing certificate.
@@ -257,7 +249,7 @@ def get_sp_signing_key
257249

258250
# @return [Array<OpenSSL::PKey::RSA>] The SP decryption keys.
259251
def get_sp_decryption_keys
260-
ary = get_active_sp_certs[:encryption].map { |pair| pair[1] }
252+
ary = get_sp_certs[:encryption].map { |pair| pair[1] }
261253
ary.compact!
262254
ary.uniq!(&:to_pem)
263255
ary.freeze
@@ -310,6 +302,14 @@ def get_binding(value)
310302

311303
private
312304

305+
# @return [Hash<Symbol, Array<Array<OpenSSL::X509::Certificate, OpenSSL::PKey::RSA>>>]
306+
# Build the SP certificates and private keys from the settings. Returns all
307+
# certificates and private keys, even if they are expired.
308+
def get_all_sp_certs
309+
validate_sp_certs_params!
310+
get_sp_certs_multi || get_sp_certs_single
311+
end
312+
313313
# Validate certificate, certificate_new, private_key, and sp_cert_multi params.
314314
def validate_sp_certs_params!
315315
multi = sp_cert_multi && !sp_cert_multi.empty?

test/settings_test.rb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -439,7 +439,7 @@ class SettingsTest < Minitest::Test
439439
end
440440
end
441441

442-
describe "#get_sp_certs" do
442+
describe "#get_sp_certs (base cases)" do
443443
let(:cert_text1) { ruby_saml_cert_text }
444444
let(:cert_text2) { ruby_saml_cert2.to_pem }
445445
let(:cert_text3) { CertificateHelper.generate_cert.to_pem }
@@ -593,7 +593,7 @@ class SettingsTest < Minitest::Test
593593
end
594594
end
595595

596-
describe "#get_active_sp_certs" do
596+
describe "#get_sp_certs" do
597597
let(:valid_pair) { CertificateHelper.generate_pair_hash }
598598
let(:early_pair) { CertificateHelper.generate_pair_hash(not_before: Time.now + 60) }
599599
let(:expired_pair) { CertificateHelper.generate_pair_hash(not_after: Time.now - 60) }
@@ -602,7 +602,7 @@ class SettingsTest < Minitest::Test
602602
@settings.security = { check_sp_cert_expiration: false }
603603
@settings.sp_cert_multi = { signing: [valid_pair, expired_pair], encryption: [valid_pair, early_pair] }
604604

605-
actual = @settings.get_active_sp_certs
605+
actual = @settings.get_sp_certs
606606
expected_signing = [valid_pair, expired_pair].map(&:values)
607607
expected_encryption = [valid_pair, early_pair].map(&:values)
608608
assert_equal expected_signing, actual[:signing].map {|ary| ary.map(&:to_pem) }
@@ -613,7 +613,7 @@ class SettingsTest < Minitest::Test
613613
@settings.security = { check_sp_cert_expiration: true }
614614
@settings.sp_cert_multi = { signing: [valid_pair, expired_pair], encryption: [valid_pair, early_pair] }
615615

616-
actual = @settings.get_active_sp_certs
616+
actual = @settings.get_sp_certs
617617
expected_active = [valid_pair].map(&:values)
618618
assert_equal expected_active, actual[:signing].map {|ary| ary.map(&:to_pem) }
619619
assert_equal expected_active, actual[:encryption].map {|ary| ary.map(&:to_pem) }
@@ -624,7 +624,7 @@ class SettingsTest < Minitest::Test
624624
@settings.sp_cert_multi = { signing: [expired_pair], encryption: [valid_pair] }
625625

626626
assert_raises OneLogin::RubySaml::ValidationError do
627-
@settings.get_active_sp_certs
627+
@settings.get_sp_certs
628628
end
629629
end
630630

@@ -633,14 +633,14 @@ class SettingsTest < Minitest::Test
633633
@settings.sp_cert_multi = { signing: [valid_pair], encryption: [expired_pair] }
634634

635635
assert_raises OneLogin::RubySaml::ValidationError do
636-
@settings.get_active_sp_certs
636+
@settings.get_sp_certs
637637
end
638638
end
639639

640640
it "returns empty arrays for signing and encryption if no pairs are present" do
641641
@settings.sp_cert_multi = { signing: [], encryption: [] }
642642

643-
actual = @settings.get_active_sp_certs
643+
actual = @settings.get_sp_certs
644644
assert_empty actual[:signing]
645645
assert_empty actual[:encryption]
646646
end

0 commit comments

Comments
 (0)