rs-httpclient 3.0.0.beta1
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 +7 -0
- data/README.md +85 -0
- data/bin/httpclient +77 -0
- data/bin/jsonclient +85 -0
- data/lib/hexdump.rb +50 -0
- data/lib/http-access2/cookie.rb +1 -0
- data/lib/http-access2/http.rb +1 -0
- data/lib/http-access2.rb +55 -0
- data/lib/httpclient/auth.rb +924 -0
- data/lib/httpclient/cacert.pem +3252 -0
- data/lib/httpclient/cacert1024.pem +3866 -0
- data/lib/httpclient/connection.rb +88 -0
- data/lib/httpclient/cookie.rb +220 -0
- data/lib/httpclient/http.rb +1082 -0
- data/lib/httpclient/include_client.rb +85 -0
- data/lib/httpclient/jruby_ssl_socket.rb +594 -0
- data/lib/httpclient/session.rb +960 -0
- data/lib/httpclient/ssl_config.rb +452 -0
- data/lib/httpclient/ssl_socket.rb +150 -0
- data/lib/httpclient/timeout.rb +140 -0
- data/lib/httpclient/util.rb +222 -0
- data/lib/httpclient/version.rb +3 -0
- data/lib/httpclient/webagent-cookie.rb +459 -0
- data/lib/httpclient.rb +1331 -0
- data/lib/jsonclient.rb +66 -0
- data/lib/oauthclient.rb +111 -0
- data/sample/async.rb +8 -0
- data/sample/auth.rb +11 -0
- data/sample/cookie.rb +18 -0
- data/sample/dav.rb +103 -0
- data/sample/generate_test_keys.rb +99 -0
- data/sample/howto.rb +49 -0
- data/sample/jsonclient.rb +67 -0
- data/sample/oauth_buzz.rb +57 -0
- data/sample/oauth_friendfeed.rb +59 -0
- data/sample/oauth_twitter.rb +61 -0
- data/sample/ssl/0cert.pem +22 -0
- data/sample/ssl/0key.pem +30 -0
- data/sample/ssl/1000cert.pem +19 -0
- data/sample/ssl/1000key.pem +18 -0
- data/sample/ssl/htdocs/index.html +10 -0
- data/sample/ssl/ssl_client.rb +22 -0
- data/sample/ssl/webrick_httpsd.rb +29 -0
- data/sample/stream.rb +21 -0
- data/sample/thread.rb +27 -0
- data/sample/wcat.rb +21 -0
- data/test/ca-chain.pem +40 -0
- data/test/ca.cert +20 -0
- data/test/ca.key +27 -0
- data/test/ca.srl +1 -0
- data/test/client-pass.key +30 -0
- data/test/client.cert +20 -0
- data/test/client.key +27 -0
- data/test/fixtures/verify.alt.cert +20 -0
- data/test/fixtures/verify.foo.cert +20 -0
- data/test/fixtures/verify.key +27 -0
- data/test/fixtures/verify.localhost.cert +20 -0
- data/test/helper.rb +129 -0
- data/test/htdigest +1 -0
- data/test/htpasswd +2 -0
- data/test/jruby_ssl_socket/test_pemutils.rb +32 -0
- data/test/runner.rb +2 -0
- data/test/server.cert +20 -0
- data/test/server.key +27 -0
- data/test/sslsvr.rb +65 -0
- data/test/subca.cert +20 -0
- data/test/subca.key +27 -0
- data/test/subca.srl +1 -0
- data/test/test_auth.rb +496 -0
- data/test/test_cookie.rb +309 -0
- data/test/test_hexdump.rb +13 -0
- data/test/test_http-access2.rb +516 -0
- data/test/test_httpclient.rb +2144 -0
- data/test/test_include_client.rb +52 -0
- data/test/test_jsonclient.rb +98 -0
- data/test/test_ssl.rb +522 -0
- data/test/test_webagent-cookie.rb +465 -0
- metadata +130 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
require 'oauthclient'
|
|
2
|
+
|
|
3
|
+
# Get your own consumer token from http://twitter.com/apps
|
|
4
|
+
consumer_key = 'EDIT HERE'
|
|
5
|
+
consumer_secret = 'EDIT HERE'
|
|
6
|
+
|
|
7
|
+
callback = ARGV.shift # can be nil for OAuth 1.0. (not 1.0a)
|
|
8
|
+
request_token_url = 'https://api.twitter.com/oauth/request_token'
|
|
9
|
+
oob_authorize_url = 'https://api.twitter.com/oauth/authorize'
|
|
10
|
+
access_token_url = 'https://api.twitter.com/oauth/access_token'
|
|
11
|
+
|
|
12
|
+
STDOUT.sync = true
|
|
13
|
+
|
|
14
|
+
# create OAuth client.
|
|
15
|
+
client = OAuthClient.new
|
|
16
|
+
client.oauth_config.consumer_key = consumer_key
|
|
17
|
+
client.oauth_config.consumer_secret = consumer_secret
|
|
18
|
+
client.oauth_config.signature_method = 'HMAC-SHA1'
|
|
19
|
+
client.oauth_config.http_method = :get # Twitter does not allow :post
|
|
20
|
+
client.debug_dev = STDERR if $DEBUG
|
|
21
|
+
|
|
22
|
+
# Get request token.
|
|
23
|
+
res = client.get_request_token(request_token_url, callback)
|
|
24
|
+
p res.status
|
|
25
|
+
p res.oauth_params
|
|
26
|
+
p res.content
|
|
27
|
+
p client.oauth_config
|
|
28
|
+
token = res.oauth_params['oauth_token']
|
|
29
|
+
secret = res.oauth_params['oauth_token_secret']
|
|
30
|
+
raise if token.nil? or secret.nil?
|
|
31
|
+
|
|
32
|
+
# You need to confirm authorization out of band.
|
|
33
|
+
puts
|
|
34
|
+
puts "Go here and do confirm: #{oob_authorize_url}?oauth_token=#{token}"
|
|
35
|
+
puts "Type oauth_verifier/PIN (if given) and hit [enter] to go"
|
|
36
|
+
verifier = gets.chomp
|
|
37
|
+
verifier = nil if verifier.empty?
|
|
38
|
+
|
|
39
|
+
# Get access token.
|
|
40
|
+
# FYI: You may need to re-construct OAuthClient instance here.
|
|
41
|
+
# In normal web app flow, getting access token and getting request token
|
|
42
|
+
# must be done in different HTTP requests.
|
|
43
|
+
# client = OAuthClient.new
|
|
44
|
+
# client.oauth_config.consumer_key = consumer_key
|
|
45
|
+
# client.oauth_config.consumer_secret = consumer_secret
|
|
46
|
+
# client.oauth_config.signature_method = 'HMAC-SHA1'
|
|
47
|
+
# client.oauth_config.http_method = :get # Twitter does not allow :post
|
|
48
|
+
res = client.get_access_token(access_token_url, token, secret, verifier)
|
|
49
|
+
p res.status
|
|
50
|
+
p res.oauth_params
|
|
51
|
+
p res.content
|
|
52
|
+
p client.oauth_config
|
|
53
|
+
id = res.oauth_params['user_id']
|
|
54
|
+
|
|
55
|
+
puts
|
|
56
|
+
puts "Access token usage example"
|
|
57
|
+
puts "Hit [enter] to go"
|
|
58
|
+
gets
|
|
59
|
+
|
|
60
|
+
# Access to a protected resource. (DM)
|
|
61
|
+
puts client.get("https://api.twitter.com/1.1/direct_messages.json")
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIDjzCCAnegAwIBAgIBADANBgkqhkiG9w0BAQUFADAtMQswCQYDVQQGEwJDWjEN
|
|
3
|
+
MAsGA1UEChMEUnVieTEPMA0GA1UEAxMGUnVieUNBMB4XDTAzMDUzMTAyNDcyOFoX
|
|
4
|
+
DTA1MDUzMDAyNDcyOFowLTELMAkGA1UEBhMCQ1oxDTALBgNVBAoTBFJ1YnkxDzAN
|
|
5
|
+
BgNVBAMTBlJ1YnlDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANfw
|
|
6
|
+
JSR2OxME6WBRYekhvN1M7uZwJLC3qHhRtBm583x7MS3yzF/HwFNH1oAmOmzUcDSz
|
|
7
|
+
Y9OmTDVIMU9b0bSYHuu8KswrRWmx/iEhgU/hODS1MQKi+uHoMTtY/dVXwTLAfw5d
|
|
8
|
+
UMPQ9F5EhiV57sKWrS7vIVBtpxUNgfJW61FP+Ru3Lr8uhUgXPECHck8fjFu8w2Sw
|
|
9
|
+
JQBQ8ePrfKBiTHpOzKmDVXXWzVYzIQN0zQfpu/FSjOJ4xWV3wmfltN4FK+UkpALW
|
|
10
|
+
3RKsNFx+Pmji0fr2/PeEPhzKkhWk5b+pYrIlTNkagS7u8EoeLtY1y3LSZvopbcPI
|
|
11
|
+
l0QFQHCMtxS7ngC6wsECAwEAAaOBuTCBtjAPBgNVHRMECDAGAQH/AgEAMC0GCWCG
|
|
12
|
+
SAGG+EIBDQQgFh5HZW5lcmF0ZWQgYnkgT3BlblNTTCBmb3IgUnVieS4wHQYDVR0O
|
|
13
|
+
BBYEFA2IpXrgDnpJ9p6bfBmtM6j0IejmMFUGA1UdIwROMEyAFA2IpXrgDnpJ9p6b
|
|
14
|
+
fBmtM6j0IejmoTGkLzAtMQswCQYDVQQGEwJDWjENMAsGA1UEChMEUnVieTEPMA0G
|
|
15
|
+
A1UEAxMGUnVieUNBggEAMA0GCSqGSIb3DQEBBQUAA4IBAQB1b4iTezqgZj6FhcAc
|
|
16
|
+
0AtleAc8TpUn8YOX6zSlHG6I7tKcLfnWen9eFs4Jx73Bup5wHvcrHF6U+/nAdpb5
|
|
17
|
+
R7lkNbjWFWwoi5cQC36mh4ym8GWhUZUf8362yPzimbdKMBIiDoIBY8NyIBBORU2m
|
|
18
|
+
BlXsHr0dqGpeTmNnFhgi1FCN+F/VitplOUP9E8NzsgLS/GY9HO160HbPXoZc4yp5
|
|
19
|
+
KFweqmyhbxZvkrrD6LanvB23cJP+TeHzA5mLJtIBciFq+AJe+cDTlJYjtLcsxkAy
|
|
20
|
+
Evojd//5gePjgSz3gbzU5Zq0/tI2T0rQYnmySoSQ1u2+i5FrMvEjh/H6tZtQ6nO0
|
|
21
|
+
ROTL
|
|
22
|
+
-----END CERTIFICATE-----
|
data/sample/ssl/0key.pem
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
Proc-Type: 4,ENCRYPTED
|
|
3
|
+
DEK-Info: DES-EDE3-CBC,BC9A85421E11A052
|
|
4
|
+
|
|
5
|
+
dlFN8woboqu1mLWHSe6HnBCzrJUFw1NLv4sJM8MFPcSGkPEJoqceRQ5XFFlwnhwT
|
|
6
|
+
WStidVQLAaCqWxPlQbvKs/eW2yEZRX3JhNHlGkuZUbAuqC7FGcIPCFtXmshmR3/K
|
|
7
|
+
wSxM3DuEBA31kHoyH/DGPEOcp/L9M95fU2w/1Zz895nXgECdlYfMB7KEXJ7S0TVD
|
|
8
|
+
NvcH6dcNS2I56ikUfRd9MA+tTtJTDsolBii3HpNkI+i8GeAAznfuyhCa+RasbMnR
|
|
9
|
+
3SRHSgiZpK01JkepKEumG1iyGXBE4GMlF3dK9TL4UTfK7PjbW1BRGVdmGayA5L8X
|
|
10
|
+
vpn9uIMbpFUD7nU/cSs6+ECYy9Fdq/d8oE7YRVpqGA2mX+Vvjzc6ZByiW8eH8uYW
|
|
11
|
+
d1YCySAzttQUcDFx4YlpbQN+NSE67amGY/nkXn3CnQuB2uDiUm6818p1jjhEbIj6
|
|
12
|
+
SQpNgpuhHPhyawMuC98BvxEXoSTFRmXx5h+Qgo8nfCBUpGUCA8STuJG+EebIXMHH
|
|
13
|
+
yNdZGYMdkkuzow1G+bcHaIV4pgD0hOX6D+AzhO8/11gsJNiZHWAkxRtXres0B7JQ
|
|
14
|
+
BTv6mrpmRsr1TbY7K55y5QePkvroiqI4BX2//RgAcUw+aBzPCSt87YU55pPxxDCv
|
|
15
|
+
KnoMQJapUIlXgYBs+2GBiFQlr3dAnzduXrXkZa/TuE0853QDDnKWN3aWapW0EieH
|
|
16
|
+
sDxYz6kZ6c/vjDJtNjjgysKvi2ZFnJMk92fi1sNd2MrH9w1vSmjHw6+b9REH+r6K
|
|
17
|
+
YCcMzCUnIV5Y5jgbnrY5jWlB5Jt5PlU+QDFTBNsdctyoES3h5yQh48hcpnJOy4YT
|
|
18
|
+
tn9jEmIAYM7QZtGZrY5yiZRZbM5tLL7VeXA0M7N0ivjZUVP4NBUV1IFhLpeus3Yo
|
|
19
|
+
yXB99Sib/M8fqlmnRlyKKaRseB9a80/LJdLJC7Q1aJG9JYTTpumydppDzvwwUFV/
|
|
20
|
+
yHQibPzWhnHTElyXSGeWWQ/4gKJXJFkSyrBeKt/DcDggEnpsVw7kAeo0KJLWvBq2
|
|
21
|
+
0CwnWxPsseIYSLdwE0wOZTnWvHC6viCCqxaFwROa+bHsgCtRR8xwOKVg0RQRexQi
|
|
22
|
+
SKsCEyq4hfKH3Kd7KkI5c4iCHrNDxQiYVAHGo0kuVWPNP9PH8XrRuP7f2Aq6ObEU
|
|
23
|
+
cGLN+OKlzChKJQZZzdthGTjO52cZERokS7etLs5yPNM27CUZIy2gUsWwANG700ov
|
|
24
|
+
DYi4S9j4y2fK9qVFGuNmZ7nNQ6juHIN8ZpZObmzGz/GEsVy8zYGV7jH2bC8fhCg1
|
|
25
|
+
wiTn0CHyfI0AfJ5zQMQ48z/ATI5+/pP5DuJ4kPLYU90EdIlIQ/9zQDRxVPvUalas
|
|
26
|
+
kskX8qdsbILaLqKzqvPa6jkhncV7SVQPhxIrs6vU2RWrsU1Qw9wHhzaITu9yb1l1
|
|
27
|
+
s8uialiJWnWOwkhIAUULOoGRnBB7U6sseFh7LcYHc2sZYJzQQO3g14ANvtsu/ILT
|
|
28
|
+
abUPXtGHSUlI4kUjI82NEkyQz/pDD9VkhTefiFHNymIkUaZBulmR5QdcEcQn6bku
|
|
29
|
+
J/P3M/T7CtsCPdBUrzDI71eAYqXPjikg+8unKWk9c/p+V7wXtvsdgJf3+xht/YUQ
|
|
30
|
+
-----END RSA PRIVATE KEY-----
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIDCTCCAfGgAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwLTELMAkGA1UEBhMCQ1ox
|
|
3
|
+
DTALBgNVBAoTBFJ1YnkxDzANBgNVBAMTBlJ1YnlDQTAeFw0wMzA1MzEwMzUwNDFa
|
|
4
|
+
Fw0wNDA1MzAwMzUwNDFaMDAxCzAJBgNVBAYTAkNaMQ0wCwYDVQQKEwRSdWJ5MRIw
|
|
5
|
+
EAYDVQQDEwlsb2NhbGhvc3QwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALhs
|
|
6
|
+
fh4i1c+K57vFG7SUDfdxuSlbPUqaV0sbiuvWb0f7B2T7bHicaIRsDYW7PQRLLwwR
|
|
7
|
+
Pd+aKg3KuwhWN47faRam19Z3yWCD7Tg+BhXDqlXnz6snnr4APpAxc22kJKjzuil6
|
|
8
|
+
sp+QTkl/EFKI3+ocDur1UB+kSOmTzsDmepaWUZwTAgMBAAGjgbMwgbAwCQYDVR0T
|
|
9
|
+
BAIwADAtBglghkgBhvhCAQ0EIBYeR2VuZXJhdGVkIGJ5IE9wZW5TU0wgZm9yIFJ1
|
|
10
|
+
YnkuMB0GA1UdDgQWBBQlYESgTYdkTOYy02+/jGSqa+OpzjBVBgNVHSMETjBMgBQN
|
|
11
|
+
iKV64A56Sfaem3wZrTOo9CHo5qExpC8wLTELMAkGA1UEBhMCQ1oxDTALBgNVBAoT
|
|
12
|
+
BFJ1YnkxDzANBgNVBAMTBlJ1YnlDQYIBADANBgkqhkiG9w0BAQUFAAOCAQEAJh9v
|
|
13
|
+
ehhUv69oilVWGvGB6xCr8LgErnO9QdAyqJE2xBhbNaB3crjWDdQTz4UNvCQoJG/4
|
|
14
|
+
Oa9Vp10vM8E0ZMVHer87WM9tPEOg09r38U/1c7gSYBkPSGQfeWtZNjQ1YOm6RDx4
|
|
15
|
+
JJp9sp9v/CdBlVXaBQQd+MQFny7E+EkMHRfiv89KTfOs0wYdirLrM1C90CZUEj0i
|
|
16
|
+
cMcBdHzH5XcNpWB1ag4cNiUn2ljsaWlUpEg48gLe2FLJVPBio+iZnOm/C6KIwBMO
|
|
17
|
+
BCVxkZ6oIR87JT4xbr8SxRS9d/irhVU9MtGYwMe4MPSztefASdmEyj59ZFCLKQHV
|
|
18
|
+
+ltGb7/b7DetoT1spA==
|
|
19
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
Proc-Type: 4,ENCRYPTED
|
|
3
|
+
DEK-Info: DES-EDE3-CBC,5E9A9AC8F0F62A4A
|
|
4
|
+
|
|
5
|
+
3/VDlc8E13xKZr+MXt+HVZCiuWN1gsVx1bTZE5fN5FVoJ45Bgy2zAegnqZiP1NNy
|
|
6
|
+
j/76Vy9Ru/G9HPh5QPbIPl+md+tOyJV2M23a+5jESk1tLuWt5lRqmTtHN000844l
|
|
7
|
+
uCgZPPhRV7nhYPC5f6Gqw/xDl/EZsElqJM/hl2JbqiVKfT5/1i0STU8LNkoaLWrJ
|
|
8
|
+
kQhc7hOR5ihmDPeD8mA99bmGD+UyyqzzLTtKvRbBObyi9dy7cQ5Q+iptQWTUuEKI
|
|
9
|
+
+W7b8f8/Iiin4JJZGpFuhQSx0ARjT0fuYNXddmz1L3Gu3sjzN1GvT2T3GlpiF4/7
|
|
10
|
+
ERS8Q43zjoCP8nC2MTSvdNRRoPMBg2SDS2ZIq4GSiKsKjeN+GnPCycAMeZSr5yG6
|
|
11
|
+
VMBJLoAJ7XIcl3se8gF6hH1AfhCzDaK/2pKLP9jH/W4g6VvUBazKEQCNbZXSTpQ4
|
|
12
|
+
8EfvJBPpplFs3Zid6iwC/WjKhFBuBBfycwNJjXG9x1fMPkBM8HeiZXgrXoUXJMEP
|
|
13
|
+
RF05Beo0HPPEOPIxcG6EVmnpDvs8uC+xIQ6UE6DrLGK5TnR6kdz3BDpeAehujSss
|
|
14
|
+
wfZiOvuJQZQl+oovOH54pcwAwhicgRcNdIX47kHrXNL1vQMYTXte+ZzDGyoOXd0W
|
|
15
|
+
qf1CZbrjULT9nfJFWMMicTnLM/6iQx+3bTkXXvk0qP0qAoIPqtY4rwt6yHgq937A
|
|
16
|
+
LubDxudMWV0hqcnH8cBCPHfWdE4HELw4RcVXmQH43yHs1gwShyG9rTS+PCKoRr8u
|
|
17
|
+
bpssW6J0xJmilf1KprbNWJyof9i0CtSVOlUt6ttoinwqj8Me01dHqQ==
|
|
18
|
+
-----END RSA PRIVATE KEY-----
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
$:.unshift(File.join('..', '..', 'lib'))
|
|
4
|
+
require 'httpclient'
|
|
5
|
+
|
|
6
|
+
url = ARGV.shift || 'https://localhost:8808/'
|
|
7
|
+
uri = URI.parse(url)
|
|
8
|
+
|
|
9
|
+
#ca_file = "0cert.pem"
|
|
10
|
+
#crl_file = '0crl.pem'
|
|
11
|
+
|
|
12
|
+
# create CA's cert in pem format and run 'c_rehash' in trust_certs dir. before
|
|
13
|
+
# using this.
|
|
14
|
+
ca_path = File.join(File.dirname(File.expand_path(__FILE__)), "trust_certs")
|
|
15
|
+
|
|
16
|
+
proxy = ENV['HTTP_PROXY'] || ENV['http_proxy'] || nil
|
|
17
|
+
h = HTTPClient.new(proxy)
|
|
18
|
+
#h.ssl_config.add_trust_ca(ca_file)
|
|
19
|
+
#h.ssl_config.add_crl(crl_file)
|
|
20
|
+
h.ssl_config.add_trust_ca(ca_path)
|
|
21
|
+
|
|
22
|
+
print h.get_content(url)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
require 'webrick/https'
|
|
4
|
+
require 'getopts'
|
|
5
|
+
|
|
6
|
+
getopts nil, 'r:', 'p:8808'
|
|
7
|
+
|
|
8
|
+
dir = File::dirname(File::expand_path(__FILE__))
|
|
9
|
+
|
|
10
|
+
# Pass phrase of '1000key.pem' is '1000'.
|
|
11
|
+
data = open(File::join(dir, "1000key.pem")){|io| io.read }
|
|
12
|
+
pkey = OpenSSL::PKey::RSA.new(data)
|
|
13
|
+
data = open(File::join(dir, "1000cert.pem")){|io| io.read }
|
|
14
|
+
cert = OpenSSL::X509::Certificate.new(data)
|
|
15
|
+
|
|
16
|
+
s = WEBrick::HTTPServer.new(
|
|
17
|
+
:BindAddress => "localhost",
|
|
18
|
+
:Port => $OPT_p.to_i,
|
|
19
|
+
:Logger => nil,
|
|
20
|
+
:DocumentRoot => $OPT_r || File::join(dir, "/htdocs"),
|
|
21
|
+
:SSLEnable => true,
|
|
22
|
+
:SSLVerifyClient => ::OpenSSL::SSL::VERIFY_NONE,
|
|
23
|
+
:SSLCertificate => cert,
|
|
24
|
+
:SSLPrivateKey => pkey,
|
|
25
|
+
:SSLCertName => nil,
|
|
26
|
+
:SSLCACertificateFile => "all.pem"
|
|
27
|
+
)
|
|
28
|
+
trap("INT"){ s.shutdown }
|
|
29
|
+
s.start
|
data/sample/stream.rb
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
$:.unshift(File.join('..', 'lib'))
|
|
2
|
+
require "httpclient"
|
|
3
|
+
|
|
4
|
+
c = HTTPClient.new
|
|
5
|
+
|
|
6
|
+
piper, pipew = IO.pipe
|
|
7
|
+
conn = c.post_async("http://localhost:8080/stream", piper)
|
|
8
|
+
|
|
9
|
+
Thread.new do
|
|
10
|
+
res = conn.pop
|
|
11
|
+
while str = res.content.read(10)
|
|
12
|
+
p str
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
p "type here"
|
|
17
|
+
while line = STDIN.gets
|
|
18
|
+
pipew << line
|
|
19
|
+
end
|
|
20
|
+
pipew.close
|
|
21
|
+
sleep 5
|
data/sample/thread.rb
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
$:.unshift(File.join('..', 'lib'))
|
|
2
|
+
require 'httpclient'
|
|
3
|
+
|
|
4
|
+
urlstr = ARGV.shift
|
|
5
|
+
|
|
6
|
+
proxy = ENV['HTTP_PROXY'] || ENV['http_proxy']
|
|
7
|
+
h = HTTPClient.new(proxy)
|
|
8
|
+
|
|
9
|
+
count = 20
|
|
10
|
+
|
|
11
|
+
res = []
|
|
12
|
+
g = []
|
|
13
|
+
for i in 0..count
|
|
14
|
+
g << Thread.new {
|
|
15
|
+
res[i] = h.get(urlstr)
|
|
16
|
+
}
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
g.each do |th|
|
|
20
|
+
th.join
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
for i in 0..(count - 1)
|
|
24
|
+
raise unless (res[i].content == res[i + 1].content)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
puts 'ok'
|
data/sample/wcat.rb
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
# wcat for http-access2
|
|
4
|
+
# Copyright (C) 2001 TAKAHASHI Masayoshi
|
|
5
|
+
|
|
6
|
+
$:.unshift(File.join('..', 'lib'))
|
|
7
|
+
require 'httpclient'
|
|
8
|
+
|
|
9
|
+
if ENV['HTTP_PROXY']
|
|
10
|
+
h = HTTPClient.new(ENV['HTTP_PROXY'])
|
|
11
|
+
else
|
|
12
|
+
h = HTTPClient.new()
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
while urlstr = ARGV.shift
|
|
16
|
+
response = h.get(urlstr){ |data|
|
|
17
|
+
print data
|
|
18
|
+
}
|
|
19
|
+
p response.contenttype
|
|
20
|
+
p response.peer_cert if /^https/i =~ urlstr
|
|
21
|
+
end
|
data/test/ca-chain.pem
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIDVjCCAj6gAwIBAgIBATANBgkqhkiG9w0BAQsFADA8MQswCQYDVQQGEwJKUDES
|
|
3
|
+
MBAGA1UECgwJSklOLkdSLkpQMQwwCgYDVQQLDANSUlIxCzAJBgNVBAMMAkNBMB4X
|
|
4
|
+
DTI1MDIxMjA4NDIzMVoXDTM1MDIxMDA4NDIzMVowPDELMAkGA1UEBhMCSlAxEjAQ
|
|
5
|
+
BgNVBAoMCUpJTi5HUi5KUDEMMAoGA1UECwwDUlJSMQswCQYDVQQDDAJDQTCCASIw
|
|
6
|
+
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJqxQwHle/gAbPM1QabhCqWiAJDp
|
|
7
|
+
XFroixm6HXKe+azptngzrE69sUFO7533lrvUhkfbPHn3JhgPgm1COGqbPJ5V/it7
|
|
8
|
+
dRsJKuOUeQz3+iC0Jrbz3WP+5RuIuD2m+qyR2RVPf4nCkbxQn9QJX1DpG13NyDMA
|
|
9
|
+
Qp3em5I5GFhECul/VybmC1+6BnJYwe6EJBv7770AAaf9imWsQkW5oTxuKDsL3Iun
|
|
10
|
+
+xYgZF1V4Kw8xDiMZOqZYoizhzgQRM180j0emgcDp6owPt/44mEPZX6Y7BhWhBIc
|
|
11
|
+
cS+fJulXJzUYtSl6wZqEvMQzHfYXGO4Q1GtNeTrF8wOoevwmpwo+D42sbVUCAwEA
|
|
12
|
+
AaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
|
|
13
|
+
FGjIj2OhmYxPWPibGOIXv3Eq7RWZMB8GA1UdIwQYMBaAFGjIj2OhmYxPWPibGOIX
|
|
14
|
+
v3Eq7RWZMA0GCSqGSIb3DQEBCwUAA4IBAQBITdjp9RtGUKjQqcNLa+WxlhHUUgSv
|
|
15
|
+
Y2CHTkgG/9LBoe1yCAI0lEMAGOYFFuYc0hsnRSMrrzs7/YTTN4szj+lfUA5EyaSQ
|
|
16
|
+
KWBzfKBz4t35YOpRBc5v02FfYxtaMfbo5QcN3XjQkApqK8GFQuwEbm8g7eyJiWlI
|
|
17
|
+
frVg0JwVypg87MWgrPCr0/foRl2zO1d0KG/rssAOJNQy3lrrrGyaaFNRcmGrDxsG
|
|
18
|
+
59O14d8PCuS7GgaO8DqxirMzRj2PW+kdgNp2+2JTUV7m5Aw6u9yX2rGN+s4zk26P
|
|
19
|
+
dfdzSpXKHc1Mj7MyxCSFk51nIhtwx+VsYQeS53RWoDhm2uSvVT/9+xCU
|
|
20
|
+
-----END CERTIFICATE-----
|
|
21
|
+
-----BEGIN CERTIFICATE-----
|
|
22
|
+
MIIDODCCAiCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADA8MQswCQYDVQQGEwJKUDES
|
|
23
|
+
MBAGA1UECgwJSklOLkdSLkpQMQwwCgYDVQQLDANSUlIxCzAJBgNVBAMMAkNBMB4X
|
|
24
|
+
DTI1MDIxMjA4NDIzMVoXDTM0MDIxMDA4NDIzMVowPzELMAkGA1UEBhMCSlAxEjAQ
|
|
25
|
+
BgNVBAoMCUpJTi5HUi5KUDEMMAoGA1UECwwDUlJSMQ4wDAYDVQQDDAVTdWJDQTCC
|
|
26
|
+
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALmNNo+I5XkgbBTJbvKgJxq5
|
|
27
|
+
oiJMEInr64KiCJOsA5Z35oE25a8OIWeRqxKW+jufonF96V/swWNM11gaUcTjYT72
|
|
28
|
+
g66ux42vWNN8uFxhhqhYRyiMjfSVA3HUZFaqmU9WP7H3YQGINJZ83BPOYoinZXEP
|
|
29
|
+
TrQVa8wIKT9Xc5gOq7+SqUuqLvs4jIkgrB744Fo0soCh5WT3V3Op/5K8MA0+N3P4
|
|
30
|
+
VrFm/SP8k7deT3EtT/aOHgkaKLo3hQ8zkDegVFEKfmWyoA/MwTSciioX/ePm7jjb
|
|
31
|
+
z4ffl5/ifg3Hgmuk6m85ZaGULJHCkciEgP8scZUNHkRvDK6ZBluwrUpepv5ARUsC
|
|
32
|
+
AwEAAaNCMEAwHQYDVR0OBBYEFErc4GxPO8mVXXhTgje5yLxWLh0bMA4GA1UdDwEB
|
|
33
|
+
/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCAcHOU
|
|
34
|
+
nvhuV6Vuh4gNZjeLJWapJBVYZdkAOd4EhiWtYpq0wWSqlgE+VzIXV9gccYaulVmf
|
|
35
|
+
NJoLuenzML764U8kOBk8mOWg+U5AYOXwRgsU+e56jgWG6/ijLSf7YfaVkVZNPe36
|
|
36
|
+
59+0KLag6AkkeDOdXbkfageukg6LhTk4Zg1piRMP3JSYbXVzTlgdm8hLKgPOJitQ
|
|
37
|
+
FdjMytGYCU5oGHrRrwhlar0xlIvynzVL5wlkuJ19hKUw4UYjoNFy3ZJtbtdqSaF2
|
|
38
|
+
ZGX/8KNDYFoHAyvGZCYTr22T1ywWeMFQ+4beiYEv2lifVcYIoI0bEA8Pe9i3Egiv
|
|
39
|
+
9u18A/unCSVLPua1
|
|
40
|
+
-----END CERTIFICATE-----
|
data/test/ca.cert
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIDVjCCAj6gAwIBAgIBATANBgkqhkiG9w0BAQsFADA8MQswCQYDVQQGEwJKUDES
|
|
3
|
+
MBAGA1UECgwJSklOLkdSLkpQMQwwCgYDVQQLDANSUlIxCzAJBgNVBAMMAkNBMB4X
|
|
4
|
+
DTI1MDIxMjA4NDIzMVoXDTM1MDIxMDA4NDIzMVowPDELMAkGA1UEBhMCSlAxEjAQ
|
|
5
|
+
BgNVBAoMCUpJTi5HUi5KUDEMMAoGA1UECwwDUlJSMQswCQYDVQQDDAJDQTCCASIw
|
|
6
|
+
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJqxQwHle/gAbPM1QabhCqWiAJDp
|
|
7
|
+
XFroixm6HXKe+azptngzrE69sUFO7533lrvUhkfbPHn3JhgPgm1COGqbPJ5V/it7
|
|
8
|
+
dRsJKuOUeQz3+iC0Jrbz3WP+5RuIuD2m+qyR2RVPf4nCkbxQn9QJX1DpG13NyDMA
|
|
9
|
+
Qp3em5I5GFhECul/VybmC1+6BnJYwe6EJBv7770AAaf9imWsQkW5oTxuKDsL3Iun
|
|
10
|
+
+xYgZF1V4Kw8xDiMZOqZYoizhzgQRM180j0emgcDp6owPt/44mEPZX6Y7BhWhBIc
|
|
11
|
+
cS+fJulXJzUYtSl6wZqEvMQzHfYXGO4Q1GtNeTrF8wOoevwmpwo+D42sbVUCAwEA
|
|
12
|
+
AaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
|
|
13
|
+
FGjIj2OhmYxPWPibGOIXv3Eq7RWZMB8GA1UdIwQYMBaAFGjIj2OhmYxPWPibGOIX
|
|
14
|
+
v3Eq7RWZMA0GCSqGSIb3DQEBCwUAA4IBAQBITdjp9RtGUKjQqcNLa+WxlhHUUgSv
|
|
15
|
+
Y2CHTkgG/9LBoe1yCAI0lEMAGOYFFuYc0hsnRSMrrzs7/YTTN4szj+lfUA5EyaSQ
|
|
16
|
+
KWBzfKBz4t35YOpRBc5v02FfYxtaMfbo5QcN3XjQkApqK8GFQuwEbm8g7eyJiWlI
|
|
17
|
+
frVg0JwVypg87MWgrPCr0/foRl2zO1d0KG/rssAOJNQy3lrrrGyaaFNRcmGrDxsG
|
|
18
|
+
59O14d8PCuS7GgaO8DqxirMzRj2PW+kdgNp2+2JTUV7m5Aw6u9yX2rGN+s4zk26P
|
|
19
|
+
dfdzSpXKHc1Mj7MyxCSFk51nIhtwx+VsYQeS53RWoDhm2uSvVT/9+xCU
|
|
20
|
+
-----END CERTIFICATE-----
|
data/test/ca.key
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
MIIEpAIBAAKCAQEAmrFDAeV7+ABs8zVBpuEKpaIAkOlcWuiLGbodcp75rOm2eDOs
|
|
3
|
+
Tr2xQU7vnfeWu9SGR9s8efcmGA+CbUI4aps8nlX+K3t1Gwkq45R5DPf6ILQmtvPd
|
|
4
|
+
Y/7lG4i4Pab6rJHZFU9/icKRvFCf1AlfUOkbXc3IMwBCnd6bkjkYWEQK6X9XJuYL
|
|
5
|
+
X7oGcljB7oQkG/vvvQABp/2KZaxCRbmhPG4oOwvci6f7FiBkXVXgrDzEOIxk6pli
|
|
6
|
+
iLOHOBBEzXzSPR6aBwOnqjA+3/jiYQ9lfpjsGFaEEhxxL58m6VcnNRi1KXrBmoS8
|
|
7
|
+
xDMd9hcY7hDUa015OsXzA6h6/CanCj4PjaxtVQIDAQABAoIBACJEnmlvItU/kuMV
|
|
8
|
+
qyOCus8SYjm32GOzHA1o81kO6pRpeaiLGeKflwK2r9I4pMWbQNvuLyl9nIy78tKt
|
|
9
|
+
Vr4XAYi52AJd6QVCNKQRofdDf7966RCiWSrrrmk5EkdmFCXicUqNP92OoqYq3h0k
|
|
10
|
+
rl7IJO3UxkK2DgvW4nOz/jafbCNpX+A3P7u1xeN1iKNn4nWL49im2254mFW/j9c1
|
|
11
|
+
D2g0pSb1wYAwCvGr3UZy49X9DSOylGuxtItP90mBP2TkD+khyXHNzmAWzsS2TWOK
|
|
12
|
+
UCXMHvQQcPrVLmu2sziWe63cMi6gIVhziQRpmZm3GW+rUml3j4LfiWUQNqAkJrhU
|
|
13
|
+
g3pRe0kCgYEA0omMasSzzyZSNBD4mfVfZc+0lEPkgYA/Cxd5+cFtgBi+SouZ+Cb2
|
|
14
|
+
+kwg0v4B8gIPee5Xrgyngtnb9NVKKrOUGVVWXgaZZbIUdD7Z/KfvecBxeEr52XDa
|
|
15
|
+
oMJy4Cyh/6ujv6SJc5E12xnfsa5aURdvaA/gqAJVUgd/Vzu866soo8sCgYEAvBif
|
|
16
|
+
R5xxkxL5d/LELh14petFpGIoXIrdKKwrb4Z/oLMgdMztH4FT0sSj/z22ulwEO8+/
|
|
17
|
+
fyTA0XPQNcOW+UOc3c4UZ2fluXur5Wht+4ulKomPipv3TG9u82uYoEBdCL3O04ox
|
|
18
|
+
AZvlfcR4PPxpNQ6jwRHNe7ulH/3hNEpNuZOkT18CgYALM7Rb7fFfQTu4d3qyvmKA
|
|
19
|
+
CUgjZ2VeGpPAJFSiHE+WNDrTvo/Hq1MSyEAq2ccCuGdYZn0VzqiPBsZ0RXD3yqxD
|
|
20
|
+
mM3KnPFGfu4lrT5t+gV85edjriGTFzUavp3cHaPU9a31wWxq0Lwb10mWq580l1mf
|
|
21
|
+
INEkP1OI1MtKuev4Yhf8dwKBgQCD0pW+cEvAkWm4wLDwyMLHNW3nWMuEn+WDHbaL
|
|
22
|
+
QK2tiBxU/1Gn5NFEQ3/T4AJx9Q8ag+xnRPDFWe8v3tWt9862PDlchxoetiewbVG3
|
|
23
|
+
GxU0DJhGwiu8q9QMUPn0RWduOuf6pTzXLdTWIZ1K0HNDNfFZ3Aowjz+YfisYpIJ4
|
|
24
|
+
bpqW7QKBgQDR/IOaV72HxHEvQA9oEbFAPOre8kHCXelDsH7/f1JCcWGNAjCWOdEI
|
|
25
|
+
uRjO612cTv5m3EvV6qSFmvyqC4zFzX/dZ0H/MLu7WV/9Ed4hzJPFxDh4oQfz7OCp
|
|
26
|
+
6dYL+ZdpGSTlzf9iC6zL9cExIZTX7alurMvzwUeguVdhILRHtjrKtw==
|
|
27
|
+
-----END RSA PRIVATE KEY-----
|
data/test/ca.srl
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
085BCCD3DDF899479489DF0B996A04A0A1F8C9C9
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
-----BEGIN ENCRYPTED PRIVATE KEY-----
|
|
2
|
+
MIIFNTBfBgkqhkiG9w0BBQ0wUjAxBgkqhkiG9w0BBQwwJAQQ4pmlJbtbsPI870so
|
|
3
|
+
ck7xuAICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEASoEEM3nTAG4IrPKlPmI
|
|
4
|
+
gl/AXmEEggTQayHhmaOAPfS7siJ6FuC9LXfrAIgjyeVRWebyVhNQ+74G9g8o41gb
|
|
5
|
+
BNu8rncNhkLFEEM5pFOVtoDKF/TsiVx9YjpuzC9n4r0+c2NceCzI5FDzEMUo6BRt
|
|
6
|
+
554k+FVVG9zoJbHLy4Pq3j8ceMOk1nKDAKtrpGqInYR9LZhSYAAUGQhDRygdBS8a
|
|
7
|
+
C45f1FBZTsfLXsvqcLNgY++slHnvZpeiWOMwnYtN7vbfFO8G8h54uTNc166ls0B6
|
|
8
|
+
mnB1A6Tl3nI9U0cbx8gT8Yx9PrVc9YA9sxxc1ggmRhiY1s6z7gs9w1TFq1ioDyrL
|
|
9
|
+
oeQ+T5gBTluR+nUZ5MHQpYWRbIKRvPP2WdaRwwuapdWNTZ0fUBfDSxtSAFVi+mvU
|
|
10
|
+
V6FxN/zNEPCui3+u0mxiOOVF+xOQW2w6VxrvpqEpZZ8bMTeMbeyFU9656HII/Lmh
|
|
11
|
+
tgLs6kJzh5vRkFQvGNEXGO3mBkOhJNvLbsZWe5RF/2KvborZDqwOJ+ZHM87jleh0
|
|
12
|
+
rFIjApaIMPUstK+cLkSALDuYAlfPalvrdKLPmfEHIJst2K9BqVWMb70oQw/3+RmM
|
|
13
|
+
Oe7U/vMvHKeGkhB9mB1GXPVAnFlhc99yXurHZpG2uvRkPf0wLHBB89KRcYYujSMk
|
|
14
|
+
iHV2ncvqlvW+Bh67S8+vs1jTfZcOORBGAhiPs17FGLNQVWY4SzDuCJ+Q/mUHJdxr
|
|
15
|
+
J01Bh78H9w+lmOZ1uEsEmJIVX/B/VTpgisRemNn3CCt5OekuO865f6oHY+5tj6R/
|
|
16
|
+
JiWfxPF9/wqaWms//ze8xrVnybmcZjyZ+vF8eUIa4I9CcTv+b4l/cX1VD1wni2ip
|
|
17
|
+
08jt7D/unLCqFIkD5vstYyN8zH/oYOpq36xvob7CKYhWree/FP1QvlrczNMtiGlN
|
|
18
|
+
+HmUsy4OAnfgx1W03yhUq7fEk9BfdVMLoBtUJOXBWBm3EKKZPvlD0sbmXruzyGaX
|
|
19
|
+
3pvFhPJOZ4Xb4D0LAdkFDbZ753lQboP3J1vQVVjGwjkm+fndp2xauJTNuRL603g7
|
|
20
|
+
CnHWOx3OuEUfQrDzsIZGgVNdlr5thCsIuqUgq/DUVrDkWZ3VeRrcSHj6C1ES45Yn
|
|
21
|
+
Fqbc0AHveIugFsF8F3Ffzjk0BfkKP9MXSZi9ZCurUTHFj33xDDsAH6HpTkkkf56T
|
|
22
|
+
IEQvHoAlQrMRieKMrhtkJ9CCyITLQScaGAUW022p0P0NuZILH/gS9j1JINIoa4x4
|
|
23
|
+
fiG0i950ffP99TihAGUd73oZb/UcJsfqSGUi9keUpViT406LbUie9tC8JQaBfslV
|
|
24
|
+
EiAJ8/png/pf1ocqUuBReVM0cDqi60B0RyTYx3MNkeGMvYY1lmGAh2WSCh1EF+2k
|
|
25
|
+
jOPQteKfg/2ncRQ35a2AOsOCZYt3r3j8Kix0jDHvHdvglFfXn8gN/oZawO5c1FUU
|
|
26
|
+
IT4Np6IOMsP/zP8y3KJ6masAdm65pHhJo7bERP1FnxSv2r1moUTmU1CSP+72nm26
|
|
27
|
+
tUI2ryqcLPUFAJG8z0QqTaIrtMVuHofWm1z1BIIwaU83zZeBPCHKC6xEUhbB6XCB
|
|
28
|
+
M6ZxkHL3/5V/7UieK9FRayd/6Imp4R06eNtGLEh76cF5g9GP0UUIt/Bxo/x/n2x9
|
|
29
|
+
dvkwZJ1PjdLnc3D52PvMBNW5IfpQGmUPRr1PT/Wz8+9NR95aDqbKj04=
|
|
30
|
+
-----END ENCRYPTED PRIVATE KEY-----
|
data/test/client.cert
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIDQDCCAiigAwIBAgIBAjANBgkqhkiG9w0BAQsFADA8MQswCQYDVQQGEwJKUDES
|
|
3
|
+
MBAGA1UECgwJSklOLkdSLkpQMQwwCgYDVQQLDANSUlIxCzAJBgNVBAMMAkNBMB4X
|
|
4
|
+
DTI1MDIxMjA4NDIzMVoXDTM0MDIxMDA4NDIzMVowQzELMAkGA1UEBhMCSlAxEjAQ
|
|
5
|
+
BgNVBAoMCUpJTi5HUi5KUDEMMAoGA1UECwwDUlJSMRIwEAYDVQQDDAlsb2NhbGhv
|
|
6
|
+
c3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEFJDGjOy5HGywyT5Z
|
|
7
|
+
Pp0G0RQOVWqo/tibh8oDnlFeYA0/ZhITndLZBA5iOwjzVhLYOMiE5HJmiC/qPTmZ
|
|
8
|
+
0wAmAejD6uNqjJeFW5bkTNnNAYxu9lHSJcT2X4LhTO4gvL2+B0PZ39a3JIsODSJa
|
|
9
|
+
TDdFo0hMI/sTtKHcyzJehEBFWswM3X2yzi0sTj0uTEtrGc4U8LsvgQdwoZ1KvtiL
|
|
10
|
+
Z9N8z/geuEzOaZnNbS+rdbuIQGeSZEMmIfT1SkLLOnPTEioLMwT+ECwCjRmOsU4B
|
|
11
|
+
3J0dZmPMQDfGEX3FL5H2go39qtB0KJZCcP7WBLeJMnR2p3VAgMpj0tzaABlRTCgw
|
|
12
|
+
VwmbAgMBAAGjRjBEMB0GA1UdDgQWBBQltYvx3ODdhLGh6NSHUFlABrhNfjAOBgNV
|
|
13
|
+
HQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQAD
|
|
14
|
+
ggEBAHKO1hkNOirG1y0C9tg/nnMEmMUmQCX86JAW+kL++p6PjyLnANMsy0xd15rN
|
|
15
|
+
N4gm5/FeOfEZy5OA68Srs2KV3jLRqTyjzC4Q9NJR+d3rpgmC50hnvYNfpz/KcW1r
|
|
16
|
+
zpsC8oGHoSZzVyohjAX7de6p7LtNdjSJFQSKS4sb6W28+naSo/ko1wOGhT8USSQd
|
|
17
|
+
WxDFcCakJW+ro1K0Owiyv1oWhCrDrx74Vr2uVOSx+ThQr66CzsSPcMDGXumFsAA6
|
|
18
|
+
y+xzIjPoayPvvGsXs7q0Yp/1ydUCY7usx8tuFSpI7iFZa4OB53hvTKKJMhWDuUUu
|
|
19
|
+
vyYAB8cvu3+4p1t1noP7QnbAxu4=
|
|
20
|
+
-----END CERTIFICATE-----
|
data/test/client.key
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
MIIEowIBAAKCAQEAxBSQxozsuRxssMk+WT6dBtEUDlVqqP7Ym4fKA55RXmANP2YS
|
|
3
|
+
E53S2QQOYjsI81YS2DjIhORyZogv6j05mdMAJgHow+rjaoyXhVuW5EzZzQGMbvZR
|
|
4
|
+
0iXE9l+C4UzuILy9vgdD2d/WtySLDg0iWkw3RaNITCP7E7Sh3MsyXoRARVrMDN19
|
|
5
|
+
ss4tLE49LkxLaxnOFPC7L4EHcKGdSr7Yi2fTfM/4HrhMzmmZzW0vq3W7iEBnkmRD
|
|
6
|
+
JiH09UpCyzpz0xIqCzME/hAsAo0ZjrFOAdydHWZjzEA3xhF9xS+R9oKN/arQdCiW
|
|
7
|
+
QnD+1gS3iTJ0dqd1QIDKY9Lc2gAZUUwoMFcJmwIDAQABAoIBAAFI9zft5YFDD+1K
|
|
8
|
+
rFduYx4P0bdUVPodjXLbfXXvnC3nqD6Rny20u5SDg8qeA22A02fKW3oPezZzzwiU
|
|
9
|
+
dSOub9JP8eQSzoG8wSN1GbSOUmEXEQILKDcd20AYGSX72JWrVvz/VDEB2AjkOusR
|
|
10
|
+
J/f6huQ0cT1agQM8jFEDneVjrX4m2r1Phf3W1R+klZ+17vnxE6MaF5TVp6/yaNRT
|
|
11
|
+
+2KUZ8ShwOgWYMa1Bo2+q5f1DFr1j7zSKHwBYuylB03/metZc4zov7pFNbFdeCkP
|
|
12
|
+
njxrzxQ3H6+3+vzVjvpG+lDUNi0T/m1YBxSoNf5YpZyvRMtFEbfbp/Lllm5bescN
|
|
13
|
+
j38uArkCgYEA7iHnfrWFaaRrS7E7BPsQJVZ2QZjQxVi5Sb4Ugvdi95wwKeJGE7Al
|
|
14
|
+
168Rq/YsH++2YNT1FNoqEZX25hqeiuz1Cs8ZHUSQjr1U0a9l/KFFY2IMfSWLlww/
|
|
15
|
+
cDDpFxFjczMDYDy9RwnmmUBSH2UtfnQ1OvP0cCYXN4O/0tQlzQUzzyMCgYEA0srq
|
|
16
|
+
fbruMAZr37q5P1wJ6QKWrXzq9IwT+ILxbyvWKQruKYZ711EL33Yj4YI9zHeCKRUd
|
|
17
|
+
V1N+7voGzQcXVuXkjscZOkPRS0Ufh6FwGG6SKLrurAjz+7uUxdqig1rSzuvuXT1o
|
|
18
|
+
E4GuEc6JMbjNirL0xJ/FY78NZ/o3QRrmQIBd/ykCgYEA6gBHCyw0vWrkRK0T4gEU
|
|
19
|
+
DJy5+BvCiyp0aRJv9YJDri285muDkTU2+or+QozVL0zPWrfpXWREkqNayyK9SKcw
|
|
20
|
+
5D4935TQuHM0Nhi1j1qqZM6klxWd5gATFpv5cMGViE5Isvj8xiHkiBO8nz09R1XK
|
|
21
|
+
OPQg71N+3P6KMRJnUuAZ2SECgYBq4XSQl83aEAd2g6kWVUa5HRTllqdTpAskQNDG
|
|
22
|
+
e8W1PdOQvp3giTmp7q820uEe4aHfztL3ymBcL+5u2x+ccii3tIA4KNbggYYBMXwz
|
|
23
|
+
By2Y9V+7XzbG90/yGm+4hr7JKJvOLyqsaV6nrL+ntHqTzzWI1TIy51aW2CpYGpmR
|
|
24
|
+
LwV6MQKBgCQVfuU641+f8V0FMYYVvkahBOv8Lp8KVAlUCkrsx4rwZZXfROo6dl4h
|
|
25
|
+
4UtA5IzhZwJuwNxwgz6AdE56kj9qJIsKxxoJ9OEOgTTySvBtSSscaxQWWmRT44uq
|
|
26
|
+
2AhB59nD/MKZBZw3AoTJtdqey/aHe4RZ0/6k4jVmXknpvMC1TzFF
|
|
27
|
+
-----END RSA PRIVATE KEY-----
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIDOzCCAiOgAwIBAgIBAjANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQGEwJKUDES
|
|
3
|
+
MBAGA1UECgwJSklOLkdSLkpQMQwwCgYDVQQLDANSUlIxDDAKBgNVBAMMA2FsdDAe
|
|
4
|
+
Fw0yNTAyMTIwODQyMzFaFw0zNDAyMTAwODQyMzFaMD0xCzAJBgNVBAYTAkpQMRIw
|
|
5
|
+
EAYDVQQKDAlKSU4uR1IuSlAxDDAKBgNVBAsMA1JSUjEMMAoGA1UEAwwDYWx0MIIB
|
|
6
|
+
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+KwMPGm5ZHV2fEUVpTMQB87E
|
|
7
|
+
YtSiNsS4f73R8zVrE6WGHrWNFfVUb51GRvBSscc8u1oT4yUPCBb4M8iVMeNmxtEW
|
|
8
|
+
7CDXvwL/okX156KaX1KGX5r9IR3It84Xn7d+b6lhzIwpRqYVspl6QJ9wPujh+8zP
|
|
9
|
+
ZmZynAqLzYBBFB6/TY2iISZW39s/ECxMvffcAd8d8XLqACt5qhx9KAmKPrAkgcID
|
|
10
|
+
8xigaua18tc5pYvI7BoLP3oD4bQy9EGFQ69lW7MOehWuNzxh23SOBjcl8IOm+pUK
|
|
11
|
+
ynyYmkvEsfdZ4MkWTUkE1Amemryz4brMaHBcM75IQVpjl3k99iMwywwIFZxnUwID
|
|
12
|
+
AQABo0YwRDAdBgNVHQ4EFgQU800KdFhu+/IYKvdJGrLGYT0m2gowDgYDVR0PAQH/
|
|
13
|
+
BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBCwUAA4IBAQCz
|
|
14
|
+
0/30ND+yKIaO7hCzOBFw9jiNHYc5RZZLExJc2VoqdRm6N6UmalutjN/NoAA5LaIC
|
|
15
|
+
UZlq7qrIgiz4FZzcjMdrx3BEZyCF9lnAQ8hrfZfoKsDeYJnqb0sJyXkJnthjhLqQ
|
|
16
|
+
XGcKJ5W8ZfrXQuLCJwbEJcCAMctPQda4y7vehEGkliuDQnuL8itwapIlSAWbY9cq
|
|
17
|
+
j1TBWCUX6FoLtJKcxJVVoMblCswfddMACeFhdwNenkFNV96MApZtvTHgMIPS6PxT
|
|
18
|
+
JdxRxiFXPrm+Qq1bZDCP7RArhAV3LG3/mEBwP1+S5XJHuSAHEpBKkdyadVQg8hG8
|
|
19
|
+
7X6J4IwDlHEGONz2F863
|
|
20
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIDOzCCAiOgAwIBAgIBAjANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQGEwJKUDES
|
|
3
|
+
MBAGA1UECgwJSklOLkdSLkpQMQwwCgYDVQQLDANSUlIxDDAKBgNVBAMMA2ZvbzAe
|
|
4
|
+
Fw0yNTAyMTIwODQyMzFaFw0zNDAyMTAwODQyMzFaMD0xCzAJBgNVBAYTAkpQMRIw
|
|
5
|
+
EAYDVQQKDAlKSU4uR1IuSlAxDDAKBgNVBAsMA1JSUjEMMAoGA1UEAwwDZm9vMIIB
|
|
6
|
+
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+KwMPGm5ZHV2fEUVpTMQB87E
|
|
7
|
+
YtSiNsS4f73R8zVrE6WGHrWNFfVUb51GRvBSscc8u1oT4yUPCBb4M8iVMeNmxtEW
|
|
8
|
+
7CDXvwL/okX156KaX1KGX5r9IR3It84Xn7d+b6lhzIwpRqYVspl6QJ9wPujh+8zP
|
|
9
|
+
ZmZynAqLzYBBFB6/TY2iISZW39s/ECxMvffcAd8d8XLqACt5qhx9KAmKPrAkgcID
|
|
10
|
+
8xigaua18tc5pYvI7BoLP3oD4bQy9EGFQ69lW7MOehWuNzxh23SOBjcl8IOm+pUK
|
|
11
|
+
ynyYmkvEsfdZ4MkWTUkE1Amemryz4brMaHBcM75IQVpjl3k99iMwywwIFZxnUwID
|
|
12
|
+
AQABo0YwRDAdBgNVHQ4EFgQU800KdFhu+/IYKvdJGrLGYT0m2gowDgYDVR0PAQH/
|
|
13
|
+
BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBCwUAA4IBAQB8
|
|
14
|
+
5ajqPOVWoOuXfjAlXR7FWPrXRjromnZlqG5mzHjBuamPvgPbcF8pBNs457i1YQyg
|
|
15
|
+
/55UpRkWj4whq5eZNFamCb4vhPh7+mSVARvbEm4TREA/oGPE28NUH00W6Shim7GN
|
|
16
|
+
Jx71ZQtC3DUxAhyd/JALSFnbfzbMpgsCZh+HdbptZqnWss76K98rIh6RIKXfIYjg
|
|
17
|
+
6APuNC6R9vcvQ6NbocwxxcphZuHJJBC5kpHCl8lmseifeBU8/SZs98kpYIiVcVJQ
|
|
18
|
+
Db5yS5US8dnuZAT6Y8I0bS6/6i6u/rMRtVhE64Geo5wCyiOadC5CwUqVE6Ew/cjc
|
|
19
|
+
pfZkpsPSMys3OMOOX32A
|
|
20
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
+
MIIEogIBAAKCAQEA+KwMPGm5ZHV2fEUVpTMQB87EYtSiNsS4f73R8zVrE6WGHrWN
|
|
3
|
+
FfVUb51GRvBSscc8u1oT4yUPCBb4M8iVMeNmxtEW7CDXvwL/okX156KaX1KGX5r9
|
|
4
|
+
IR3It84Xn7d+b6lhzIwpRqYVspl6QJ9wPujh+8zPZmZynAqLzYBBFB6/TY2iISZW
|
|
5
|
+
39s/ECxMvffcAd8d8XLqACt5qhx9KAmKPrAkgcID8xigaua18tc5pYvI7BoLP3oD
|
|
6
|
+
4bQy9EGFQ69lW7MOehWuNzxh23SOBjcl8IOm+pUKynyYmkvEsfdZ4MkWTUkE1Ame
|
|
7
|
+
mryz4brMaHBcM75IQVpjl3k99iMwywwIFZxnUwIDAQABAoIBABU4VUj4eqYMcgJz
|
|
8
|
+
wL+apmUMK20FmRwUWGwqLhbTeaIxD0tikboMd9qYcK1QB7Z8+n1AWA8bk/dMQnzk
|
|
9
|
+
wnqB3bzcjdizisWVg2v9DVlpYkP9HlNdPfmL+ZtZvmFWPrdXnG1gjoslVBesCicm
|
|
10
|
+
k+UCaXpbxV0HJAOV0M1GAwetAgUjhGD+NGBzenYBODoHwKBud07n1Dmm8Wbn9Jgt
|
|
11
|
+
+IdX6W+ckieza15EUl26wg/WeFG/8UQHgwSIhlbF6NTF3dV45cOvz+a+hy9upUd9
|
|
12
|
+
BWvd3YpZ3WJIpkW7nTYX33Ug6/gR/X8Z3lZHxsAIkXfI89rBOGR5hqRLvxrANoA7
|
|
13
|
+
u/8W8s0CgYEA/TP5SxouAWPVqBHutfgD58wSPOGCmZKv/0c3FfjWBlUmfm4pc2bM
|
|
14
|
+
DZBHw6i5BUMsjDe4Rm77oc3689BHtQAulX6JYDhpoRKG+SVH3DVYeo7PlbIMvazX
|
|
15
|
+
Jorxj01d+M3coPE0f0gskomF9GamOElVcK/LW0uUb9Lub/3m637jSRcCgYEA+2tC
|
|
16
|
+
0XhG3inHN7zQPgoUt7JiEQDCsLh94uvxTCLb+1xfv9MvKr3aUGbnRJ0+DhqTl5zz
|
|
17
|
+
G1rNIEayQB9CrKg0MbqigHXdrHw3RUTNpadVri9UOIExXnI7m1nC0b1auRy7q6KX
|
|
18
|
+
t5xwiy+56dIGw4C11HJpg5QKjUAwvHpfNpjsQSUCgYAi5S7OMuV0O5YOe6oyWePv
|
|
19
|
+
5if9S/b7w0OOIvpshMa6SLHtarE7vkcQ93lsdaxKFV/mUyeKTXFQc1rKj0HSqBvD
|
|
20
|
+
bpTwNdYY5LzFSWYF6zQub9AcCVXILjHYlf2Eil0RFQ37AEMD56Z864cSj7MIvtKP
|
|
21
|
+
nSqhgmEKqD9EH/HbMrmQMQKBgHJAng6+z8WpyqRjo2ZuAlgwMixz4gWY8WwruG3W
|
|
22
|
+
8Yzav5BWkfqkaA9dk/80TbzvCt89LaTisJDYT6ygCBaaIY3vuGUUKvZ1RFCwIZwD
|
|
23
|
+
3QXY8Db1TtASrU+9jLDvkcjJa+dlbfi8mNBHkf7VuMkjNn4iuBxZLCpgX0Vnftk6
|
|
24
|
+
yTIZAoGAOH3iesJ7AxDj0Slr6sGNuLYroS2+5/+yPnEGbsMj43mP37wAZwuXhmTn
|
|
25
|
+
XLJTzP16JDmSEZ/gJXPX9b44JOf11SfpsF/mmPat96BgdbA/tpVt/Zn3Ckq0A7FQ
|
|
26
|
+
t7RvCoNT9weAg4eilGAXbAeLdJOJPusM59nOzjuyEgoaa3Sbdcw=
|
|
27
|
+
-----END RSA PRIVATE KEY-----
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIDRzCCAi+gAwIBAgIBAjANBgkqhkiG9w0BAQsFADBDMQswCQYDVQQGEwJKUDES
|
|
3
|
+
MBAGA1UECgwJSklOLkdSLkpQMQwwCgYDVQQLDANSUlIxEjAQBgNVBAMMCWxvY2Fs
|
|
4
|
+
aG9zdDAeFw0yNTAyMTIwODQyMzFaFw0zNDAyMTAwODQyMzFaMEMxCzAJBgNVBAYT
|
|
5
|
+
AkpQMRIwEAYDVQQKDAlKSU4uR1IuSlAxDDAKBgNVBAsMA1JSUjESMBAGA1UEAwwJ
|
|
6
|
+
bG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+KwMPGm5
|
|
7
|
+
ZHV2fEUVpTMQB87EYtSiNsS4f73R8zVrE6WGHrWNFfVUb51GRvBSscc8u1oT4yUP
|
|
8
|
+
CBb4M8iVMeNmxtEW7CDXvwL/okX156KaX1KGX5r9IR3It84Xn7d+b6lhzIwpRqYV
|
|
9
|
+
spl6QJ9wPujh+8zPZmZynAqLzYBBFB6/TY2iISZW39s/ECxMvffcAd8d8XLqACt5
|
|
10
|
+
qhx9KAmKPrAkgcID8xigaua18tc5pYvI7BoLP3oD4bQy9EGFQ69lW7MOehWuNzxh
|
|
11
|
+
23SOBjcl8IOm+pUKynyYmkvEsfdZ4MkWTUkE1Amemryz4brMaHBcM75IQVpjl3k9
|
|
12
|
+
9iMwywwIFZxnUwIDAQABo0YwRDAdBgNVHQ4EFgQU800KdFhu+/IYKvdJGrLGYT0m
|
|
13
|
+
2gowDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3
|
|
14
|
+
DQEBCwUAA4IBAQAHkvTJ1LkYCRP0h++KygDoFrHlRBtcLbeLHRDj0mNYiofMOq57
|
|
15
|
+
IEKI8BQYuA3d/7KsJGLu87KB1NPmQVc4NAertJrOSF/KK4ByvVGbDDKFITQk5Hkz
|
|
16
|
+
wEqeCPYzTqZdGhn9BPd1Yz1WUaGhyXz62VwGcckd6mcT1iU7AAHRr+qEDDvlnJ9L
|
|
17
|
+
MOpI1GW15bxP7kFJ7J4HdYIxXycJPkisLMWsP+ORtUxQ1dtWd/p/yu9/J4+YY4mB
|
|
18
|
+
DQxGlVWf596LPQrXGxenaMjEJjSxOUFaZpq6btQvYDhmB2RvksNECaGNJihEKMed
|
|
19
|
+
Du2jPZjIsDeIJTkEEMObaZ+WB6ZVrsjeV08p
|
|
20
|
+
-----END CERTIFICATE-----
|