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.
Files changed (78) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +85 -0
  3. data/bin/httpclient +77 -0
  4. data/bin/jsonclient +85 -0
  5. data/lib/hexdump.rb +50 -0
  6. data/lib/http-access2/cookie.rb +1 -0
  7. data/lib/http-access2/http.rb +1 -0
  8. data/lib/http-access2.rb +55 -0
  9. data/lib/httpclient/auth.rb +924 -0
  10. data/lib/httpclient/cacert.pem +3252 -0
  11. data/lib/httpclient/cacert1024.pem +3866 -0
  12. data/lib/httpclient/connection.rb +88 -0
  13. data/lib/httpclient/cookie.rb +220 -0
  14. data/lib/httpclient/http.rb +1082 -0
  15. data/lib/httpclient/include_client.rb +85 -0
  16. data/lib/httpclient/jruby_ssl_socket.rb +594 -0
  17. data/lib/httpclient/session.rb +960 -0
  18. data/lib/httpclient/ssl_config.rb +452 -0
  19. data/lib/httpclient/ssl_socket.rb +150 -0
  20. data/lib/httpclient/timeout.rb +140 -0
  21. data/lib/httpclient/util.rb +222 -0
  22. data/lib/httpclient/version.rb +3 -0
  23. data/lib/httpclient/webagent-cookie.rb +459 -0
  24. data/lib/httpclient.rb +1331 -0
  25. data/lib/jsonclient.rb +66 -0
  26. data/lib/oauthclient.rb +111 -0
  27. data/sample/async.rb +8 -0
  28. data/sample/auth.rb +11 -0
  29. data/sample/cookie.rb +18 -0
  30. data/sample/dav.rb +103 -0
  31. data/sample/generate_test_keys.rb +99 -0
  32. data/sample/howto.rb +49 -0
  33. data/sample/jsonclient.rb +67 -0
  34. data/sample/oauth_buzz.rb +57 -0
  35. data/sample/oauth_friendfeed.rb +59 -0
  36. data/sample/oauth_twitter.rb +61 -0
  37. data/sample/ssl/0cert.pem +22 -0
  38. data/sample/ssl/0key.pem +30 -0
  39. data/sample/ssl/1000cert.pem +19 -0
  40. data/sample/ssl/1000key.pem +18 -0
  41. data/sample/ssl/htdocs/index.html +10 -0
  42. data/sample/ssl/ssl_client.rb +22 -0
  43. data/sample/ssl/webrick_httpsd.rb +29 -0
  44. data/sample/stream.rb +21 -0
  45. data/sample/thread.rb +27 -0
  46. data/sample/wcat.rb +21 -0
  47. data/test/ca-chain.pem +40 -0
  48. data/test/ca.cert +20 -0
  49. data/test/ca.key +27 -0
  50. data/test/ca.srl +1 -0
  51. data/test/client-pass.key +30 -0
  52. data/test/client.cert +20 -0
  53. data/test/client.key +27 -0
  54. data/test/fixtures/verify.alt.cert +20 -0
  55. data/test/fixtures/verify.foo.cert +20 -0
  56. data/test/fixtures/verify.key +27 -0
  57. data/test/fixtures/verify.localhost.cert +20 -0
  58. data/test/helper.rb +129 -0
  59. data/test/htdigest +1 -0
  60. data/test/htpasswd +2 -0
  61. data/test/jruby_ssl_socket/test_pemutils.rb +32 -0
  62. data/test/runner.rb +2 -0
  63. data/test/server.cert +20 -0
  64. data/test/server.key +27 -0
  65. data/test/sslsvr.rb +65 -0
  66. data/test/subca.cert +20 -0
  67. data/test/subca.key +27 -0
  68. data/test/subca.srl +1 -0
  69. data/test/test_auth.rb +496 -0
  70. data/test/test_cookie.rb +309 -0
  71. data/test/test_hexdump.rb +13 -0
  72. data/test/test_http-access2.rb +516 -0
  73. data/test/test_httpclient.rb +2144 -0
  74. data/test/test_include_client.rb +52 -0
  75. data/test/test_jsonclient.rb +98 -0
  76. data/test/test_ssl.rb +522 -0
  77. data/test/test_webagent-cookie.rb +465 -0
  78. 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-----
@@ -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,10 @@
1
+ <html>
2
+ <head>
3
+ <title>SSL test</title>
4
+ </head>
5
+ <body>
6
+ <p>
7
+ Verification succeeded?
8
+ </p>
9
+ </body>
10
+ </html>
@@ -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-----