diff --git a/lib/rubygems/security.rb b/lib/rubygems/security.rb index 8240a1a05918..227599720700 100644 --- a/lib/rubygems/security.rb +++ b/lib/rubygems/security.rb @@ -510,9 +510,10 @@ def self.email_to_name(email_address) dcs = dcs.split '.' - name = "CN=#{cn}/#{dcs.map {|dc| "DC=#{dc}" }.join '/'}" - - OpenSSL::X509::Name.parse name + OpenSSL::X509::Name.new([ + ["CN", cn], + *dcs.map {|dc| ["DC", dc] }, + ]) end ## diff --git a/test/rubygems/test_gem_security.rb b/test/rubygems/test_gem_security.rb index d04bd4a8bd81..415ec2b5f648 100644 --- a/test/rubygems/test_gem_security.rb +++ b/test/rubygems/test_gem_security.rb @@ -196,7 +196,7 @@ def test_class_reset def test_class_sign issuer = PUBLIC_CERT.subject - signee = OpenSSL::X509::Name.parse "/CN=signee/DC=example" + signee = OpenSSL::X509::Name.new([["CN", "signee"], ["DC", "example"]]) key = PRIVATE_KEY cert = OpenSSL::X509::Certificate.new