Skip to content

Commit 5d49768

Browse files
authored
Merge pull request SAML-Toolkits#434 from id4ho/jw-update-certificate-formatter
Allow formatting of certificates that contain \r
2 parents 325a444 + 508816f commit 5d49768

File tree

3 files changed

+6
-1
lines changed

3 files changed

+6
-1
lines changed

lib/onelogin/ruby-saml/utils.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class Utils
2222
#
2323
def self.format_cert(cert)
2424
# don't try to format an encoded certificate or if is empty or nil
25-
return cert if cert.nil? || cert.empty? || cert.match(/\x0d/)
25+
return cert if cert.nil? || cert.empty? || !cert.ascii_only?
2626

2727
if cert.scan(/BEGIN CERTIFICATE/).length > 1
2828
formatted_cert = []

test/certificates/certificate.der

590 Bytes
Binary file not shown.

test/utils_test.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ class UtilsTest < Minitest::Test
2929
assert_equal formatted_certificate, OneLogin::RubySaml::Utils.format_cert(invalid_certificate2)
3030
end
3131

32+
it "returns the cert when it's encoded" do
33+
encoded_certificate = read_certificate("certificate.der")
34+
assert_equal encoded_certificate, OneLogin::RubySaml::Utils.format_cert(encoded_certificate)
35+
end
36+
3237
it "reformats the certificate when there line breaks and no headers" do
3338
invalid_certificate3 = read_certificate("invalid_certificate3")
3439
assert_equal formatted_certificate, OneLogin::RubySaml::Utils.format_cert(invalid_certificate3)

0 commit comments

Comments
 (0)