pusher-client 0.3.1 → 0.4.0
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.
- data/Gemfile +1 -5
- data/README.rdoc +5 -2
- data/Rakefile +2 -11
- data/certs/cacert.pem +72 -343
- data/examples/hello_pusher.rb +2 -3
- data/examples/hello_pusher_async.rb +2 -3
- data/examples/hello_pusher_ssl.rb +2 -3
- data/examples/subscribe_private.rb +2 -3
- data/lib/pusher-client.rb +9 -9
- data/lib/pusher-client/socket.rb +41 -26
- data/lib/pusher-client/version.rb +3 -0
- data/lib/pusher-client/websocket.rb +12 -10
- data/pusher-client.gemspec +10 -5
- data/test/pusherclient_test.rb +21 -1
- data/test/teststrap.rb +1 -9
- metadata +39 -22
- checksums.yaml +0 -7
data/Gemfile
CHANGED
data/README.rdoc
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
= pusher-client (Ruby)
|
2
2
|
|
3
|
+
{<img src="https://travis-ci.org/pusher/pusher-ruby-client.png" />}[https://travis-ci.org/pusher/pusher-ruby-client]
|
4
|
+
|
3
5
|
pusher-client is a ruby gem for consuming WebSockets from the Pusher[http://pusherapp.com] web service.
|
4
6
|
|
5
7
|
The connection to Pusher can optionally be maintained in its own thread (see Asynchronous Usage).
|
@@ -16,7 +18,6 @@ may be sent on. You can't just bind a global event without subscribing to any ch
|
|
16
18
|
The application will pause at socket.connect and handle events from Pusher as they happen.
|
17
19
|
|
18
20
|
require 'pusher-client'
|
19
|
-
PusherClient.logger = Logger.new(STDOUT)
|
20
21
|
options = {:secret => 'YOUR_APPLICATION_SECRET'}
|
21
22
|
socket = PusherClient::Socket.new(YOUR_APPLICATION_KEY, options)
|
22
23
|
|
@@ -30,6 +31,9 @@ The application will pause at socket.connect and handle events from Pusher as th
|
|
30
31
|
# Subscribe to private channel
|
31
32
|
socket.subscribe('private-channel4', USER_ID)
|
32
33
|
|
34
|
+
# Subscribe to presence channel with custom data (user_id is mandatory)
|
35
|
+
socket.subscribe('presence-channel5', :user_id => USER_ID, :user_name => 'john')
|
36
|
+
|
33
37
|
# Bind to a global event (can occur on either channel1 or channel2)
|
34
38
|
socket.bind('globalevent') do |data|
|
35
39
|
puts data
|
@@ -47,7 +51,6 @@ The socket will remain open in the background as long as your main application t
|
|
47
51
|
and you can continue to subscribe/unsubscribe to channels and bind new events.
|
48
52
|
|
49
53
|
require 'pusher-client'
|
50
|
-
PusherClient.logger = Logger.new(STDOUT)
|
51
54
|
socket = PusherClient::Socket.new(YOUR_APPLICATION_KEY)
|
52
55
|
socket.connect(true) # Connect asynchronously
|
53
56
|
|
data/Rakefile
CHANGED
@@ -1,13 +1,4 @@
|
|
1
|
-
require
|
2
|
-
require 'bundler'
|
3
|
-
begin
|
4
|
-
Bundler.setup(:default, :development)
|
5
|
-
rescue Bundler::BundlerError => e
|
6
|
-
$stderr.puts e.message
|
7
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
-
exit e.status_code
|
9
|
-
end
|
10
|
-
require 'rake'
|
1
|
+
require "bundler/gem_tasks"
|
11
2
|
|
12
3
|
require 'rake/testtask'
|
13
4
|
Rake::TestTask.new(:test) do |test|
|
@@ -16,4 +7,4 @@ Rake::TestTask.new(:test) do |test|
|
|
16
7
|
test.verbose = true
|
17
8
|
end
|
18
9
|
|
19
|
-
task :default => :test
|
10
|
+
task :default => :test
|
data/certs/cacert.pem
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
##
|
2
2
|
## ca-bundle.crt -- Bundle of CA Root Certificates
|
3
3
|
##
|
4
|
-
## Certificate data from Mozilla as of:
|
4
|
+
## Certificate data from Mozilla as of: Sat Dec 29 20:03:40 2012
|
5
5
|
##
|
6
6
|
## This is a bundle of X.509 certificates of public Certificate Authorities
|
7
7
|
## (CA). These were automatically extracted from Mozilla's root certificates
|
@@ -14,7 +14,7 @@
|
|
14
14
|
## Just configure this file as the SSLCACertificateFile.
|
15
15
|
##
|
16
16
|
|
17
|
-
# @(#) $RCSfile: certdata.txt,v $ $Revision: 1.
|
17
|
+
# @(#) $RCSfile: certdata.txt,v $ $Revision: 1.87 $ $Date: 2012/12/29 16:32:45 $
|
18
18
|
|
19
19
|
GTE CyberTrust Global Root
|
20
20
|
==========================
|
@@ -147,44 +147,6 @@ WM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2Omuf
|
|
147
147
|
Tqj/ZA1k
|
148
148
|
-----END CERTIFICATE-----
|
149
149
|
|
150
|
-
Verisign Class 1 Public Primary Certification Authority - G2
|
151
|
-
============================================================
|
152
|
-
-----BEGIN CERTIFICATE-----
|
153
|
-
MIIDAjCCAmsCEEzH6qqYPnHTkxD4PTqJkZIwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT
|
154
|
-
MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy
|
155
|
-
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
|
156
|
-
biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
|
157
|
-
dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT
|
158
|
-
MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy
|
159
|
-
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
|
160
|
-
biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
|
161
|
-
dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq0Lq+Fi24g9TK0g+8djHKlNgd
|
162
|
-
k4xWArzZbxpvUjZudVYKVdPfQ4chEWWKfo+9Id5rMj8bhDSVBZ1BNeuS65bdqlk/AVNtmU/t5eIq
|
163
|
-
WpDBucSmFc/IReumXY6cPvBkJHalzasab7bYe1FhbqZ/h8jit+U03EGI6glAvnOSPWvndQIDAQAB
|
164
|
-
MA0GCSqGSIb3DQEBBQUAA4GBAKlPww3HZ74sy9mozS11534Vnjty637rXC0Jh9ZrbWB85a7FkCMM
|
165
|
-
XErQr7Fd88e2CtvgFZMN3QO8x3aKtd1Pw5sTdbgBwObJW2uluIncrKTdcu1OofdPvAbT6shkdHvC
|
166
|
-
lUGcZXNY8ZCaPGqxmMnEh7zPRW1F4m4iP/68DzFc6PLZ
|
167
|
-
-----END CERTIFICATE-----
|
168
|
-
|
169
|
-
Verisign Class 2 Public Primary Certification Authority - G2
|
170
|
-
============================================================
|
171
|
-
-----BEGIN CERTIFICATE-----
|
172
|
-
MIIDAzCCAmwCEQC5L2DMiJ+hekYJuFtwbIqvMA0GCSqGSIb3DQEBBQUAMIHBMQswCQYDVQQGEwJV
|
173
|
-
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h
|
174
|
-
cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp
|
175
|
-
Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
|
176
|
-
c3QgTmV0d29yazAeFw05ODA1MTgwMDAwMDBaFw0yODA4MDEyMzU5NTlaMIHBMQswCQYDVQQGEwJV
|
177
|
-
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h
|
178
|
-
cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp
|
179
|
-
Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
|
180
|
-
c3QgTmV0d29yazCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAp4gBIXQs5xoD8JjhlzwPIQjx
|
181
|
-
nNuX6Zr8wgQGE75fUsjMHiwSViy4AWkszJkfrbCWrnkE8hM5wXuYuggs6MKEEyyqaekJ9MepAqRC
|
182
|
-
wiNPStjwDqL7MWzJ5m+ZJwf15vRMeJ5t60aG+rmGyVTyssSv1EYcWskVMP8NbPUtDm3Of3cCAwEA
|
183
|
-
ATANBgkqhkiG9w0BAQUFAAOBgQByLvl/0fFx+8Se9sVeUYpAmLho+Jscg9jinb3/7aHmZuovCfTK
|
184
|
-
1+qlK5X2JGCGTUQug6XELaDTrnhpb3LabK4I8GOSN+a7xDAXrXfMSTWqz9iP0b63GJZHc2pUIjRk
|
185
|
-
LbYWm1lbtFFZOrMLFPQS32eg9K0yZF6xRnInjBJ7xUS0rg==
|
186
|
-
-----END CERTIFICATE-----
|
187
|
-
|
188
150
|
Verisign Class 3 Public Primary Certification Authority - G2
|
189
151
|
============================================================
|
190
152
|
-----BEGIN CERTIFICATE-----
|
@@ -304,54 +266,6 @@ V9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/APhmcGcwTTYJBtYze4D1gCCAPRX5r
|
|
304
266
|
on+jjBXu
|
305
267
|
-----END CERTIFICATE-----
|
306
268
|
|
307
|
-
Verisign Class 1 Public Primary Certification Authority - G3
|
308
|
-
============================================================
|
309
|
-
-----BEGIN CERTIFICATE-----
|
310
|
-
MIIEGjCCAwICEQCLW3VWhFSFCwDPrzhIzrGkMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
|
311
|
-
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
|
312
|
-
cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
|
313
|
-
IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
|
314
|
-
dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
|
315
|
-
CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
|
316
|
-
dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
|
317
|
-
cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkg
|
318
|
-
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
319
|
-
ggEBAN2E1Lm0+afY8wR4nN493GwTFtl63SRRZsDHJlkNrAYIwpTRMx/wgzUfbhvI3qpuFU5UJ+/E
|
320
|
-
bRrsC+MO8ESlV8dAWB6jRx9x7GD2bZTIGDnt/kIYVt/kTEkQeE4BdjVjEjbdZrwBBDajVWjVojYJ
|
321
|
-
rKshJlQGrT/KFOCsyq0GHZXi+J3x4GD/wn91K0zM2v6HmSHquv4+VNfSWXjbPG7PoBMAGrgnoeS+
|
322
|
-
Z5bKoMWznN3JdZ7rMJpfo83ZrngZPyPpXNspva1VyBtUjGP26KbqxzcSXKMpHgLZ2x87tNcPVkeB
|
323
|
-
FQRKr4Mn0cVYiMHd9qqnoxjaaKptEVHhv2Vrn5Z20T0CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
|
324
|
-
q2aN17O6x5q25lXQBfGfMY1aqtmqRiYPce2lrVNWYgFHKkTp/j90CxObufRNG7LRX7K20ohcs5/N
|
325
|
-
y9Sn2WCVhDr4wTcdYcrnsMXlkdpUpqwxga6X3s0IrLjAl4B/bnKk52kTlWUfxJM8/XmPBNQ+T+r3
|
326
|
-
ns7NZ3xPZQL/kYVUc8f/NveGLezQXk//EZ9yBta4GvFMDSZl4kSAHsef493oCtrspSCAaWihT37h
|
327
|
-
a88HQfqDjrw43bAuEbFrskLMmrz5SCJ5ShkPshw+IHTZasO+8ih4E1Z5T21Q6huwtVexN2ZYI/Pc
|
328
|
-
D98Kh8TvhgXVOBRgmaNL3gaWcSzy27YfpO8/7g==
|
329
|
-
-----END CERTIFICATE-----
|
330
|
-
|
331
|
-
Verisign Class 2 Public Primary Certification Authority - G3
|
332
|
-
============================================================
|
333
|
-
-----BEGIN CERTIFICATE-----
|
334
|
-
MIIEGTCCAwECEGFwy0mMX5hFKeewptlQW3owDQYJKoZIhvcNAQEFBQAwgcoxCzAJBgNVBAYTAlVT
|
335
|
-
MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29y
|
336
|
-
azE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ug
|
337
|
-
b25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0
|
338
|
-
aW9uIEF1dGhvcml0eSAtIEczMB4XDTk5MTAwMTAwMDAwMFoXDTM2MDcxNjIzNTk1OVowgcoxCzAJ
|
339
|
-
BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
|
340
|
-
c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9y
|
341
|
-
aXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBD
|
342
|
-
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
|
343
|
-
AQEArwoNwtUs22e5LeWUJ92lvuCwTY+zYVY81nzD9M0+hsuiiOLh2KRpxbXiv8GmR1BeRjmL1Za6
|
344
|
-
tW8UvxDOJxOeBUebMXoT2B/Z0wI3i60sR/COgQanDTAM6/c8DyAd3HJG7qUCyFvDyVZpTMUYwZF7
|
345
|
-
C9UTAJu878NIPkZgIIUq1ZC2zYugzDLdt/1AVbJQHFauzI13TccgTacxdu9okoqQHgiBVrKtaaNS
|
346
|
-
0MscxCM9H5n+TOgWY47GCI72MfbS+uV23bUckqNJzc0BzWjNqWm6o+sdDZykIKbBoMXRRkwXbdKs
|
347
|
-
Zj+WjOCE1Db/IlnF+RFgqF8EffIa9iVCYQ/ESrg+iQIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQA0
|
348
|
-
JhU8wI1NQ0kdvekhktdmnLfexbjQ5F1fdiLAJvmEOjr5jLX77GDx6M4EsMjdpwOPMPOY36TmpDHf
|
349
|
-
0xwLRtxyID+u7gU8pDM/CzmscHhzS5kr3zDCVLCoO1Wh/hYozUK9dG6A2ydEp85EXdQbkJgNHkKU
|
350
|
-
sQAsBNB0owIFImNjzYO1+8FtYmtpdf1dcEG59b98377BMnMiIYtYgXsVkXq642RIsH/7NiXaldDx
|
351
|
-
JBQX3RiAa0YjOVT1jmIJBB2UkKab5iXiQkWquJCtvgiPqQtCGJTPcjnhsUPgKM+351psE2tJs//j
|
352
|
-
GHyJizNdrDPXp/naOlXJWBD5qu9ats9LS98q
|
353
|
-
-----END CERTIFICATE-----
|
354
|
-
|
355
269
|
Verisign Class 3 Public Primary Certification Authority - G3
|
356
270
|
============================================================
|
357
271
|
-----BEGIN CERTIFICATE-----
|
@@ -772,31 +686,6 @@ gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
|
|
772
686
|
X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
|
773
687
|
-----END CERTIFICATE-----
|
774
688
|
|
775
|
-
UTN-USER First-Network Applications
|
776
|
-
===================================
|
777
|
-
-----BEGIN CERTIFICATE-----
|
778
|
-
MIIEZDCCA0ygAwIBAgIQRL4Mi1AAJLQR0zYwS8AzdzANBgkqhkiG9w0BAQUFADCBozELMAkGA1UE
|
779
|
-
BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
|
780
|
-
IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzAp
|
781
|
-
BgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBBcHBsaWNhdGlvbnMwHhcNOTkwNzA5MTg0ODM5
|
782
|
-
WhcNMTkwNzA5MTg1NzQ5WjCBozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5T
|
783
|
-
YWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
|
784
|
-
dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBB
|
785
|
-
cHBsaWNhdGlvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCz+5Gh5DZVhawGNFug
|
786
|
-
mliy+LUPBXeDrjKxdpJo7CNKyXY/45y2N3kDuatpjQclthln5LAbGHNhSuh+zdMvZOOmfAz6F4Cj
|
787
|
-
DUeJT1FxL+78P/m4FoCHiZMlIJpDgmkkdihZNaEdwH+DBmQWICzTSaSFtMBhf1EI+GgVkYDLpdXu
|
788
|
-
Ozr0hAReYFmnjDRy7rh4xdE7EkpvfmUnuaRVxblvQ6TFHSyZwFKkeEwVs0CYCGtDxgGwenv1axwi
|
789
|
-
P8vv/6jQOkt2FZ7S0cYu49tXGzKiuG/ohqY/cKvlcJKrRB5AUPuco2LkbG6gyN7igEL66S/ozjIE
|
790
|
-
j3yNtxyjNTwV3Z7DrpelAgMBAAGjgZEwgY4wCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8w
|
791
|
-
HQYDVR0OBBYEFPqGydvguul49Uuo1hXf8NPhahQ8ME8GA1UdHwRIMEYwRKBCoECGPmh0dHA6Ly9j
|
792
|
-
cmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LU5ldHdvcmtBcHBsaWNhdGlvbnMuY3JsMA0G
|
793
|
-
CSqGSIb3DQEBBQUAA4IBAQCk8yXM0dSRgyLQzDKrm5ZONJFUICU0YV8qAhXhi6r/fWRRzwr/vH3Y
|
794
|
-
IWp4yy9Rb/hCHTO967V7lMPDqaAt39EpHx3+jz+7qEUqf9FuVSTiuwL7MT++6LzsQCv4AdRWOOTK
|
795
|
-
RIK1YSAhZ2X28AvnNPilwpyjXEAfhZOVBt5P1CeptqX8Fs1zMT+4ZSfP1FMa8Kxun08FDAOBp4Qp
|
796
|
-
xFq9ZFdyrTvPNximmMatBrTcCKME1SmklpoSZ0qMYEWd8SOasACcaLWYUNPvji6SZbFIPiG+FTAq
|
797
|
-
DbUMo2s/rn9X9R+WfN9v3YIwLGUbQErNaLly7HF27FSOH4UMAWr6pjisH8SE
|
798
|
-
-----END CERTIFICATE-----
|
799
|
-
|
800
689
|
America Online Root Certification Authority 1
|
801
690
|
=============================================
|
802
691
|
-----BEGIN CERTIFICATE-----
|
@@ -1084,26 +973,6 @@ s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ
|
|
1084
973
|
FL39vmwLAw==
|
1085
974
|
-----END CERTIFICATE-----
|
1086
975
|
|
1087
|
-
Sonera Class 1 Root CA
|
1088
|
-
======================
|
1089
|
-
-----BEGIN CERTIFICATE-----
|
1090
|
-
MIIDIDCCAgigAwIBAgIBJDANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
|
1091
|
-
U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MxIENBMB4XDTAxMDQwNjEwNDkxM1oXDTIxMDQw
|
1092
|
-
NjEwNDkxM1owOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
|
1093
|
-
IENsYXNzMSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALWJHytPZwp5/8Ue+H88
|
1094
|
-
7dF+2rDNbS82rDTG29lkFwhjMDMiikzujrsPDUJVyZ0upe/3p4zDq7mXy47vPxVnqIJyY1MPQYx9
|
1095
|
-
EJUkoVqlBvqSV536pQHydekfvFYmUk54GWVYVQNYwBSujHxVX3BbdyMGNpfzJLWaRpXk3w0LBUXl
|
1096
|
-
0fIdgrvGE+D+qnr9aTCU89JFhfzyMlsy3uhsXR/LpCJ0sICOXZT3BgBLqdReLjVQCfOAl/QMF645
|
1097
|
-
2F/NM8EcyonCIvdFEu1eEpOdY6uCLrnrQkFEy0oaAIINnvmLVz5MxxftLItyM19yejhW1ebZrgUa
|
1098
|
-
HXVFsculJRwSVzb9IjcCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQIR+IMi/ZT
|
1099
|
-
iFIwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQCLGrLJXWG04bkruVPRsoWdd44W7hE9
|
1100
|
-
28Jj2VuXZfsSZ9gqXLar5V7DtxYvyOirHYr9qxp81V9jz9yw3Xe5qObSIjiHBxTZ/75Wtf0HDjxV
|
1101
|
-
yhbMp6Z3N/vbXB9OWQaHowND9Rart4S9Tu+fMTfwRvFAttEMpWT4Y14h21VOTzF2nBBhjrZTOqMR
|
1102
|
-
vq9tfB69ri3iDGnHhVNoomG6xT60eVR4ngrHAr5i0RGCS2UvkVrCqIexVmiUefkl98HVrhq4uz2P
|
1103
|
-
qYo4Ffdz0Fpg0YCw8NzVUM1O7pJIae2yIx4wzMiUyLb1O4Z/P6Yun/Y+LLWSlj7fLJOK/4GMDw9Z
|
1104
|
-
IRlXvVWa
|
1105
|
-
-----END CERTIFICATE-----
|
1106
|
-
|
1107
976
|
Sonera Class 2 Root CA
|
1108
977
|
======================
|
1109
978
|
-----BEGIN CERTIFICATE-----
|
@@ -1170,34 +1039,6 @@ O0ESm70NRyN/PErQr8Cv9u8btRXE64PECV90i9kR+8JWsTz4cMo0jUNAE4z9mQNUecYu6oah9jrU
|
|
1170
1039
|
Cbz0vGbMPVjQV0kK7iXiQe4T+Zs4NNEA9X7nlB38aQNiuJkFBT1reBK9sG9l
|
1171
1040
|
-----END CERTIFICATE-----
|
1172
1041
|
|
1173
|
-
TDC OCES Root CA
|
1174
|
-
================
|
1175
|
-
-----BEGIN CERTIFICATE-----
|
1176
|
-
MIIFGTCCBAGgAwIBAgIEPki9xDANBgkqhkiG9w0BAQUFADAxMQswCQYDVQQGEwJESzEMMAoGA1UE
|
1177
|
-
ChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTAeFw0wMzAyMTEwODM5MzBaFw0zNzAyMTEwOTA5
|
1178
|
-
MzBaMDExCzAJBgNVBAYTAkRLMQwwCgYDVQQKEwNUREMxFDASBgNVBAMTC1REQyBPQ0VTIENBMIIB
|
1179
|
-
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArGL2YSCyz8DGhdfjeebM7fI5kqSXLmSjhFuH
|
1180
|
-
nEz9pPPEXyG9VhDr2y5h7JNp46PMvZnDBfwGuMo2HP6QjklMxFaaL1a8z3sM8W9Hpg1DTeLpHTk0
|
1181
|
-
zY0s2RKY+ePhwUp8hjjEqcRhiNJerxomTdXkoCJHhNlktxmW/OwZ5LKXJk5KTMuPJItUGBxIYXvV
|
1182
|
-
iGjaXbXqzRowwYCDdlCqT9HU3Tjw7xb04QxQBr/q+3pJoSgrHPb8FTKjdGqPqcNiKXEx5TukYBde
|
1183
|
-
dObaE+3pHx8b0bJoc8YQNHVGEBDjkAB2QMuLt0MJIf+rTpPGWOmlgtt3xDqZsXKVSQTwtyv6e1mO
|
1184
|
-
3QIDAQABo4ICNzCCAjMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwgewGA1UdIASB
|
1185
|
-
5DCB4TCB3gYIKoFQgSkBAQEwgdEwLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuY2VydGlmaWthdC5k
|
1186
|
-
ay9yZXBvc2l0b3J5MIGdBggrBgEFBQcCAjCBkDAKFgNUREMwAwIBARqBgUNlcnRpZmlrYXRlciBm
|
1187
|
-
cmEgZGVubmUgQ0EgdWRzdGVkZXMgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4xLiBDZXJ0aWZp
|
1188
|
-
Y2F0ZXMgZnJvbSB0aGlzIENBIGFyZSBpc3N1ZWQgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4x
|
1189
|
-
LjARBglghkgBhvhCAQEEBAMCAAcwgYEGA1UdHwR6MHgwSKBGoESkQjBAMQswCQYDVQQGEwJESzEM
|
1190
|
-
MAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTENMAsGA1UEAxMEQ1JMMTAsoCqgKIYm
|
1191
|
-
aHR0cDovL2NybC5vY2VzLmNlcnRpZmlrYXQuZGsvb2Nlcy5jcmwwKwYDVR0QBCQwIoAPMjAwMzAy
|
1192
|
-
MTEwODM5MzBagQ8yMDM3MDIxMTA5MDkzMFowHwYDVR0jBBgwFoAUYLWF7FZkfhIZJ2cdUBVLc647
|
1193
|
-
+RIwHQYDVR0OBBYEFGC1hexWZH4SGSdnHVAVS3OuO/kSMB0GCSqGSIb2fQdBAAQQMA4bCFY2LjA6
|
1194
|
-
NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEACromJkbTc6gJ82sLMJn9iuFXehHTuJTXCRBuo7E4
|
1195
|
-
A9G28kNBKWKnctj7fAXmMXAnVBhOinxO5dHKjHiIzxvTkIvmI/gLDjNDfZziChmPyQE+dF10yYsc
|
1196
|
-
A+UYyAFMP8uXBV2YcaaYb7Z8vTd/vuGTJW1v8AqtFxjhA7wHKcitJuj4YfD9IQl+mo6paH1IYnK9
|
1197
|
-
AOoBmbgGglGBTvH1tJFUuSN6AJqfXY3gPGS5GhKSKseCRHI53OI8xthV9RVOyAUO28bQYqbsFbS1
|
1198
|
-
AoLbrIyigfCbmTH1ICCoiGEKB5+U/NDXG8wuF/MEJ3Zn61SD/aSQfgY9BKNDLdr8C2LqL19iUw==
|
1199
|
-
-----END CERTIFICATE-----
|
1200
|
-
|
1201
1042
|
UTN DATACorp SGC Root CA
|
1202
1043
|
========================
|
1203
1044
|
-----BEGIN CERTIFICATE-----
|
@@ -1223,32 +1064,6 @@ EZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwP
|
|
1223
1064
|
DPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI
|
1224
1065
|
-----END CERTIFICATE-----
|
1225
1066
|
|
1226
|
-
UTN USERFirst Email Root CA
|
1227
|
-
===========================
|
1228
|
-
-----BEGIN CERTIFICATE-----
|
1229
|
-
MIIEojCCA4qgAwIBAgIQRL4Mi1AAJLQR0zYlJWfJiTANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UE
|
1230
|
-
BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
|
1231
|
-
IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0
|
1232
|
-
BgNVBAMTLVVUTi1VU0VSRmlyc3QtQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBFbWFpbDAeFw05
|
1233
|
-
OTA3MDkxNzI4NTBaFw0xOTA3MDkxNzM2NThaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQx
|
1234
|
-
FzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsx
|
1235
|
-
ITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVROLVVTRVJGaXJz
|
1236
|
-
dC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWlsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
1237
|
-
MIIBCgKCAQEAsjmFpPJ9q0E7YkY3rs3BYHW8OWX5ShpHornMSMxqmNVNNRm5pELlzkniii8efNIx
|
1238
|
-
B8dOtINknS4p1aJkxIW9hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQylbsMTzC9mKALi+VuG6JG+ni8
|
1239
|
-
om+rWV6lL8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXqvgvOdjp6Dpvq/NonWz1zHyLmSGHG
|
1240
|
-
TPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6hw2v+vPhwvCkxWeM1tZUOt4KpLoDd7Nl
|
1241
|
-
yP0e03RiqhjKaJMeoYV+9Udly/hNVyh00jT/MLbu9mIwFIws6wIDAQABo4G5MIG2MAsGA1UdDwQE
|
1242
|
-
AwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSJgmd9xJ0mcABLtFBIfN49rgRufTBYBgNV
|
1243
|
-
HR8EUTBPME2gS6BJhkdodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLVVTRVJGaXJzdC1DbGll
|
1244
|
-
bnRBdXRoZW50aWNhdGlvbmFuZEVtYWlsLmNybDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
|
1245
|
-
AwQwDQYJKoZIhvcNAQEFBQADggEBALFtYV2mGn98q0rkMPxTbyUkxsrt4jFcKw7u7mFVbwQ+zzne
|
1246
|
-
xRtJlOTrIEy05p5QLnLZjfWqo7NK2lYcYJeA3IKirUq9iiv/Cwm0xtcgBEXkzYABurorbs6q15L+
|
1247
|
-
5K/r9CYdFip/bDCVNy8zEqx/3cfREYxRmLLQo5HQrfafnoOTHh1CuEava2bwm3/q4wMC5QJRwarV
|
1248
|
-
NZ1yQAOJujEdxRBoUp7fooXFXAimeOZTT7Hot9MUnpOmw2TjrH5xzbyf6QMbzPvprDHBr3wVdAKZ
|
1249
|
-
w7JHpsIyYdfHb0gkUSeh1YdV8nuPmD0Wnu51tvjQjvLzxq4oW6fw8zYX/MMF08oDSlQ=
|
1250
|
-
-----END CERTIFICATE-----
|
1251
|
-
|
1252
1067
|
UTN USERFirst Hardware Root CA
|
1253
1068
|
==============================
|
1254
1069
|
-----BEGIN CERTIFICATE-----
|
@@ -1275,31 +1090,6 @@ iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67
|
|
1275
1090
|
nfhmqA==
|
1276
1091
|
-----END CERTIFICATE-----
|
1277
1092
|
|
1278
|
-
UTN USERFirst Object Root CA
|
1279
|
-
============================
|
1280
|
-
-----BEGIN CERTIFICATE-----
|
1281
|
-
MIIEZjCCA06gAwIBAgIQRL4Mi1AAJLQR0zYt4LNfGzANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UE
|
1282
|
-
BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
|
1283
|
-
IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAb
|
1284
|
-
BgNVBAMTFFVUTi1VU0VSRmlyc3QtT2JqZWN0MB4XDTk5MDcwOTE4MzEyMFoXDTE5MDcwOTE4NDAz
|
1285
|
-
NlowgZUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkx
|
1286
|
-
HjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3dy51c2Vy
|
1287
|
-
dHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNFUkZpcnN0LU9iamVjdDCCASIwDQYJKoZIhvcNAQEB
|
1288
|
-
BQADggEPADCCAQoCggEBAM6qgT+jo2F4qjEAVZURnicPHxzfOpuCaDDASmEd8S8O+r5596Uj71VR
|
1289
|
-
loTN2+O5bj4x2AogZ8f02b+U60cEPgLOKqJdhwQJ9jCdGIqXsqoc/EHSoTbL+z2RuufZcDX65OeQ
|
1290
|
-
w5ujm9M89RKZd7G3CeBo5hy485RjiGpq/gt2yb70IuRnuasaXnfBhQfdDWy/7gbHd2pBnqcP1/vu
|
1291
|
-
lBe3/IW+pKvEHDHd17bR5PDv3xaPslKT16HUiaEHLr/hARJCHhrh2JU022R5KP+6LhHC5ehbkkj7
|
1292
|
-
RwvCbNqtMoNB86XlQXD9ZZBt+vpRxPm9lisZBCzTbafc8H9vg2XiaquHhnUCAwEAAaOBrzCBrDAL
|
1293
|
-
BgNVHQ8EBAMCAcYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU2u1kdBScFDyr3ZmpvVsoTYs8
|
1294
|
-
ydgwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VUTi1VU0VSRmly
|
1295
|
-
c3QtT2JqZWN0LmNybDApBgNVHSUEIjAgBggrBgEFBQcDAwYIKwYBBQUHAwgGCisGAQQBgjcKAwQw
|
1296
|
-
DQYJKoZIhvcNAQEFBQADggEBAAgfUrE3RHjb/c652pWWmKpVZIC1WkDdIaXFwfNfLEzIR1pp6ujw
|
1297
|
-
NTX00CXzyKakh0q9G7FzCL3Uw8q2NbtZhncxzaeAFK4T7/yxSPlrJSUtUbYsbUXBmMiKVl0+7kNO
|
1298
|
-
PmsnjtA6S4ULX9Ptaqd1y9Fahy85dRNacrACgZ++8A+EVCBibGnU4U3GDZlDAQ0Slox4nb9QorFE
|
1299
|
-
qmrPF3rPbw/U+CRVX/A0FklmPlBGyWNxODFiuGK581OtbLUrohKqGU8J2l7nk8aOFAj+8DCAGKCG
|
1300
|
-
hU3IfdeLA/5u1fedFqySLKAj5ZyRUh+U3xeUc8OzwcFxBSAAeL0TUh2oPs0AH8g=
|
1301
|
-
-----END CERTIFICATE-----
|
1302
|
-
|
1303
1093
|
Camerfirma Chambers of Commerce Root
|
1304
1094
|
====================================
|
1305
1095
|
-----BEGIN CERTIFICATE-----
|
@@ -1354,42 +1144,6 @@ IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes
|
|
1354
1144
|
t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A==
|
1355
1145
|
-----END CERTIFICATE-----
|
1356
1146
|
|
1357
|
-
NetLock Qualified (Class QA) Root
|
1358
|
-
=================================
|
1359
|
-
-----BEGIN CERTIFICATE-----
|
1360
|
-
MIIG0TCCBbmgAwIBAgIBezANBgkqhkiG9w0BAQUFADCByTELMAkGA1UEBhMCSFUxETAPBgNVBAcT
|
1361
|
-
CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
|
1362
|
-
BAsTEVRhbnVzaXR2YW55a2lhZG9rMUIwQAYDVQQDEzlOZXRMb2NrIE1pbm9zaXRldHQgS296amVn
|
1363
|
-
eXpvaSAoQ2xhc3MgUUEpIFRhbnVzaXR2YW55a2lhZG8xHjAcBgkqhkiG9w0BCQEWD2luZm9AbmV0
|
1364
|
-
bG9jay5odTAeFw0wMzAzMzAwMTQ3MTFaFw0yMjEyMTUwMTQ3MTFaMIHJMQswCQYDVQQGEwJIVTER
|
1365
|
-
MA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNhZ2kgS2Z0
|
1366
|
-
LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxQjBABgNVBAMTOU5ldExvY2sgTWlub3NpdGV0
|
1367
|
-
dCBLb3pqZWd5em9pIChDbGFzcyBRQSkgVGFudXNpdHZhbnlraWFkbzEeMBwGCSqGSIb3DQEJARYP
|
1368
|
-
aW5mb0BuZXRsb2NrLmh1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx1Ilstg91IRV
|
1369
|
-
CacbvWy5FPSKAtt2/GoqeKvld/Bu4IwjZ9ulZJm53QE+b+8tmjwi8F3JV6BVQX/yQ15YglMxZc4e
|
1370
|
-
8ia6AFQer7C8HORSjKAyr7c3sVNnaHRnUPYtLmTeriZ539+Zhqurf4XsoPuAzPS4DB6TRWO53Lhb
|
1371
|
-
m+1bOdRfYrCnjnxmOCyqsQhjF2d9zL2z8cM/z1A57dEZgxXbhxInlrfa6uWdvLrqOU+L73Sa58XQ
|
1372
|
-
0uqGURzk/mQIKAR5BevKxXEOC++r6uwSEaEYBTJp0QwsGj0lmT+1fMptsK6ZmfoIYOcZwvK9UdPM
|
1373
|
-
0wKswREMgM6r3JSda6M5UzrWhQIDAMV9o4ICwDCCArwwEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV
|
1374
|
-
HQ8BAf8EBAMCAQYwggJ1BglghkgBhvhCAQ0EggJmFoICYkZJR1lFTEVNISBFemVuIHRhbnVzaXR2
|
1375
|
-
YW55IGEgTmV0TG9jayBLZnQuIE1pbm9zaXRldHQgU3pvbGdhbHRhdGFzaSBTemFiYWx5emF0YWJh
|
1376
|
-
biBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBBIG1pbm9zaXRldHQgZWxla3Ryb25p
|
1377
|
-
a3VzIGFsYWlyYXMgam9naGF0YXMgZXJ2ZW55ZXN1bGVzZW5laywgdmFsYW1pbnQgZWxmb2dhZGFz
|
1378
|
-
YW5hayBmZWx0ZXRlbGUgYSBNaW5vc2l0ZXR0IFN6b2xnYWx0YXRhc2kgU3phYmFseXphdGJhbiwg
|
1379
|
-
YXogQWx0YWxhbm9zIFN6ZXJ6b2Rlc2kgRmVsdGV0ZWxla2JlbiBlbG9pcnQgZWxsZW5vcnplc2kg
|
1380
|
-
ZWxqYXJhcyBtZWd0ZXRlbGUuIEEgZG9rdW1lbnR1bW9rIG1lZ3RhbGFsaGF0b2sgYSBodHRwczov
|
1381
|
-
L3d3dy5uZXRsb2NrLmh1L2RvY3MvIGNpbWVuIHZhZ3kga2VyaGV0b2sgYXogaW5mb0BuZXRsb2Nr
|
1382
|
-
Lm5ldCBlLW1haWwgY2ltZW4uIFdBUk5JTkchIFRoZSBpc3N1YW5jZSBhbmQgdGhlIHVzZSBvZiB0
|
1383
|
-
aGlzIGNlcnRpZmljYXRlIGFyZSBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIFF1YWxpZmllZCBDUFMg
|
1384
|
-
YXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3Lm5ldGxvY2suaHUvZG9jcy8gb3IgYnkgZS1tYWlsIGF0
|
1385
|
-
IGluZm9AbmV0bG9jay5uZXQwHQYDVR0OBBYEFAlqYhaSsFq7VQ7LdTI6MuWyIckoMA0GCSqGSIb3
|
1386
|
-
DQEBBQUAA4IBAQCRalCc23iBmz+LQuM7/KbD7kPgz/PigDVJRXYC4uMvBcXxKufAQTPGtpvQMznN
|
1387
|
-
wNuhrWw3AkxYQTvyl5LGSKjN5Yo5iWH5Upfpvfb5lHTocQ68d4bDBsxafEp+NFAwLvt/MpqNPfMg
|
1388
|
-
W/hqyobzMUwsWYACff44yTB1HLdV47yfuqhthCgFdbOLDcCRVCHnpgu0mfVRQdzNo0ci2ccBgcTc
|
1389
|
-
R08m6h/t280NmPSjnLRzMkqWmf68f8glWPhY83ZmiVSkpj7EUFy6iRiCdUgh0k8T6GB+B3bbELVR
|
1390
|
-
5qq5aKrN9p2QdRLqOBrKROi3macqaJVmlaut74nLYKkGEsaUR+ko
|
1391
|
-
-----END CERTIFICATE-----
|
1392
|
-
|
1393
1147
|
NetLock Notary (Class A) Root
|
1394
1148
|
=============================
|
1395
1149
|
-----BEGIN CERTIFICATE-----
|
@@ -1886,37 +1640,6 @@ hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotHuFEJjOp9zYhys2AzsfAKRO8P
|
|
1886
1640
|
UrbnBEI=
|
1887
1641
|
-----END CERTIFICATE-----
|
1888
1642
|
|
1889
|
-
SwissSign Platinum CA - G2
|
1890
|
-
==========================
|
1891
|
-
-----BEGIN CERTIFICATE-----
|
1892
|
-
MIIFwTCCA6mgAwIBAgIITrIAZwwDXU8wDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCQ0gxFTAT
|
1893
|
-
BgNVBAoTDFN3aXNzU2lnbiBBRzEjMCEGA1UEAxMaU3dpc3NTaWduIFBsYXRpbnVtIENBIC0gRzIw
|
1894
|
-
HhcNMDYxMDI1MDgzNjAwWhcNMzYxMDI1MDgzNjAwWjBJMQswCQYDVQQGEwJDSDEVMBMGA1UEChMM
|
1895
|
-
U3dpc3NTaWduIEFHMSMwIQYDVQQDExpTd2lzc1NpZ24gUGxhdGludW0gQ0EgLSBHMjCCAiIwDQYJ
|
1896
|
-
KoZIhvcNAQEBBQADggIPADCCAgoCggIBAMrfogLi2vj8Bxax3mCq3pZcZB/HL37PZ/pEQtZ2Y5Wu
|
1897
|
-
669yIIpFR4ZieIbWIDkm9K6j/SPnpZy1IiEZtzeTIsBQnIJ71NUERFzLtMKfkr4k2HtnIuJpX+UF
|
1898
|
-
eNSH2XFwMyVTtIc7KZAoNppVRDBopIOXfw0enHb/FZ1glwCNioUD7IC+6ixuEFGSzH7VozPY1kne
|
1899
|
-
WCqv9hbrS3uQMpe5up1Y8fhXSQQeol0GcN1x2/ndi5objM89o03Oy3z2u5yg+gnOI2Ky6Q0f4nIo
|
1900
|
-
j5+saCB9bzuohTEJfwvH6GXp43gOCWcwizSC+13gzJ2BbWLuCB4ELE6b7P6pT1/9aXjvCR+htL/6
|
1901
|
-
8++QHkwFix7qepF6w9fl+zC8bBsQWJj3Gl/QKTIDE0ZNYWqFTFJ0LwYfexHihJfGmfNtf9dng34T
|
1902
|
-
aNhxKFrYzt3oEBSa/m0jh26OWnA81Y0JAKeqvLAxN23IhBQeW71FYyBrS3SMvds6DsHPWhaPpZjy
|
1903
|
-
domyExI7C3d3rLvlPClKknLKYRorXkzig3R3+jVIeoVNjZpTxN94ypeRSCtFKwH3HBqi7Ri6Cr2D
|
1904
|
-
+m+8jVeTO9TUps4e8aCxzqv9KyiaTxvXw3LbpMS/XUz13XuWae5ogObnmLo2t/5u7Su9IPhlGdpV
|
1905
|
-
CX4l3P5hYnL5fhgC72O00Puv5TtjjGePAgMBAAGjgawwgakwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
|
1906
|
-
EwEB/wQFMAMBAf8wHQYDVR0OBBYEFFCvzAeHFUdvOMW0ZdHelarp35zMMB8GA1UdIwQYMBaAFFCv
|
1907
|
-
zAeHFUdvOMW0ZdHelarp35zMMEYGA1UdIAQ/MD0wOwYJYIV0AVkBAQEBMC4wLAYIKwYBBQUHAgEW
|
1908
|
-
IGh0dHA6Ly9yZXBvc2l0b3J5LnN3aXNzc2lnbi5jb20vMA0GCSqGSIb3DQEBBQUAA4ICAQAIhab1
|
1909
|
-
Fgz8RBrBY+D5VUYI/HAcQiiWjrfFwUF1TglxeeVtlspLpYhg0DB0uMoI3LQwnkAHFmtllXcBrqS3
|
1910
|
-
NQuB2nEVqXQXOHtYyvkv+8Bldo1bAbl93oI9ZLi+FHSjClTTLJUYFzX1UWs/j6KWYTl4a0vlpqD4
|
1911
|
-
U99REJNi54Av4tHgvI42Rncz7Lj7jposiU0xEQ8mngS7twSNC/K5/FqdOxa3L8iYq/6KUFkuozv8
|
1912
|
-
KV2LwUvJ4ooTHbG/u0IdUt1O2BReEMYxB+9xJ/cbOQncguqLs5WGXv312l0xpuAxtpTmREl0xRbl
|
1913
|
-
9x8DYSjFyMsSoEJL+WuICI20MhjzdZ/EfwBPBZWcoxcCw7NTm6ogOSkrZvqdr16zktK1puEa+S1B
|
1914
|
-
aYEUtLS17Yk9zvupnTVCRLEcFHOBzyoBNZox1S2PbYTfgE1X4z/FhHXaicYwu+uPyyIIoK6q8QNs
|
1915
|
-
OktNCaUOcsZWayFCTiMlFGiudgp8DAdwZPmaL/YFOSbGDI8Zf0NebvRbFS/bYV3mZy8/CJT5YLSY
|
1916
|
-
Mdp08YSTcU1f+2BY0fvEwW2JorsgH51xkcsymxM9Pn2SUjWskpSi0xjCfMfqr3YFFt1nJ8J+HAci
|
1917
|
-
IfNAChs0B0QTwoRqjt8ZWr9/6x3iGjjRXK9HkmuAtTClyY3YqzGBH9/CZjfTk6mFhnll0g==
|
1918
|
-
-----END CERTIFICATE-----
|
1919
|
-
|
1920
1643
|
SwissSign Gold CA - G2
|
1921
1644
|
======================
|
1922
1645
|
-----BEGIN CERTIFICATE-----
|
@@ -2254,32 +1977,6 @@ hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY
|
|
2254
1977
|
okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0=
|
2255
1978
|
-----END CERTIFICATE-----
|
2256
1979
|
|
2257
|
-
S-TRUST Authentication and Encryption Root CA 2005 PN
|
2258
|
-
=====================================================
|
2259
|
-
-----BEGIN CERTIFICATE-----
|
2260
|
-
MIIEezCCA2OgAwIBAgIQNxkY5lNUfBq1uMtZWts1tzANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UE
|
2261
|
-
BhMCREUxIDAeBgNVBAgTF0JhZGVuLVd1ZXJ0dGVtYmVyZyAoQlcpMRIwEAYDVQQHEwlTdHV0dGdh
|
2262
|
-
cnQxKTAnBgNVBAoTIERldXRzY2hlciBTcGFya2Fzc2VuIFZlcmxhZyBHbWJIMT4wPAYDVQQDEzVT
|
2263
|
-
LVRSVVNUIEF1dGhlbnRpY2F0aW9uIGFuZCBFbmNyeXB0aW9uIFJvb3QgQ0EgMjAwNTpQTjAeFw0w
|
2264
|
-
NTA2MjIwMDAwMDBaFw0zMDA2MjEyMzU5NTlaMIGuMQswCQYDVQQGEwJERTEgMB4GA1UECBMXQmFk
|
2265
|
-
ZW4tV3VlcnR0ZW1iZXJnIChCVykxEjAQBgNVBAcTCVN0dXR0Z2FydDEpMCcGA1UEChMgRGV1dHNj
|
2266
|
-
aGVyIFNwYXJrYXNzZW4gVmVybGFnIEdtYkgxPjA8BgNVBAMTNVMtVFJVU1QgQXV0aGVudGljYXRp
|
2267
|
-
b24gYW5kIEVuY3J5cHRpb24gUm9vdCBDQSAyMDA1OlBOMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
2268
|
-
MIIBCgKCAQEA2bVKwdMz6tNGs9HiTNL1toPQb9UY6ZOvJ44TzbUlNlA0EmQpoVXhOmCTnijJ4/Ob
|
2269
|
-
4QSwI7+Vio5bG0F/WsPoTUzVJBY+h0jUJ67m91MduwwA7z5hca2/OnpYH5Q9XIHV1W/fuJvS9eXL
|
2270
|
-
g3KSwlOyggLrra1fFi2SU3bxibYs9cEv4KdKb6AwajLrmnQDaHgTncovmwsdvs91DSaXm8f1Xgqf
|
2271
|
-
eN+zvOyauu9VjxuapgdjKRdZYgkqeQd3peDRF2npW932kKvimAoA0SVtnteFhy+S8dF2g08LOlk3
|
2272
|
-
KC8zpxdQ1iALCvQm+Z845y2kuJuJja2tyWp9iRe79n+Ag3rm7QIDAQABo4GSMIGPMBIGA1UdEwEB
|
2273
|
-
/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFTVFJv
|
2274
|
-
bmxpbmUxLTIwNDgtNTAdBgNVHQ4EFgQUD8oeXHngovMpttKFswtKtWXsa1IwHwYDVR0jBBgwFoAU
|
2275
|
-
D8oeXHngovMpttKFswtKtWXsa1IwDQYJKoZIhvcNAQEFBQADggEBAK8B8O0ZPCjoTVy7pWMciDMD
|
2276
|
-
pwCHpB8gq9Yc4wYfl35UvbfRssnV2oDsF9eK9XvCAPbpEW+EoFolMeKJ+aQAPzFoLtU96G7m1R08
|
2277
|
-
P7K9n3frndOMusDXtk3sU5wPBG7qNWdX4wple5A64U8+wwCSersFiXOMy6ZNwPv2AtawB6MDwidA
|
2278
|
-
nwzkhYItr5pCHdDHjfhA7p0GVxzZotiAFP7hYy0yh9WUUpY6RsZxlj33mA6ykaqP2vROJAA5Veit
|
2279
|
-
F7nTNCtKqUDMFypVZUF0Qn71wK/Ik63yGFs9iQzbRzkk+OBM8h+wPQrKBU6JIRrjKpms/H+h8Q8b
|
2280
|
-
Hz2eBIPdltkdOpQ=
|
2281
|
-
-----END CERTIFICATE-----
|
2282
|
-
|
2283
1980
|
Microsec e-Szigno Root CA
|
2284
1981
|
=========================
|
2285
1982
|
-----BEGIN CERTIFICATE-----
|
@@ -2475,28 +2172,6 @@ dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU
|
|
2475
2172
|
Cm26OWMohpLzGITY+9HPBVZkVw==
|
2476
2173
|
-----END CERTIFICATE-----
|
2477
2174
|
|
2478
|
-
ComSign CA
|
2479
|
-
==========
|
2480
|
-
-----BEGIN CERTIFICATE-----
|
2481
|
-
MIIDkzCCAnugAwIBAgIQFBOWgxRVjOp7Y+X8NId3RDANBgkqhkiG9w0BAQUFADA0MRMwEQYDVQQD
|
2482
|
-
EwpDb21TaWduIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0wNDAzMjQxMTMy
|
2483
|
-
MThaFw0yOTAzMTkxNTAyMThaMDQxEzARBgNVBAMTCkNvbVNpZ24gQ0ExEDAOBgNVBAoTB0NvbVNp
|
2484
|
-
Z24xCzAJBgNVBAYTAklMMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8ORUaSvTx49q
|
2485
|
-
ROR+WCf4C9DklBKK8Rs4OC8fMZwG1Cyn3gsqrhqg455qv588x26i+YtkbDqthVVRVKU4VbirgwTy
|
2486
|
-
P2Q298CNQ0NqZtH3FyrV7zb6MBBC11PN+fozc0yz6YQgitZBJzXkOPqUm7h65HkfM/sb2CEJKHxN
|
2487
|
-
GGleZIp6GZPKfuzzcuc3B1hZKKxC+cX/zT/npfo4sdAMx9lSGlPWgcxCejVb7Us6eva1jsz/D3zk
|
2488
|
-
YDaHL63woSV9/9JLEYhwVKZBqGdTUkJe5DSe5L6j7KpiXd3DTKaCQeQzC6zJMw9kglcq/QytNuEM
|
2489
|
-
rkvF7zuZ2SOzW120V+x0cAwqTwIDAQABo4GgMIGdMAwGA1UdEwQFMAMBAf8wPQYDVR0fBDYwNDAy
|
2490
|
-
oDCgLoYsaHR0cDovL2ZlZGlyLmNvbXNpZ24uY28uaWwvY3JsL0NvbVNpZ25DQS5jcmwwDgYDVR0P
|
2491
|
-
AQH/BAQDAgGGMB8GA1UdIwQYMBaAFEsBmz5WGmU2dst7l6qSBe4y5ygxMB0GA1UdDgQWBBRLAZs+
|
2492
|
-
VhplNnbLe5eqkgXuMucoMTANBgkqhkiG9w0BAQUFAAOCAQEA0Nmlfv4pYEWdfoPPbrxHbvUanlR2
|
2493
|
-
QnG0PFg/LUAlQvaBnPGJEMgOqnhPOAlXsDzACPw1jvFIUY0McXS6hMTXcpuEfDhOZAYnKuGntewI
|
2494
|
-
mbQKDdSFc8gS4TXt8QUxHXOZDOuWyt3T5oWq8Ir7dcHyCTxlZWTzTNity4hp8+SDtwy9F1qWF8pb
|
2495
|
-
/627HOkthIDYIb6FUtnUdLlphbpN7Sgy6/lhSuTENh4Z3G+EER+V9YMoGKgzkkMn3V0TBEVPh9VG
|
2496
|
-
zT2ouvDzuFYkRes3x+F2T3I5GN9+dHLHcy056mDmrRGiVod7w2ia/viMcKjfZTL0pECMocJEAw6U
|
2497
|
-
AGegcQCCSA==
|
2498
|
-
-----END CERTIFICATE-----
|
2499
|
-
|
2500
2175
|
ComSign Secured CA
|
2501
2176
|
==================
|
2502
2177
|
-----BEGIN CERTIFICATE-----
|
@@ -3045,22 +2720,6 @@ MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o
|
|
3045
2720
|
tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA==
|
3046
2721
|
-----END CERTIFICATE-----
|
3047
2722
|
|
3048
|
-
Verisign Class 1 Public Primary Certification Authority
|
3049
|
-
=======================================================
|
3050
|
-
-----BEGIN CERTIFICATE-----
|
3051
|
-
MIICPDCCAaUCED9pHoGc8JpK83P/uUii5N0wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx
|
3052
|
-
FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAxIFB1YmxpYyBQcmltYXJ5
|
3053
|
-
IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow
|
3054
|
-
XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAx
|
3055
|
-
IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
|
3056
|
-
A4GNADCBiQKBgQDlGb9to1ZhLZlIcfZn3rmN67eehoAKkQ76OCWvRoiC5XOooJskXQ0fzGVuDLDQ
|
3057
|
-
VoQYh5oGmxChc9+0WDlrbsH2FdWoqD+qEgaNMax/sDTXjzRniAnNFBHiTkVWaR94AoDa3EeRKbs2
|
3058
|
-
yWNcxeDXLYd7obcysHswuiovMaruo2fa2wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFgVKTk8d6Pa
|
3059
|
-
XCUDfGD67gmZPCcQcMgMCeazh88K4hiWNWLMv5sneYlfycQJ9M61Hd8qveXbhpxoJeUwfLaJFf5n
|
3060
|
-
0a3hUKw8fGJLj7qE1xIVGx/KXQ/BUpQqEZnae88MNhPVNdwQGVnqlMEAv3WP2fr9dgTbYruQagPZ
|
3061
|
-
RjXZ+Hxb
|
3062
|
-
-----END CERTIFICATE-----
|
3063
|
-
|
3064
2723
|
Verisign Class 3 Public Primary Certification Authority
|
3065
2724
|
=======================================================
|
3066
2725
|
-----BEGIN CERTIFICATE-----
|
@@ -3643,6 +3302,30 @@ E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D
|
|
3643
3302
|
5EI=
|
3644
3303
|
-----END CERTIFICATE-----
|
3645
3304
|
|
3305
|
+
Hellenic Academic and Research Institutions RootCA 2011
|
3306
|
+
=======================================================
|
3307
|
+
-----BEGIN CERTIFICATE-----
|
3308
|
+
MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT
|
3309
|
+
O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y
|
3310
|
+
aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
|
3311
|
+
IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT
|
3312
|
+
AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
|
3313
|
+
IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo
|
3314
|
+
IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
|
3315
|
+
AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI
|
3316
|
+
1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa
|
3317
|
+
71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u
|
3318
|
+
8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH
|
3319
|
+
3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/
|
3320
|
+
MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8
|
3321
|
+
MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu
|
3322
|
+
b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt
|
3323
|
+
XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8
|
3324
|
+
TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD
|
3325
|
+
/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N
|
3326
|
+
7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4
|
3327
|
+
-----END CERTIFICATE-----
|
3328
|
+
|
3646
3329
|
Actalis Authentication Root CA
|
3647
3330
|
==============================
|
3648
3331
|
-----BEGIN CERTIFICATE-----
|
@@ -3822,4 +3505,50 @@ KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz
|
|
3822
3505
|
UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe
|
3823
3506
|
eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi
|
3824
3507
|
Cp/HuZc=
|
3508
|
+
-----END CERTIFICATE-----
|
3509
|
+
|
3510
|
+
T-TeleSec GlobalRoot Class 3
|
3511
|
+
============================
|
3512
|
+
-----BEGIN CERTIFICATE-----
|
3513
|
+
MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
|
3514
|
+
IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
|
3515
|
+
cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx
|
3516
|
+
MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
|
3517
|
+
dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
|
3518
|
+
ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3
|
3519
|
+
DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK
|
3520
|
+
9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU
|
3521
|
+
NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF
|
3522
|
+
iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W
|
3523
|
+
0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA
|
3524
|
+
MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr
|
3525
|
+
AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb
|
3526
|
+
fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT
|
3527
|
+
ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h
|
3528
|
+
P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml
|
3529
|
+
e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw==
|
3530
|
+
-----END CERTIFICATE-----
|
3531
|
+
|
3532
|
+
EE Certification Centre Root CA
|
3533
|
+
===============================
|
3534
|
+
-----BEGIN CERTIFICATE-----
|
3535
|
+
MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
|
3536
|
+
EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy
|
3537
|
+
dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw
|
3538
|
+
MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB
|
3539
|
+
UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy
|
3540
|
+
ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB
|
3541
|
+
DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM
|
3542
|
+
TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2
|
3543
|
+
rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw
|
3544
|
+
93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN
|
3545
|
+
P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T
|
3546
|
+
AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ
|
3547
|
+
MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF
|
3548
|
+
BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj
|
3549
|
+
xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM
|
3550
|
+
lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u
|
3551
|
+
uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU
|
3552
|
+
3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM
|
3553
|
+
dcGWxZ0=
|
3825
3554
|
-----END CERTIFICATE-----
|
data/examples/hello_pusher.rb
CHANGED
@@ -1,12 +1,11 @@
|
|
1
1
|
# Usage: $ PUSHER_KEY=YOURKEY ruby examples/hello_pusher.rb
|
2
2
|
|
3
|
-
|
4
|
-
require '
|
3
|
+
$:.unshift(File.expand_path("../../lib", __FILE__))
|
4
|
+
require 'pusher-client'
|
5
5
|
require 'pp'
|
6
6
|
|
7
7
|
APP_KEY = ENV['PUSHER_KEY'] # || "YOUR_APPLICATION_KEY"
|
8
8
|
|
9
|
-
PusherClient.logger = Logger.new(STDOUT)
|
10
9
|
socket = PusherClient::Socket.new(APP_KEY)
|
11
10
|
|
12
11
|
# Subscribe to a channel
|
@@ -1,12 +1,11 @@
|
|
1
1
|
# Usage: $ PUSHER_KEY=YOURKEY ruby examples/hello_pusher.rb
|
2
2
|
|
3
|
-
|
4
|
-
require '
|
3
|
+
$:.unshift(File.expand_path("../../lib", __FILE__))
|
4
|
+
require 'pusher-client'
|
5
5
|
require 'pp'
|
6
6
|
|
7
7
|
APP_KEY = ENV['PUSHER_KEY'] # || "YOUR_APPLICATION_KEY"
|
8
8
|
|
9
|
-
PusherClient.logger = Logger.new('/dev/null')
|
10
9
|
socket = PusherClient::Socket.new(APP_KEY)
|
11
10
|
socket.connect(true)
|
12
11
|
|
@@ -1,12 +1,11 @@
|
|
1
1
|
# Usage: $ PUSHER_KEY=YOURKEY ruby examples/hello_pusher.rb
|
2
2
|
|
3
|
-
|
4
|
-
require '
|
3
|
+
$:.unshift(File.expand_path("../../lib", __FILE__))
|
4
|
+
require 'pusher-client'
|
5
5
|
require 'pp'
|
6
6
|
|
7
7
|
APP_KEY = ENV['PUSHER_KEY'] # || "YOUR_APPLICATION_KEY"
|
8
8
|
|
9
|
-
PusherClient.logger = Logger.new(STDOUT)
|
10
9
|
socket = PusherClient::Socket.new(APP_KEY, { :encrypted => true } )
|
11
10
|
|
12
11
|
# Subscribe to a channel
|
@@ -1,13 +1,12 @@
|
|
1
1
|
# Usage: $ PUSHER_KEY=YOURKEY ruby examples/hello_pusher.rb
|
2
2
|
|
3
|
-
|
4
|
-
require '
|
3
|
+
$:.unshift(File.expand_path("../../lib", __FILE__))
|
4
|
+
require 'pusher-client'
|
5
5
|
require 'pp'
|
6
6
|
|
7
7
|
APP_KEY = ENV['PUSHER_KEY'] # || "YOUR_APPLICATION_KEY"
|
8
8
|
APP_SECRET = ENV['PUSHER_SECRET'] # || "YOUR_APPLICATION_SECRET"
|
9
9
|
|
10
|
-
PusherClient.logger = Logger.new(STDOUT)
|
11
10
|
socket = PusherClient::Socket.new(APP_KEY, { :encrypted => true, :secret => APP_SECRET } )
|
12
11
|
|
13
12
|
# Subscribe to a channel
|
data/lib/pusher-client.rb
CHANGED
@@ -1,14 +1,13 @@
|
|
1
|
-
autoload :Logger, 'logger'
|
2
|
-
|
3
1
|
module PusherClient
|
4
2
|
HOST = 'ws.pusherapp.com'
|
5
3
|
WS_PORT = 80
|
6
4
|
WSS_PORT = 443
|
7
5
|
|
8
|
-
@logger = Logger.new(STDOUT)
|
9
|
-
|
10
6
|
def self.logger
|
11
|
-
@logger
|
7
|
+
@logger ||= begin
|
8
|
+
require 'logger'
|
9
|
+
Logger.new(STDOUT)
|
10
|
+
end
|
12
11
|
end
|
13
12
|
|
14
13
|
def self.logger=(logger)
|
@@ -18,7 +17,8 @@ end
|
|
18
17
|
|
19
18
|
Thread.abort_on_exception = true
|
20
19
|
|
21
|
-
require
|
22
|
-
require
|
23
|
-
require
|
24
|
-
require
|
20
|
+
require 'pusher-client/version'
|
21
|
+
require 'pusher-client/websocket'
|
22
|
+
require 'pusher-client/socket'
|
23
|
+
require 'pusher-client/channel'
|
24
|
+
require 'pusher-client/channels'
|
data/lib/pusher-client/socket.rb
CHANGED
@@ -1,33 +1,36 @@
|
|
1
1
|
require 'json'
|
2
|
-
require '
|
2
|
+
require 'openssl'
|
3
3
|
require 'digest/md5'
|
4
4
|
|
5
5
|
module PusherClient
|
6
6
|
class Socket
|
7
7
|
|
8
8
|
CLIENT_ID = 'pusher-ruby-client'
|
9
|
-
VERSION = '0.3.0'
|
10
9
|
PROTOCOL = '5'
|
11
10
|
|
12
|
-
attr_accessor :encrypted, :secure
|
13
11
|
attr_reader :path, :connected, :channels, :global_channel, :socket_id
|
14
12
|
|
15
|
-
def initialize(
|
16
|
-
raise
|
13
|
+
def initialize(app_key, options={})
|
14
|
+
raise "Missing app_key" unless app_key && !app_key.empty?
|
17
15
|
|
18
|
-
@path = "/app/#{
|
19
|
-
@key =
|
16
|
+
@path = "#{options[:ws_path]}/app/#{app_key}?client=#{CLIENT_ID}&version=#{PusherClient::VERSION}&protocol=#{PROTOCOL}"
|
17
|
+
@key = app_key
|
20
18
|
@secret = options[:secret]
|
21
19
|
@socket_id = nil
|
22
20
|
@channels = Channels.new
|
23
21
|
@global_channel = Channel.new('pusher_global_channel')
|
24
22
|
@global_channel.global = true
|
25
|
-
@secure = false
|
26
23
|
@connected = false
|
27
24
|
@encrypted = options[:encrypted] || false
|
25
|
+
@private_auth_method = options[:private_auth_method]
|
26
|
+
@cert_file = options[:cert_file]
|
27
|
+
@ws_host = options[:ws_host] || HOST
|
28
|
+
@ws_port = options[:ws_port] || WS_PORT
|
29
|
+
@wss_port = options[:wss_port] || WSS_PORT
|
30
|
+
@ssl_verify = options.fetch(:ssl_verify) { true }
|
28
31
|
|
29
32
|
bind('pusher:connection_established') do |data|
|
30
|
-
socket =
|
33
|
+
socket = parser(data)
|
31
34
|
@connected = true
|
32
35
|
@socket_id = socket['socket_id']
|
33
36
|
subscribe_all
|
@@ -49,15 +52,15 @@ module PusherClient
|
|
49
52
|
end
|
50
53
|
|
51
54
|
def connect(async = false)
|
52
|
-
if @encrypted
|
53
|
-
url = "wss://#{
|
55
|
+
if @encrypted
|
56
|
+
url = "wss://#{@ws_host}:#{@wss_port}#{@path}"
|
54
57
|
else
|
55
|
-
url = "ws://#{
|
58
|
+
url = "ws://#{@ws_host}:#{@ws_port}#{@path}"
|
56
59
|
end
|
57
60
|
PusherClient.logger.debug("Pusher : connecting : #{url}")
|
58
61
|
|
59
62
|
@connection_thread = Thread.new {
|
60
|
-
options = {:ssl => @encrypted
|
63
|
+
options = {:ssl => @encrypted, :cert_file => @cert_file, :ssl_verify => @ssl_verify}
|
61
64
|
@connection = PusherWebSocket.new(url, options)
|
62
65
|
PusherClient.logger.debug "Websocket connected"
|
63
66
|
|
@@ -87,8 +90,12 @@ module PusherClient
|
|
87
90
|
end
|
88
91
|
end
|
89
92
|
|
90
|
-
def subscribe(channel_name,
|
91
|
-
|
93
|
+
def subscribe(channel_name, user_data = nil)
|
94
|
+
if user_data.is_a? Hash
|
95
|
+
@user_data = user_data.to_json
|
96
|
+
elsif not user_data.nil?
|
97
|
+
@user_data = {:user_id => user_data}.to_json
|
98
|
+
end
|
92
99
|
|
93
100
|
channel = @channels << channel_name
|
94
101
|
if @connected
|
@@ -156,14 +163,18 @@ module PusherClient
|
|
156
163
|
end
|
157
164
|
|
158
165
|
def get_private_auth(channel)
|
159
|
-
|
160
|
-
|
161
|
-
|
166
|
+
if (@private_auth_method.nil?)
|
167
|
+
string_to_sign = @socket_id + ':' + channel.name
|
168
|
+
signature = hmac(@secret, string_to_sign)
|
169
|
+
return "#{@key}:#{signature}"
|
170
|
+
else
|
171
|
+
return @private_auth_method.call(@socket_id, channel)
|
172
|
+
end
|
162
173
|
end
|
163
174
|
|
164
175
|
def get_presence_auth(channel)
|
165
176
|
string_to_sign = @socket_id + ':' + channel.name + ':' + @user_data
|
166
|
-
signature =
|
177
|
+
signature = hmac(@secret, string_to_sign)
|
167
178
|
return "#{@key}:#{signature}"
|
168
179
|
end
|
169
180
|
|
@@ -192,13 +203,17 @@ module PusherClient
|
|
192
203
|
end
|
193
204
|
|
194
205
|
def parser(data)
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
206
|
+
return data if data.is_a? Hash
|
207
|
+
return JSON.parse(data)
|
208
|
+
rescue => err
|
209
|
+
PusherClient.logger.warn(err)
|
210
|
+
PusherClient.logger.warn("Pusher : data attribute not valid JSON - you may wish to implement your own Pusher::Client.parser")
|
211
|
+
return data
|
212
|
+
end
|
213
|
+
|
214
|
+
def hmac(secret, string_to_sign)
|
215
|
+
digest = OpenSSL::Digest::SHA256.new
|
216
|
+
signature = OpenSSL::HMAC.hexdigest(digest, secret, string_to_sign)
|
202
217
|
end
|
203
218
|
end
|
204
219
|
|
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'rubygems'
|
2
1
|
require 'socket'
|
3
2
|
require 'websocket'
|
4
3
|
require 'openssl'
|
@@ -7,19 +6,26 @@ module PusherClient
|
|
7
6
|
class PusherWebSocket
|
8
7
|
WAIT_EXCEPTIONS = [Errno::EAGAIN, Errno::EWOULDBLOCK]
|
9
8
|
WAIT_EXCEPTIONS << IO::WaitReadable if defined?(IO::WaitReadable)
|
10
|
-
|
9
|
+
|
10
|
+
CA_FILE = File.expand_path('../../../certs/cacert.pem', __FILE__)
|
11
|
+
|
11
12
|
attr_accessor :socket
|
12
13
|
|
13
14
|
def initialize(url, params = {})
|
14
|
-
@hs ||= WebSocket::Handshake::Client.new(:url => url
|
15
|
+
@hs ||= WebSocket::Handshake::Client.new(:url => url)
|
15
16
|
@frame ||= WebSocket::Frame::Incoming::Server.new(:version => @hs.version)
|
16
17
|
@socket = TCPSocket.new(@hs.host, @hs.port || 80)
|
18
|
+
@cert_file = params[:cert_file]
|
17
19
|
|
18
20
|
if params[:ssl] == true
|
19
21
|
ctx = OpenSSL::SSL::SSLContext.new
|
20
|
-
|
21
|
-
|
22
|
-
|
22
|
+
if params[:ssl_verify]
|
23
|
+
ctx.verify_mode = OpenSSL::SSL::VERIFY_PEER|OpenSSL::SSL::VERIFY_FAIL_IF_NO_PEER_CERT
|
24
|
+
# http://curl.haxx.se/ca/cacert.pem
|
25
|
+
ctx.ca_file = @cert_file || CA_FILE
|
26
|
+
else
|
27
|
+
ctx.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
28
|
+
end
|
23
29
|
|
24
30
|
ssl_sock = OpenSSL::SSL::SSLSocket.new(@socket, ctx)
|
25
31
|
ssl_sock.sync_close = true
|
@@ -45,10 +51,6 @@ module PusherClient
|
|
45
51
|
end
|
46
52
|
end
|
47
53
|
|
48
|
-
def path_to_cert
|
49
|
-
File.join(File.dirname(File.expand_path(__FILE__)), '../../certs/cacert.pem')
|
50
|
-
end
|
51
|
-
|
52
54
|
def send(data, type = :text)
|
53
55
|
raise "no handshake!" unless @handshaked
|
54
56
|
|
data/pusher-client.gemspec
CHANGED
@@ -1,8 +1,12 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'pusher-client/version'
|
5
|
+
|
2
6
|
Gem::Specification.new do |s|
|
3
7
|
s.name = 'pusher-client'
|
4
|
-
s.version =
|
5
|
-
s.authors = ["
|
8
|
+
s.version = PusherClient::VERSION
|
9
|
+
s.authors = ["Pusher", "Logan Koester"]
|
6
10
|
s.email = ['support@pusher.com']
|
7
11
|
s.homepage = 'http://github.com/pusher/pusher-ruby-client'
|
8
12
|
s.summary = 'Client for consuming WebSockets from http://pusher.com'
|
@@ -18,8 +22,9 @@ Gem::Specification.new do |s|
|
|
18
22
|
s.licenses = ['MIT']
|
19
23
|
|
20
24
|
s.add_runtime_dependency 'websocket', '~> 1.0.0'
|
21
|
-
s.add_runtime_dependency '
|
25
|
+
s.add_runtime_dependency 'json' if RUBY_VERSION < "1.9"
|
22
26
|
|
23
|
-
s.add_development_dependency
|
24
|
-
s.add_development_dependency
|
27
|
+
s.add_development_dependency "bacon"
|
28
|
+
s.add_development_dependency "rake"
|
29
|
+
s.add_development_dependency "bundler", "~> 1.3"
|
25
30
|
end
|
data/test/pusherclient_test.rb
CHANGED
@@ -64,7 +64,7 @@ end
|
|
64
64
|
|
65
65
|
describe "A PusherClient::Socket" do
|
66
66
|
before do
|
67
|
-
@socket = PusherClient::Socket.new(TEST_APP_KEY)
|
67
|
+
@socket = PusherClient::Socket.new(TEST_APP_KEY, :secret => 'secret')
|
68
68
|
end
|
69
69
|
|
70
70
|
it 'should not connect when instantiated' do
|
@@ -109,6 +109,26 @@ describe "A PusherClient::Socket" do
|
|
109
109
|
@socket.channels['testchannel'].should.equal nil
|
110
110
|
end
|
111
111
|
|
112
|
+
it 'should subscribe to a private channel' do
|
113
|
+
@channel = @socket.subscribe('private-testchannel')
|
114
|
+
@socket.channels['private-testchannel'].should.equal @channel
|
115
|
+
@channel.subscribed.should.equal true
|
116
|
+
end
|
117
|
+
|
118
|
+
it 'should subscribe to a presence channel with user_id' do
|
119
|
+
@channel = @socket.subscribe('presence-testchannel', '123')
|
120
|
+
@socket.channels['presence-testchannel'].should.equal @channel
|
121
|
+
@socket.instance_variable_get('@user_data').should.equal '{"user_id":"123"}'
|
122
|
+
@channel.subscribed.should.equal true
|
123
|
+
end
|
124
|
+
|
125
|
+
it 'should subscribe to a presence channel with custom channel_data' do
|
126
|
+
@channel = @socket.subscribe('presence-testchannel', :user_id => '123', :user_name => 'john')
|
127
|
+
@socket.channels['presence-testchannel'].should.equal @channel
|
128
|
+
@socket.instance_variable_get('@user_data').should.equal '{"user_id":"123","user_name":"john"}'
|
129
|
+
@channel.subscribed.should.equal true
|
130
|
+
end
|
131
|
+
|
112
132
|
it 'should allow binding of global events' do
|
113
133
|
@socket.bind('testevent') { |data| PusherClient.logger.test("testchannel received #{data}") }
|
114
134
|
@socket.global_channel.callbacks.has_key?('testevent').should.equal true
|
data/test/teststrap.rb
CHANGED
@@ -1,13 +1,5 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'bundler'
|
3
|
-
begin
|
4
|
-
Bundler.setup(:default, :development)
|
5
|
-
rescue Bundler::BundlerError => e
|
6
|
-
$stderr.puts e.message
|
7
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
-
exit e.status_code
|
9
|
-
end
|
10
1
|
require 'bacon'
|
2
|
+
require 'logger'
|
11
3
|
|
12
4
|
require File.dirname(__FILE__) + '/../lib/pusher-client.rb'
|
13
5
|
|
metadata
CHANGED
@@ -1,19 +1,21 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pusher-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
8
|
+
- Pusher
|
7
9
|
- Logan Koester
|
8
|
-
- Phil Leggetter
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2013-
|
13
|
+
date: 2013-10-23 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: websocket
|
16
17
|
requirement: !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
17
19
|
requirements:
|
18
20
|
- - ~>
|
19
21
|
- !ruby/object:Gem::Version
|
@@ -21,52 +23,59 @@ dependencies:
|
|
21
23
|
type: :runtime
|
22
24
|
prerelease: false
|
23
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
24
27
|
requirements:
|
25
28
|
- - ~>
|
26
29
|
- !ruby/object:Gem::Version
|
27
30
|
version: 1.0.0
|
28
31
|
- !ruby/object:Gem::Dependency
|
29
|
-
name:
|
32
|
+
name: bacon
|
30
33
|
requirement: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
31
35
|
requirements:
|
32
|
-
- -
|
36
|
+
- - ! '>='
|
33
37
|
- !ruby/object:Gem::Version
|
34
|
-
version: 0
|
35
|
-
type: :
|
38
|
+
version: '0'
|
39
|
+
type: :development
|
36
40
|
prerelease: false
|
37
41
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
38
43
|
requirements:
|
39
|
-
- -
|
44
|
+
- - ! '>='
|
40
45
|
- !ruby/object:Gem::Version
|
41
|
-
version: 0
|
46
|
+
version: '0'
|
42
47
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
48
|
+
name: rake
|
44
49
|
requirement: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
45
51
|
requirements:
|
46
|
-
- - '>='
|
52
|
+
- - ! '>='
|
47
53
|
- !ruby/object:Gem::Version
|
48
54
|
version: '0'
|
49
55
|
type: :development
|
50
56
|
prerelease: false
|
51
57
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
52
59
|
requirements:
|
53
|
-
- - '>='
|
60
|
+
- - ! '>='
|
54
61
|
- !ruby/object:Gem::Version
|
55
62
|
version: '0'
|
56
63
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
64
|
+
name: bundler
|
58
65
|
requirement: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
59
67
|
requirements:
|
60
|
-
- -
|
68
|
+
- - ~>
|
61
69
|
- !ruby/object:Gem::Version
|
62
|
-
version: '
|
70
|
+
version: '1.3'
|
63
71
|
type: :development
|
64
72
|
prerelease: false
|
65
73
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
66
75
|
requirements:
|
67
|
-
- -
|
76
|
+
- - ~>
|
68
77
|
- !ruby/object:Gem::Version
|
69
|
-
version: '
|
78
|
+
version: '1.3'
|
70
79
|
description: Client for consuming WebSockets from http://pusher.com
|
71
80
|
email:
|
72
81
|
- support@pusher.com
|
@@ -92,6 +101,7 @@ files:
|
|
92
101
|
- lib/pusher-client/channel.rb
|
93
102
|
- lib/pusher-client/channels.rb
|
94
103
|
- lib/pusher-client/socket.rb
|
104
|
+
- lib/pusher-client/version.rb
|
95
105
|
- lib/pusher-client/websocket.rb
|
96
106
|
- pusher-client.gemspec
|
97
107
|
- test/pusherclient_test.rb
|
@@ -100,26 +110,33 @@ files:
|
|
100
110
|
homepage: http://github.com/pusher/pusher-ruby-client
|
101
111
|
licenses:
|
102
112
|
- MIT
|
103
|
-
metadata: {}
|
104
113
|
post_install_message:
|
105
114
|
rdoc_options: []
|
106
115
|
require_paths:
|
107
116
|
- lib
|
108
117
|
required_ruby_version: !ruby/object:Gem::Requirement
|
118
|
+
none: false
|
109
119
|
requirements:
|
110
|
-
- - '>='
|
120
|
+
- - ! '>='
|
111
121
|
- !ruby/object:Gem::Version
|
112
122
|
version: '0'
|
123
|
+
segments:
|
124
|
+
- 0
|
125
|
+
hash: -363523268946277982
|
113
126
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
114
128
|
requirements:
|
115
|
-
- - '>='
|
129
|
+
- - ! '>='
|
116
130
|
- !ruby/object:Gem::Version
|
117
131
|
version: '0'
|
132
|
+
segments:
|
133
|
+
- 0
|
134
|
+
hash: -363523268946277982
|
118
135
|
requirements: []
|
119
136
|
rubyforge_project:
|
120
|
-
rubygems_version:
|
137
|
+
rubygems_version: 1.8.25
|
121
138
|
signing_key:
|
122
|
-
specification_version:
|
139
|
+
specification_version: 3
|
123
140
|
summary: Client for consuming WebSockets from http://pusher.com
|
124
141
|
test_files:
|
125
142
|
- test/pusherclient_test.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: ae55b3f792c691e98f7154ba962328ec959bcaa2
|
4
|
-
data.tar.gz: 5ef7c4404bfc6dcac8cbda2f442b1391f9133082
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 981d27529e1cd238512413af321dc350c7130baf7b76071dcdb1ecfc7470c1200ca6e6130f72a9330b063e0338aba1066d174cc6dd5b722663552f35a68bf0da
|
7
|
-
data.tar.gz: 4d1b3c766d363790b97a408a4817953b77f1bb94beebc190b6b35b48d3457b6866d23f4ab1d05ff73d0a47d6ead1af5d04ad4fc78e8261ded32f87d234419f04
|