rubygems-update 2.1.5 → 2.1.6

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rubygems-update might be problematic. Click here for more details.

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-----