rubygems-update 2.1.5 → 2.1.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 547e9e32aaae7d7c3e3bdbbb062487fcf8cc74ba
4
- data.tar.gz: c4a1eb35b004dccf640ee945f60180ff788fd55a
3
+ metadata.gz: cb17f443c52c3e9d111c851bc1586c5a95ed1a11
4
+ data.tar.gz: 8aaf7b4e989d1a519adee5c7abe0f47aedd60680
5
5
  SHA512:
6
- metadata.gz: 1eaa80a01f37f17db7f43a904dfda441286c919b493110923f28735d1b540f73e954e7ce74b99d625ffc834420a6c7fd88b1f37999c59f550c9949381e402c27
7
- data.tar.gz: 11f86585794ca193303b9316107a44be25de32c6791eec0385f4f7f0aa4388007d9f25b3880f778db0fbf86adb62a68278f66a79e644b8850d40a4b0021322de
6
+ metadata.gz: 424cbda40e4f296d31ed0c257a9b4ede1b138658523afc34ef9886bbc258a02e96fbceb75b322c186522b6024d1239313c7a8028f3262aa8ee2c7778186d6d9e
7
+ data.tar.gz: 1db97669760cc8a82a966bca59108cdf3cd9b6290bc807b8ee5038ae8a44f9c7f037a94b2a505529c4eecb8705bd260202dcd00f56d0f948765cdcca635d96f6
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -1,5 +1,22 @@
1
1
  # coding: UTF-8
2
2
 
3
+ === 2.1.6 / 2013-10-08
4
+
5
+ Bug fixes:
6
+
7
+ * Added certificates to follow the s3.amazonaws.com certificate change. Fixes
8
+ #665 by emeyekayee. Fixes #671 by jonforums.
9
+ * Remove redundant built-in certificates not needed for https://rubygems.org
10
+ Fixes #654 by Vít Ondruch.
11
+ * Added test for missing certificates for https://s3.amazonaws.com or
12
+ https://rubygems.org. Pull request #673 by Hannes Georg.
13
+ * RubyGems now allows a Pathname for Kernel#require like the built-in
14
+ Kernel#require. Pull request #663 by Aaron Patterson.
15
+ * Required rbconfig in Gem::ConfigFile for Ruby 1.9.1 compatibility. (Ruby
16
+ 1.9.1 is no longer receiving security fixes, so please update to a newer
17
+ version.) Issue #676 by Michal Papis. Issue wayneeseguin/rvm#2262 by
18
+ Thomas Sänger.
19
+
3
20
  === 2.1.5 / 2013-09-24
4
21
 
5
22
  Security fixes:
@@ -138,6 +155,15 @@ Bug fixes:
138
155
  * Fixed credential creation for `gem push` when `--host` is not given. Pull
139
156
  request #622 by Arthur Nogueira Neves
140
157
 
158
+ === 2.0.10 / 2013-09-24
159
+
160
+ Security fixes:
161
+
162
+ * RubyGems 2.1.4 and earlier are vulnerable to excessive CPU usage due to a
163
+ backtracking in Gem::Version validation. See CVE-2013-4363 for full details
164
+ including vulnerable APIs. Fixed versions include 2.1.5, 2.0.10, 1.8.27 and
165
+ 1.8.23.2 (for Ruby 1.9.3).
166
+
141
167
  === 2.0.9 / 2013-09-13
142
168
 
143
169
  Bug fixes:
@@ -624,6 +650,15 @@ $SAFE=1. There is no functional difference compared to Ruby 2.0.0.preview2
624
650
  * URI scheme matching is no longer case-sensitive. Fixes #322
625
651
  * ext/builder now checks $MAKE as well as $make (okkez)
626
652
 
653
+ === 1.8.27 / 2013-09-24
654
+
655
+ Security fixes:
656
+
657
+ * RubyGems 2.1.4 and earlier are vulnerable to excessive CPU usage due to a
658
+ backtracking in Gem::Version validation. See CVE-2013-4363 for full details
659
+ including vulnerable APIs. Fixed versions include 2.1.5, 2.0.10, 1.8.27 and
660
+ 1.8.23.2 (for Ruby 1.9.3).
661
+
627
662
  === 1.8.26 / 2013-09-09
628
663
 
629
664
  Security fixes:
@@ -655,6 +690,15 @@ Bug fixes:
655
690
  * Install the .pem files properly. Fixes #320
656
691
  * Remove OpenSSL dependency from the http code path
657
692
 
693
+ === 1.8.23.2 / 2013-09-24
694
+
695
+ Security fixes:
696
+
697
+ * RubyGems 2.1.4 and earlier are vulnerable to excessive CPU usage due to a
698
+ backtracking in Gem::Version validation. See CVE-2013-4363 for full details
699
+ including vulnerable APIs. Fixed versions include 2.1.5, 2.0.10, 1.8.27 and
700
+ 1.8.23.2 (for Ruby 1.9.3).
701
+
658
702
  === 1.8.23.1 / 2013-09-09
659
703
 
660
704
  Security fixes:
@@ -125,10 +125,9 @@ lib/rubygems/source_specific_file.rb
125
125
  lib/rubygems/spec_fetcher.rb
126
126
  lib/rubygems/specification.rb
127
127
  lib/rubygems/ssl_certs/.document
128
- lib/rubygems/ssl_certs/AddTrustExternalCARoot.pem
129
- lib/rubygems/ssl_certs/Entrust_net-Secure-Server-Certification-Authority.pem
130
- lib/rubygems/ssl_certs/GeoTrust_Global_CA.pem
131
- lib/rubygems/ssl_certs/VerisignClass3PublicPrimaryCertificationAuthority-G2.pem
128
+ lib/rubygems/ssl_certs/Class3PublicPrimaryCertificationAuthority.pem
129
+ lib/rubygems/ssl_certs/EntrustnetSecureServerCertificationAuthority.pem
130
+ lib/rubygems/ssl_certs/GeoTrustGlobalCA.pem
132
131
  lib/rubygems/stub_specification.rb
133
132
  lib/rubygems/syck_hack.rb
134
133
  lib/rubygems/test_case.rb
@@ -191,6 +190,7 @@ test/rubygems/specifications/bar-0.0.2.gemspec
191
190
  test/rubygems/specifications/foo-0.0.1.gemspec
192
191
  test/rubygems/ssl_cert.pem
193
192
  test/rubygems/ssl_key.pem
193
+ test/rubygems/test_bundled_ca.rb
194
194
  test/rubygems/test_config.rb
195
195
  test/rubygems/test_deprecate.rb
196
196
  test/rubygems/test_gem.rb
@@ -294,3 +294,4 @@ test/rubygems/wrong_key_cert_32.pem
294
294
  util/CL2notes
295
295
  util/create_certs.rb
296
296
  util/create_encrypted_key.rb
297
+ util/update_bundled_ca_certificates.rb
data/Rakefile CHANGED
@@ -58,6 +58,7 @@ hoe = Hoe.spec 'rubygems-update' do
58
58
 
59
59
  self.extra_rdoc_files = Dir["*.rdoc"] + %w[
60
60
  CVE-2013-4287.txt
61
+ CVE-2013-4363.txt
61
62
  ]
62
63
 
63
64
  spec_extras['rdoc_options'] = proc do |rdoc_options|
@@ -8,7 +8,7 @@
8
8
  require 'rbconfig'
9
9
 
10
10
  module Gem
11
- VERSION = '2.1.5'
11
+ VERSION = '2.1.6'
12
12
  end
13
13
 
14
14
  # Must be first since it unloads the prelude from 1.9.2
@@ -5,6 +5,7 @@
5
5
  #++
6
6
 
7
7
  require 'rubygems/user_interaction'
8
+ require 'rbconfig'
8
9
 
9
10
  ##
10
11
  # Gem::ConfigFile RubyGems options and gem command options from gemrc.
@@ -38,6 +38,8 @@ module Kernel
38
38
  def require path
39
39
  RUBYGEMS_ACTIVATION_MONITOR.enter
40
40
 
41
+ path = path.to_path if path.respond_to? :to_path
42
+
41
43
  spec = Gem.find_unresolved_default_spec(path)
42
44
  if spec
43
45
  Gem.remove_unresolved_default_spec(spec)
@@ -0,0 +1,14 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG
3
+ A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz
4
+ cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2
5
+ MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV
6
+ BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt
7
+ YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN
8
+ ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE
9
+ BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is
10
+ I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G
11
+ CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do
12
+ lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc
13
+ AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k
14
+ -----END CERTIFICATE-----
@@ -0,0 +1,28 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC
3
+ VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u
4
+ ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc
5
+ KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u
6
+ ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05OTA1
7
+ MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIGA1UE
8
+ ChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5j
9
+ b3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF
10
+ bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUg
11
+ U2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUA
12
+ A4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQaO2f55M28Qpku0f1BBc/
13
+ I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5gXpa0zf3
14
+ wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OC
15
+ AdcwggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHb
16
+ oIHYpIHVMIHSMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5
17
+ BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p
18
+ dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVk
19
+ MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp
20
+ b24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu
21
+ dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0
22
+ MFqBDzIwMTkwNTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8Bdi
23
+ E1U9s/8KAGv7UISX8+1i0BowHQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAa
24
+ MAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZI
25
+ hvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN
26
+ 95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd
27
+ 2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
28
+ -----END CERTIFICATE-----
@@ -1,20 +1,20 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
3
- MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
4
- YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
5
- EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
6
- R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
7
- 9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
8
- fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
9
- iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
10
- 1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
11
- bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
12
- MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
13
- ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
14
- uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
15
- Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
16
- tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
17
- PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
18
- hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
19
- 5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
20
- -----END CERTIFICATE-----
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
3
+ MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
4
+ YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
5
+ EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
6
+ R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
7
+ 9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
8
+ fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
9
+ iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
10
+ 1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
11
+ bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
12
+ MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
13
+ ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
14
+ uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
15
+ Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
16
+ tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
17
+ PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
18
+ hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
19
+ 5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
20
+ -----END CERTIFICATE-----
@@ -0,0 +1,60 @@
1
+ require 'rubygems/test_case'
2
+ require 'net/https'
3
+ require 'rubygems/request'
4
+
5
+ # = Testing Bundled CA
6
+ #
7
+ # The tested hosts are explained in detail here: https://github.com/rubygems/rubygems/commit/5e16a5428f973667cabfa07e94ff939e7a83ebd9
8
+ #
9
+ class TestBundledCA < Gem::TestCase
10
+
11
+ THIS_FILE = File.expand_path __FILE__
12
+
13
+ def bundled_certificate_store
14
+ store = OpenSSL::X509::Store.new
15
+
16
+ ssl_cert_glob =
17
+ File.expand_path '../../../lib/rubygems/ssl_certs/*.pem', THIS_FILE
18
+
19
+ Dir[ssl_cert_glob].each do |ssl_cert|
20
+ store.add_file ssl_cert
21
+ end
22
+
23
+ store
24
+ end
25
+
26
+ def assert_https(host)
27
+ if self.respond_to? :_assertions # minitest <= 4
28
+ self._assertions += 1
29
+ else # minitest >= 5
30
+ self.assertions += 1
31
+ end
32
+ http = Net::HTTP.new(host, 443)
33
+ http.use_ssl = true
34
+ http.verify_mode = OpenSSL::SSL::VERIFY_PEER
35
+ http.cert_store = bundled_certificate_store
36
+ http.get('/')
37
+ rescue Errno::ENOENT
38
+ skip "#{host} seems offline, I can't tell whether ssl would work."
39
+ rescue OpenSSL::SSL::SSLError => e
40
+ # Only fail for certificate verification errors
41
+ if e.message =~ /certificate verify failed/
42
+ flunk "#{host} is not verifiable using the included certificates. Error was: #{e.message}"
43
+ end
44
+ raise
45
+ end
46
+
47
+ def test_accessing_rubygems
48
+ assert_https('rubygems.org')
49
+ end
50
+
51
+ def test_accessing_cloudfront
52
+ assert_https('d2chzxaqi4y7f8.cloudfront.net')
53
+ end
54
+
55
+ def test_accessing_s3
56
+ assert_https('s3.amazonaws.com')
57
+ end
58
+
59
+ end if ENV['TRAVIS']
60
+
@@ -67,6 +67,18 @@ class TestGemRequire < Gem::TestCase
67
67
  end
68
68
  end
69
69
 
70
+ def test_require_can_use_a_pathname_object
71
+ a1 = new_spec "a", "1", nil, "lib/test_gem_require_a.rb"
72
+
73
+ install_specs a1
74
+
75
+ save_loaded_features do
76
+ assert_require Pathname.new 'test_gem_require_a'
77
+ assert_equal %w(a-1), loaded_spec_names
78
+ assert_equal unresolved_names, []
79
+ end
80
+ end
81
+
70
82
  def test_activate_via_require_respects_loaded_files
71
83
  require 'benchmark' # stdlib
72
84
  save_loaded_features do
@@ -0,0 +1,103 @@
1
+ require 'net/http'
2
+ require 'openssl'
3
+
4
+ URIS = [
5
+ URI('https://rubygems.org'),
6
+ URI('https://s3.amazonaws.com'),
7
+ URI('https://d2chzxaqi4y7f8.cloudfront.net'),
8
+ URI('https://rubygems.global.ssl.fastly.net'),
9
+ ]
10
+
11
+ def connect_to uri, store
12
+ http = Net::HTTP.new uri.hostname, uri.port
13
+
14
+ http.use_ssl = uri.scheme.downcase == 'https'
15
+ http.verify_mode = OpenSSL::SSL::VERIFY_PEER
16
+ http.cert_store = store
17
+
18
+ http.get '/'
19
+
20
+ true
21
+ rescue OpenSSL::SSL::SSLError
22
+ false
23
+ end
24
+
25
+ def load_certificates io
26
+ cert_texts =
27
+ io.read.scan(/^-{5}BEGIN CERTIFICATE-{5}.*?^-{5}END CERTIFICATE-{5}/m)
28
+
29
+ cert_texts.map do |cert_text|
30
+ OpenSSL::X509::Certificate.new cert_text
31
+ end
32
+ end
33
+
34
+ def show_certificates certificates
35
+ certificates.each do |certificate|
36
+ p certificate.subject.to_a
37
+ end
38
+ end
39
+
40
+ def store_for certificates
41
+ store = OpenSSL::X509::Store.new
42
+ certificates.each do |certificate|
43
+ store.add_cert certificate
44
+ end
45
+
46
+ store
47
+ end
48
+
49
+ def test_certificates certificates, uri
50
+ 1.upto certificates.length do |n|
51
+ puts "combinations of #{n} certificates"
52
+ certificates.combination(n).each do |combination|
53
+ match = test_uri uri, combination
54
+
55
+ if match then
56
+ $needed_combinations << match
57
+ puts
58
+ return
59
+ else
60
+ print '.'
61
+ end
62
+ end
63
+ puts
64
+ end
65
+ end
66
+
67
+ def test_uri uri, certificates
68
+ store = store_for certificates
69
+
70
+ verified = connect_to uri, store
71
+
72
+ return certificates if verified
73
+
74
+ nil
75
+ end
76
+
77
+ def write_certificates certificates
78
+ certificates.each do |certificate|
79
+ subject = certificate.subject.to_a
80
+ name = (subject.assoc('CN') || subject.assoc('OU'))[1]
81
+ name = name.delete ' .-'
82
+
83
+ open "lib/rubygems/ssl_certs/#{name}.pem", 'w' do |io|
84
+ io.write certificate.to_pem
85
+ end
86
+ end
87
+ end
88
+
89
+ certificates = load_certificates ARGF
90
+ puts "loaded #{certificates.length} certificates"
91
+
92
+ $needed_combinations = []
93
+
94
+ URIS.each do |uri|
95
+ puts uri
96
+
97
+ test_certificates certificates, uri
98
+ end
99
+
100
+ needed = $needed_combinations.flatten.uniq
101
+
102
+ write_certificates needed
103
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubygems-update
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.5
4
+ version: 2.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
@@ -32,7 +32,7 @@ cert_chain:
32
32
  KDyY1VIazVgoC8XvR4h/95/iScPiuglzA+DBG1hip1xScAtw05BrXyUNrc9CEMYU
33
33
  wgF94UVoHRp6ywo8I7NP3HcwFQDFNEZPNGXsng==
34
34
  -----END CERTIFICATE-----
35
- date: 2013-09-24 00:00:00.000000000 Z
35
+ date: 2013-10-08 00:00:00.000000000 Z
36
36
  dependencies:
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: minitest
@@ -300,10 +300,9 @@ files:
300
300
  - lib/rubygems/spec_fetcher.rb
301
301
  - lib/rubygems/specification.rb
302
302
  - lib/rubygems/ssl_certs/.document
303
- - lib/rubygems/ssl_certs/AddTrustExternalCARoot.pem
304
- - lib/rubygems/ssl_certs/Entrust_net-Secure-Server-Certification-Authority.pem
305
- - lib/rubygems/ssl_certs/GeoTrust_Global_CA.pem
306
- - lib/rubygems/ssl_certs/VerisignClass3PublicPrimaryCertificationAuthority-G2.pem
303
+ - lib/rubygems/ssl_certs/Class3PublicPrimaryCertificationAuthority.pem
304
+ - lib/rubygems/ssl_certs/EntrustnetSecureServerCertificationAuthority.pem
305
+ - lib/rubygems/ssl_certs/GeoTrustGlobalCA.pem
307
306
  - lib/rubygems/stub_specification.rb
308
307
  - lib/rubygems/syck_hack.rb
309
308
  - lib/rubygems/test_case.rb
@@ -366,6 +365,7 @@ files:
366
365
  - test/rubygems/specifications/foo-0.0.1.gemspec
367
366
  - test/rubygems/ssl_cert.pem
368
367
  - test/rubygems/ssl_key.pem
368
+ - test/rubygems/test_bundled_ca.rb
369
369
  - test/rubygems/test_config.rb
370
370
  - test/rubygems/test_deprecate.rb
371
371
  - test/rubygems/test_gem.rb
@@ -469,6 +469,7 @@ files:
469
469
  - util/CL2notes
470
470
  - util/create_certs.rb
471
471
  - util/create_encrypted_key.rb
472
+ - util/update_bundled_ca_certificates.rb
472
473
  - .gemtest
473
474
  homepage: http://rubygems.org
474
475
  licenses:
@@ -494,11 +495,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
494
495
  version: '0'
495
496
  requirements: []
496
497
  rubyforge_project: rubygems-update
497
- rubygems_version: 2.1.4
498
+ rubygems_version: 2.1.5
498
499
  signing_key:
499
500
  specification_version: 4
500
501
  summary: RubyGems is a package management framework for Ruby
501
502
  test_files:
503
+ - test/rubygems/test_bundled_ca.rb
502
504
  - test/rubygems/test_config.rb
503
505
  - test/rubygems/test_deprecate.rb
504
506
  - test/rubygems/test_gem.rb
metadata.gz.sig CHANGED
Binary file
@@ -1,90 +0,0 @@
1
- This CA certificate is for verifying HTTPS connection to;
2
- - https://rubygems.org/ (obtained by RubyGems team)
3
-
4
- Certificate:
5
- Data:
6
- Version: 3 (0x2)
7
- Serial Number: 1 (0x1)
8
- Signature Algorithm: sha1WithRSAEncryption
9
- Issuer: C=SE, O=AddTrust AB, OU=AddTrust External TTP Network, CN=AddTrust External CA Root
10
- Validity
11
- Not Before: May 30 10:48:38 2000 GMT
12
- Not After : May 30 10:48:38 2020 GMT
13
- Subject: C=SE, O=AddTrust AB, OU=AddTrust External TTP Network, CN=AddTrust External CA Root
14
- Subject Public Key Info:
15
- Public Key Algorithm: rsaEncryption
16
- Public-Key: (2048 bit)
17
- Modulus:
18
- 00:b7:f7:1a:33:e6:f2:00:04:2d:39:e0:4e:5b:ed:
19
- 1f:bc:6c:0f:cd:b5:fa:23:b6:ce:de:9b:11:33:97:
20
- a4:29:4c:7d:93:9f:bd:4a:bc:93:ed:03:1a:e3:8f:
21
- cf:e5:6d:50:5a:d6:97:29:94:5a:80:b0:49:7a:db:
22
- 2e:95:fd:b8:ca:bf:37:38:2d:1e:3e:91:41:ad:70:
23
- 56:c7:f0:4f:3f:e8:32:9e:74:ca:c8:90:54:e9:c6:
24
- 5f:0f:78:9d:9a:40:3c:0e:ac:61:aa:5e:14:8f:9e:
25
- 87:a1:6a:50:dc:d7:9a:4e:af:05:b3:a6:71:94:9c:
26
- 71:b3:50:60:0a:c7:13:9d:38:07:86:02:a8:e9:a8:
27
- 69:26:18:90:ab:4c:b0:4f:23:ab:3a:4f:84:d8:df:
28
- ce:9f:e1:69:6f:bb:d7:42:d7:6b:44:e4:c7:ad:ee:
29
- 6d:41:5f:72:5a:71:08:37:b3:79:65:a4:59:a0:94:
30
- 37:f7:00:2f:0d:c2:92:72:da:d0:38:72:db:14:a8:
31
- 45:c4:5d:2a:7d:b7:b4:d6:c4:ee:ac:cd:13:44:b7:
32
- c9:2b:dd:43:00:25:fa:61:b9:69:6a:58:23:11:b7:
33
- a7:33:8f:56:75:59:f5:cd:29:d7:46:b7:0a:2b:65:
34
- b6:d3:42:6f:15:b2:b8:7b:fb:ef:e9:5d:53:d5:34:
35
- 5a:27
36
- Exponent: 65537 (0x10001)
37
- X509v3 extensions:
38
- X509v3 Subject Key Identifier:
39
- AD:BD:98:7A:34:B4:26:F7:FA:C4:26:54:EF:03:BD:E0:24:CB:54:1A
40
- X509v3 Key Usage:
41
- Certificate Sign, CRL Sign
42
- X509v3 Basic Constraints: critical
43
- CA:TRUE
44
- X509v3 Authority Key Identifier:
45
- keyid:AD:BD:98:7A:34:B4:26:F7:FA:C4:26:54:EF:03:BD:E0:24:CB:54:1A
46
- DirName:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
47
- serial:01
48
-
49
- Signature Algorithm: sha1WithRSAEncryption
50
- b0:9b:e0:85:25:c2:d6:23:e2:0f:96:06:92:9d:41:98:9c:d9:
51
- 84:79:81:d9:1e:5b:14:07:23:36:65:8f:b0:d8:77:bb:ac:41:
52
- 6c:47:60:83:51:b0:f9:32:3d:e7:fc:f6:26:13:c7:80:16:a5:
53
- bf:5a:fc:87:cf:78:79:89:21:9a:e2:4c:07:0a:86:35:bc:f2:
54
- de:51:c4:d2:96:b7:dc:7e:4e:ee:70:fd:1c:39:eb:0c:02:51:
55
- 14:2d:8e:bd:16:e0:c1:df:46:75:e7:24:ad:ec:f4:42:b4:85:
56
- 93:70:10:67:ba:9d:06:35:4a:18:d3:2b:7a:cc:51:42:a1:7a:
57
- 63:d1:e6:bb:a1:c5:2b:c2:36:be:13:0d:e6:bd:63:7e:79:7b:
58
- a7:09:0d:40:ab:6a:dd:8f:8a:c3:f6:f6:8c:1a:42:05:51:d4:
59
- 45:f5:9f:a7:62:21:68:15:20:43:3c:99:e7:7c:bd:24:d8:a9:
60
- 91:17:73:88:3f:56:1b:31:38:18:b4:71:0f:9a:cd:c8:0e:9e:
61
- 8e:2e:1b:e1:8c:98:83:cb:1f:31:f1:44:4c:c6:04:73:49:76:
62
- 60:0f:c7:f8:bd:17:80:6b:2e:e9:cc:4c:0e:5a:9a:79:0f:20:
63
- 0a:2e:d5:9e:63:26:1e:55:92:94:d8:82:17:5a:7b:d0:bc:c7:
64
- 8f:4e:86:04
65
-
66
- -----BEGIN CERTIFICATE-----
67
- MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
68
- MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs
69
- IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290
70
- MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux
71
- FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h
72
- bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v
73
- dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt
74
- H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9
75
- uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX
76
- mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX
77
- a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN
78
- E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0
79
- WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD
80
- VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0
81
- Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU
82
- cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx
83
- IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN
84
- AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH
85
- YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
86
- 6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
87
- Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
88
- c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
89
- mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
90
- -----END CERTIFICATE-----
@@ -1,90 +0,0 @@
1
- This CA certificate is for verifying HTTPS connection to;
2
- - https://d2chzxaqi4y7f8.cloudfront.net/ (prepared by AWS)
3
-
4
- Certificate:
5
- Data:
6
- Version: 3 (0x2)
7
- Serial Number: 927650371 (0x374ad243)
8
- Signature Algorithm: sha1WithRSAEncryption
9
- Issuer: C=US, O=Entrust.net, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority
10
- Validity
11
- Not Before: May 25 16:09:40 1999 GMT
12
- Not After : May 25 16:39:40 2019 GMT
13
- Subject: C=US, O=Entrust.net, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority
14
- Subject Public Key Info:
15
- Public Key Algorithm: rsaEncryption
16
- Public-Key: (1024 bit)
17
- Modulus:
18
- 00:cd:28:83:34:54:1b:89:f3:0f:af:37:91:31:ff:
19
- af:31:60:c9:a8:e8:b2:10:68:ed:9f:e7:93:36:f1:
20
- 0a:64:bb:47:f5:04:17:3f:23:47:4d:c5:27:19:81:
21
- 26:0c:54:72:0d:88:2d:d9:1f:9a:12:9f:bc:b3:71:
22
- d3:80:19:3f:47:66:7b:8c:35:28:d2:b9:0a:df:24:
23
- da:9c:d6:50:79:81:7a:5a:d3:37:f7:c2:4a:d8:29:
24
- 92:26:64:d1:e4:98:6c:3a:00:8a:f5:34:9b:65:f8:
25
- ed:e3:10:ff:fd:b8:49:58:dc:a0:de:82:39:6b:81:
26
- b1:16:19:61:b9:54:b6:e6:43
27
- Exponent: 3 (0x3)
28
- X509v3 extensions:
29
- Netscape Cert Type:
30
- SSL CA, S/MIME CA, Object Signing CA
31
- X509v3 CRL Distribution Points:
32
-
33
- Full Name:
34
- DirName: C = US, O = Entrust.net, OU = www.entrust.net/CPS incorp. by ref. (limits liab.), OU = (c) 1999 Entrust.net Limited, CN = Entrust.net Secure Server Certification Authority, CN = CRL1
35
-
36
- Full Name:
37
- URI:http://www.entrust.net/CRL/net1.crl
38
-
39
- X509v3 Private Key Usage Period:
40
- Not Before: May 25 16:09:40 1999 GMT, Not After: May 25 16:09:40 2019 GMT
41
- X509v3 Key Usage:
42
- Certificate Sign, CRL Sign
43
- X509v3 Authority Key Identifier:
44
- keyid:F0:17:62:13:55:3D:B3:FF:0A:00:6B:FB:50:84:97:F3:ED:62:D0:1A
45
-
46
- X509v3 Subject Key Identifier:
47
- F0:17:62:13:55:3D:B3:FF:0A:00:6B:FB:50:84:97:F3:ED:62:D0:1A
48
- X509v3 Basic Constraints:
49
- CA:TRUE
50
- 1.2.840.113533.7.65.0:
51
- 0
52
- ..V4.0....
53
- Signature Algorithm: sha1WithRSAEncryption
54
- 90:dc:30:02:fa:64:74:c2:a7:0a:a5:7c:21:8d:34:17:a8:fb:
55
- 47:0e:ff:25:7c:8d:13:0a:fb:e4:98:b5:ef:8c:f8:c5:10:0d:
56
- f7:92:be:f1:c3:d5:d5:95:6a:04:bb:2c:ce:26:36:65:c8:31:
57
- c6:e7:ee:3f:e3:57:75:84:7a:11:ef:46:4f:18:f4:d3:98:bb:
58
- a8:87:32:ba:72:f6:3c:e2:3d:9f:d7:1d:d9:c3:60:43:8c:58:
59
- 0e:22:96:2f:62:a3:2c:1f:ba:ad:05:ef:ab:32:78:87:a0:54:
60
- 73:19:b5:5c:05:f9:52:3e:6d:2d:45:0b:f7:0a:93:ea:ed:06:
61
- f9:b2
62
-
63
- -----BEGIN CERTIFICATE-----
64
- MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC
65
- VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u
66
- ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc
67
- KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u
68
- ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05OTA1
69
- MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIGA1UE
70
- ChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5j
71
- b3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF
72
- bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUg
73
- U2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUA
74
- A4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQaO2f55M28Qpku0f1BBc/
75
- I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5gXpa0zf3
76
- wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OC
77
- AdcwggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHb
78
- oIHYpIHVMIHSMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5
79
- BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p
80
- dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVk
81
- MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp
82
- b24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu
83
- dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0
84
- MFqBDzIwMTkwNTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8Bdi
85
- E1U9s/8KAGv7UISX8+1i0BowHQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAa
86
- MAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZI
87
- hvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN
88
- 95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd
89
- 2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
90
- -----END CERTIFICATE-----
@@ -1,57 +0,0 @@
1
- This CA certificate is for verifying HTTPS connection to;
2
- - https://s3.amazon.com/ (prepared by AWS)
3
-
4
- Certificate:
5
- Data:
6
- Version: 1 (0x0)
7
- Serial Number:
8
- 7d:d9:fe:07:cf:a8:1e:b7:10:79:67:fb:a7:89:34:c6
9
- Signature Algorithm: sha1WithRSAEncryption
10
- Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network
11
- Validity
12
- Not Before: May 18 00:00:00 1998 GMT
13
- Not After : Aug 1 23:59:59 2028 GMT
14
- Subject: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network
15
- Subject Public Key Info:
16
- Public Key Algorithm: rsaEncryption
17
- Public-Key: (1024 bit)
18
- Modulus:
19
- 00:cc:5e:d1:11:5d:5c:69:d0:ab:d3:b9:6a:4c:99:
20
- 1f:59:98:30:8e:16:85:20:46:6d:47:3f:d4:85:20:
21
- 84:e1:6d:b3:f8:a4:ed:0c:f1:17:0f:3b:f9:a7:f9:
22
- 25:d7:c1:cf:84:63:f2:7c:63:cf:a2:47:f2:c6:5b:
23
- 33:8e:64:40:04:68:c1:80:b9:64:1c:45:77:c7:d8:
24
- 6e:f5:95:29:3c:50:e8:34:d7:78:1f:a8:ba:6d:43:
25
- 91:95:8f:45:57:5e:7e:c5:fb:ca:a4:04:eb:ea:97:
26
- 37:54:30:6f:bb:01:47:32:33:cd:dc:57:9b:64:69:
27
- 61:f8:9b:1d:1c:89:4f:5c:67
28
- Exponent: 65537 (0x10001)
29
- Signature Algorithm: sha1WithRSAEncryption
30
- 51:4d:cd:be:5c:cb:98:19:9c:15:b2:01:39:78:2e:4d:0f:67:
31
- 70:70:99:c6:10:5a:94:a4:53:4d:54:6d:2b:af:0d:5d:40:8b:
32
- 64:d3:d7:ee:de:56:61:92:5f:a6:c4:1d:10:61:36:d3:2c:27:
33
- 3c:e8:29:09:b9:11:64:74:cc:b5:73:9f:1c:48:a9:bc:61:01:
34
- ee:e2:17:a6:0c:e3:40:08:3b:0e:e7:eb:44:73:2a:9a:f1:69:
35
- 92:ef:71:14:c3:39:ac:71:a7:91:09:6f:e4:71:06:b3:ba:59:
36
- 57:26:79:00:f6:f8:0d:a2:33:30:28:d4:aa:58:a0:9d:9d:69:
37
- 91:fd
38
-
39
- -----BEGIN CERTIFICATE-----
40
- MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJ
41
- BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh
42
- c3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy
43
- MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp
44
- emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X
45
- DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw
46
- FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMg
47
- UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo
48
- YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5
49
- MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB
50
- AQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCOFoUgRm1HP9SFIIThbbP4
51
- pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71lSk8UOg0
52
- 13gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwID
53
- AQABMA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSk
54
- U01UbSuvDV1Ai2TT1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7i
55
- F6YM40AIOw7n60RzKprxaZLvcRTDOaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpY
56
- oJ2daZH9
57
- -----END CERTIFICATE-----