diff -Nru ruby-acme-client-2.0.5/acme-client.gemspec ruby-acme-client-2.0.6/acme-client.gemspec --- ruby-acme-client-2.0.5/acme-client.gemspec 2020-02-24 19:06:19.000000000 +0000 +++ ruby-acme-client-2.0.6/acme-client.gemspec 2020-03-05 16:25:39.000000000 +0000 @@ -16,11 +16,15 @@ spec.required_ruby_version = '>= 2.1.0' - spec.add_development_dependency 'bundler', '~> 1.6', '>= 1.6.9' - spec.add_development_dependency 'rake', '~> 10.0' - spec.add_development_dependency 'rspec', '~> 3.3', '>= 3.3.0' - spec.add_development_dependency 'vcr', '~> 2.9', '>= 2.9.3' - spec.add_development_dependency 'webmock', '~> 3.3' + spec.add_development_dependency 'bundler', '>= 1.17.3' + if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.2') + spec.add_development_dependency 'rake', '>= 12.0' + else + spec.add_development_dependency 'rake', '~> 13.0' + end + spec.add_development_dependency 'rspec', '~> 3.9' + spec.add_development_dependency 'vcr', '~> 2.9' + spec.add_development_dependency 'webmock', '~> 3.8' - spec.add_runtime_dependency 'faraday', '~> 0.9', '>= 0.9.1' + spec.add_runtime_dependency 'faraday', '>= 0.17', '< 2.0.0' end diff -Nru ruby-acme-client-2.0.5/CHANGELOG.md ruby-acme-client-2.0.6/CHANGELOG.md --- ruby-acme-client-2.0.5/CHANGELOG.md 2020-02-24 19:06:19.000000000 +0000 +++ ruby-acme-client-2.0.6/CHANGELOG.md 2020-03-05 16:25:39.000000000 +0000 @@ -1,3 +1,7 @@ +## `2.0.6` + +* Allow Faraday up to `< 2.0` + ## `2.0.5` * Use post-as-get diff -Nru ruby-acme-client-2.0.5/debian/changelog ruby-acme-client-2.0.6/debian/changelog --- ruby-acme-client-2.0.5/debian/changelog 2020-02-24 19:48:34.000000000 +0000 +++ ruby-acme-client-2.0.6/debian/changelog 2020-06-24 17:51:38.000000000 +0000 @@ -1,3 +1,18 @@ +ruby-acme-client (2.0.6-1) unstable; urgency=medium + + * Team upload. + * New upstream version 2.0.6 + * Remove patch applied upstream + + -- Pirate Praveen Wed, 24 Jun 2020 23:21:38 +0530 + +ruby-acme-client (2.0.5-2) experimental; urgency=medium + + * Team upload. + * Bump minimum version of ruby-faraday to 0.17 in preparation for faraday 1.0 + + -- Pirate Praveen Tue, 23 Jun 2020 21:49:30 +0530 + ruby-acme-client (2.0.5-1) unstable; urgency=medium * Team upload diff -Nru ruby-acme-client-2.0.5/debian/control ruby-acme-client-2.0.6/debian/control --- ruby-acme-client-2.0.5/debian/control 2020-02-24 19:48:34.000000000 +0000 +++ ruby-acme-client-2.0.6/debian/control 2020-06-24 17:51:38.000000000 +0000 @@ -6,7 +6,7 @@ Priority: optional Build-Depends: debhelper-compat (= 12), gem2deb, - ruby-faraday (>= 0.9) + ruby-faraday (>= 0.17~) Standards-Version: 4.5.0 Vcs-Browser: https://salsa.debian.org/ruby-team/ruby-acme-client Vcs-Git: https://salsa.debian.org/ruby-team/ruby-acme-client.git @@ -18,7 +18,7 @@ Architecture: all XB-Ruby-Versions: ${ruby:Versions} Depends: ruby | ruby-interpreter, - ruby-faraday (>= 0.9), + ruby-faraday (>= 0.17~), ${misc:Depends}, ${shlibs:Depends} Description: Client for the ACME protocol diff -Nru ruby-acme-client-2.0.5/Gemfile ruby-acme-client-2.0.6/Gemfile --- ruby-acme-client-2.0.5/Gemfile 2020-02-24 19:06:19.000000000 +0000 +++ ruby-acme-client-2.0.6/Gemfile 2020-03-05 16:25:39.000000000 +0000 @@ -1,4 +1,5 @@ source 'https://rubygems.org' + gemspec group :development, :test do diff -Nru ruby-acme-client-2.0.5/lib/acme/client/version.rb ruby-acme-client-2.0.6/lib/acme/client/version.rb --- ruby-acme-client-2.0.5/lib/acme/client/version.rb 2020-02-24 19:06:19.000000000 +0000 +++ ruby-acme-client-2.0.6/lib/acme/client/version.rb 2020-03-05 16:25:39.000000000 +0000 @@ -2,6 +2,6 @@ module Acme class Client - VERSION = '2.0.5'.freeze + VERSION = '2.0.6'.freeze end end diff -Nru ruby-acme-client-2.0.5/README.md ruby-acme-client-2.0.6/README.md --- ruby-acme-client-2.0.5/README.md 2020-02-24 19:06:19.000000000 +0000 +++ ruby-acme-client-2.0.6/README.md 2020-03-05 16:25:39.000000000 +0000 @@ -201,7 +201,7 @@ ### Certificate renewal -The is no renewal process, just create a new order. +There is no renewal process, just create a new order. ## Not implemented diff -Nru ruby-acme-client-2.0.5/.rubocop.yml ruby-acme-client-2.0.6/.rubocop.yml --- ruby-acme-client-2.0.5/.rubocop.yml 2020-02-24 19:06:19.000000000 +0000 +++ ruby-acme-client-2.0.6/.rubocop.yml 2020-03-05 16:25:39.000000000 +0000 @@ -7,133 +7,128 @@ Rails: Enabled: false -Style/FileName: - Exclude: - - 'lib/acme-client.rb' +Layout/AlignParameters: + EnforcedStyle: with_fixed_indentation -Lint/AssignmentInCondition: +Layout/ElseAlignment: Enabled: false -Style/ClassAndModuleChildren: - Enabled: false +Layout/FirstParameterIndentation: + EnforcedStyle: consistent -Style/Documentation: +Layout/IndentationWidth: Enabled: false Layout/MultilineOperationIndentation: Enabled: false -Style/SignalException: - EnforcedStyle: only_raise - -Layout/AlignParameters: - EnforcedStyle: with_fixed_indentation - -Layout/ElseAlignment: +Layout/SpaceInsideBlockBraces: Enabled: false -Style/MultipleComparison: +Lint/AmbiguousOperator: Enabled: false -Layout/IndentationWidth: +Lint/AssignmentInCondition: Enabled: false -Style/SymbolArray: +Lint/EndAlignment: Enabled: false -Layout/FirstParameterIndentation: - EnforcedStyle: consistent - -Style/TrailingCommaInArguments: - Enabled: false +Lint/UnusedMethodArgument: + AllowUnusedKeywordArguments: true -Style/PercentLiteralDelimiters: +Metrics/AbcSize: Enabled: false Metrics/BlockLength: Enabled: false -Layout/SpaceInsideBlockBraces: +Metrics/ClassLength: Enabled: false -Style/StringLiterals: - Enabled: single_quotes +Metrics/CyclomaticComplexity: + Enabled: false Metrics/LineLength: Max: 140 +Metrics/MethodLength: + Max: 15 + Enabled: false + Metrics/ParameterLists: Max: 5 CountKeywordArgs: false -Lint/EndAlignment: +Metrics/PerceivedComplexity: Enabled: false -Style/ParallelAssignment: +Security/JSONLoad: Enabled: false -Style/ModuleFunction: +Style/AccessorMethodName: Enabled: false -Style/TrivialAccessors: - AllowPredicates: true - -Lint/UnusedMethodArgument: - AllowUnusedKeywordArguments: true +Style/Alias: + Enabled: false -Metrics/MethodLength: - Max: 15 +Style/BlockDelimiters: + EnforcedStyle: semantic -Style/DoubleNegation: +Style/ClassAndModuleChildren: Enabled: false -Style/IfUnlessModifier: +Style/Documentation: Enabled: false -Style/MultilineBlockChain: +Style/DoubleNegation: Enabled: false -Style/BlockDelimiters: - EnforcedStyle: semantic +Style/FileName: + Exclude: + - 'lib/acme-client.rb' -Style/Lambda: +Style/GlobalVars: Enabled: false Style/GuardClause: Enabled: false -Style/Alias: +Style/IfUnlessModifier: Enabled: false -Lint/AmbiguousOperator: +Style/Lambda: Enabled: false -Metrics/MethodLength: +Style/ModuleFunction: Enabled: false -Metrics/PerceivedComplexity: +Style/MultilineBlockChain: Enabled: false -Metrics/CyclomaticComplexity: +Style/MultipleComparison: Enabled: false -Metrics/AbcSize: +Style/MutableConstant: Enabled: false -Metrics/ClassLength: +Style/ParallelAssignment: Enabled: false -Style/MutableConstant: +Style/PercentLiteralDelimiters: Enabled: false -Style/GlobalVars: - Enabled: false +Style/SignalException: + EnforcedStyle: only_raise -Style/ExpandPathArguments: +Style/SymbolArray: Enabled: false -Security/JSONLoad: - Enabled: false +Style/StringLiterals: + Enabled: single_quotes -Style/AccessorMethodName: +Style/TrailingCommaInArguments: Enabled: false + +Style/TrivialAccessors: + AllowPredicates: true diff -Nru ruby-acme-client-2.0.5/spec/account_spec.rb ruby-acme-client-2.0.6/spec/account_spec.rb --- ruby-acme-client-2.0.5/spec/account_spec.rb 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/account_spec.rb 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,47 @@ +require 'spec_helper' + +describe Acme::Client::Resources::Account do + let(:private_key) { generate_private_key } + let(:unregistered_client) do + client = Acme::Client.new(private_key: private_key, directory: DIRECTORY_URL) + client.new_account(contact: 'mailto:info@example.com', terms_of_service_agreed: true) + client + end + let(:client) do + client = Acme::Client.new(private_key: private_key, directory: DIRECTORY_URL) + client.new_account(contact: 'mailto:info@example.com', terms_of_service_agreed: true) + client + end + let(:account) do + client.account + end + + context 'status' do + it 'send the agreement for the terms', vcr: { cassette_name: 'registration_agree_terms' } do + expect(account.status).to eq('valid') + end + end + + context 'update' do + it 'update contact information', vcr: { cassette_name: 'account_update' } do + expect(account.contact).to eq(['mailto:info@example.com']) + account.update(contact: 'mailto:updated@example.com') + expect(account.contact).to eq(['mailto:updated@example.com']) + end + end + + context 'deactivate' do + it 'deactivate account', vcr: { cassette_name: 'account_deactivate' } do + expect(account.status).to eq('valid') + account.deactivate + expect(account.status).to eq('deactivated') + end + end + + context 'reload', vcr: { cassette_name: 'account_reload' } do + it 'reload the account' do + expect { account.reload }.not_to raise_error + expect(account.url).not_to be_nil + end + end +end diff -Nru ruby-acme-client-2.0.5/spec/authorization_spec.rb ruby-acme-client-2.0.6/spec/authorization_spec.rb --- ruby-acme-client-2.0.5/spec/authorization_spec.rb 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/authorization_spec.rb 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,46 @@ +# frozen_string_literal: true + +require 'spec_helper' + +describe Acme::Client::Resources::Authorization do + let(:private_key) { generate_private_key } + let(:client) do + client = Acme::Client.new(private_key: private_key, directory: DIRECTORY_URL) + client.new_account(contact: 'mailto:info@example.com', terms_of_service_agreed: true) + client + end + + let(:order) do + client.new_order(identifiers: [{ type: 'dns', value: 'example.com' }]) + end + let(:authorization) { client.authorization(url: order.authorization_urls.first) } + + context 'deactivate' do + it 'successfully deactive the authorization', vcr: { cassette_name: 'authorization_deactivate' } do + expect(authorization.status).to eq('pending') + expect { authorization.deactivate }.not_to raise_error + expect(authorization.status).to eq('deactivated') + end + end + + context 'challenges' do + it 'returns the challenges', vcr: { cassette_name: 'authorization_challenges' } do + expect(authorization.challenges).to all(be_kind_of(Acme::Client::Resources::Challenges::Base)) + end + + it 'returns the HTTP challenge', vcr: { cassette_name: 'authorization_http_challenge' } do + expect(authorization.http).to be_a(Acme::Client::Resources::Challenges::HTTP01) + end + + it 'returns the DNS challenge', vcr: { cassette_name: 'authorization_dns_challenge' } do + expect(authorization.dns).to be_a(Acme::Client::Resources::Challenges::DNS01) + end + end + + context 'reload' do + it 'successfully reload the authorization', vcr: { cassette_name: 'authorization_reload' } do + expect { authorization.reload }.not_to raise_error + expect(authorization.url).not_to be_nil + end + end +end diff -Nru ruby-acme-client-2.0.5/spec/cassettes/account_contact_deactivate.yml ruby-acme-client-2.0.6/spec/cassettes/account_contact_deactivate.yml --- ruby-acme-client-2.0.5/spec/cassettes/account_contact_deactivate.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/account_contact_deactivate.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,173 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - jlqzVngJd_Dr9JEngxlYOw + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiamxxelZuZ0pkX0RyOUpFbmd4bFlPdyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6InJKN0Q2cV9fS0FPM2Q2M3RtbHk3eXdjTlhabWhlRl8zc3JlcFpMaHdKbW94VUtfWnJWeVQ4VHpndmxwLVZYTVZHeThvaEt6MUZBektKVVYwYUVFWG5CNzZSbVpSVTU3b2RGanZkeWZfOG82UWNMUER3c21STFFvR0JDNmlFSjZyX3ZCb3RKZHE2ZXdtdF9nZ0ZTa2lRNU1Gb2twNnNsTktSSTJKRUZ5NFkyTmtfa19SSlRxNm5ER2pwOXhpdnR4STctc0Fuak15V19jaVZ1MHFnTUtKcy0xYmQ5bm83TnkwR1NjbmJKNk1yY2kwTTFBcVNPSnJiY3h5TWdhbFZCZV9TVU9vMm9DdC1Vb2FEVF9xM0lhVDNLNURETlF0M01yWFhsOXNmTDFKQ2ZWSW5Fc1JqeVRULWl5WGZoQ011M0h6enppZHMwNGwxZXRhRmFFbUhjM1BJdyJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"dm_ch6ybg9na20Ygn_gOkjE5zyte8MzcK-vsaJU-EMrLnoo3aR7opx3sYnIyAStVxycepXC3-w_sLc_g7QPZ7u6DVPEekMbRlCMP-e7ENhs2H05BvmuXG0unfyMGCX6RNoXOxFq6Sckm9pM69RJzsaIQe-M1mF8RDMnaFIyq2hwjoHMxvn93F1UOATgVBzrfM7oG9uMyUFUP8QbPsdWLt4B8A9avIEbamN9XR_lA9vlaZpdDyVLN7vPi-gjUFdV6u0AzeHwiYG68xqwABftWOLq2oinVIDyfJfdMZ6QEf_LDAqInzTjthTfJbATjtstKFxZJGHDzZl4S8c75KyPs4A"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/57" + Replay-Nonce: + - Hk_U6WiUO_c_nk94sAQ6RA + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/57", + "key": { + "kty": "RSA", + "n": "rJ7D6q__KAO3d63tmly7ywcNXZmheF_3srepZLhwJmoxUK_ZrVyT8Tzgvlp-VXMVGy8ohKz1FAzKJUV0aEEXnB76RmZRU57odFjvdyf_8o6QcLPDwsmRLQoGBC6iEJ6r_vBotJdq6ewmt_ggFSkiQ5MFokp6slNKRI2JEFy4Y2Nk_k_RJTq6nDGjp9xivtxI7-sAnjMyW_ciVu0qgMKJs-1bd9no7Ny0GScnbJ6Mrci0M1AqSOJrbcxyMgalVBe_SUOo2oCt-UoaDT_q3IaT3K5DDNQt3MrXXl9sfL1JCfVInEsRjyTT-iyXfhCMu3Hzzzids04l1etaFaEmHc3PIw", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: post + uri: "/my-account/57" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiSGtfVTZXaVVPX2Nfbms5NHNBUTZSQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1hY2NvdW50LzU3Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNTcifQ","payload":"eyJzdGF0dXMiOiJkZWFjdGl2YXRlZCJ9","signature":"UI1GQGQqmlZhoZiFWqQXdn4ZvnH3WI6Ik3sze3aAX1CZnjxi4pcVtYjobN0R73QkRnwduS1by32siYG76GtQmUyTMKIShfk2xbILsEPwQHGxgnAe6Yy8lmjPv3o7sGcdyfp1K5CrW5qrOrycb16EaSgxQQEFNNU4-_3vjXgHO62uS7c7NW84pkZB5uELDuNyDWnC1eMD_AmmGmVZvzCOy1WJheUWTwccTuGf04mycGkHbOB15IenV_OBKnrzxJrHvLZPyX0HS5f2Ay6NGLRHjsNr82qJlP-Qfxdrg2deRQqltg7k3cxwEpFN9wx9LLczfPJKynT_XzrI8zP3Ja0Cgg"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - STgLjfCPc5lz9rj3MAk1Iw + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '556' + body: + encoding: UTF-8 + string: |- + { + "status": "deactivated", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/57", + "key": { + "kty": "RSA", + "n": "rJ7D6q__KAO3d63tmly7ywcNXZmheF_3srepZLhwJmoxUK_ZrVyT8Tzgvlp-VXMVGy8ohKz1FAzKJUV0aEEXnB76RmZRU57odFjvdyf_8o6QcLPDwsmRLQoGBC6iEJ6r_vBotJdq6ewmt_ggFSkiQ5MFokp6slNKRI2JEFy4Y2Nk_k_RJTq6nDGjp9xivtxI7-sAnjMyW_ciVu0qgMKJs-1bd9no7Ny0GScnbJ6Mrci0M1AqSOJrbcxyMgalVBe_SUOo2oCt-UoaDT_q3IaT3K5DDNQt3MrXXl9sfL1JCfVInEsRjyTT-iyXfhCMu3Hzzzids04l1etaFaEmHc3PIw", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/account_contact_update.yml ruby-acme-client-2.0.6/spec/cassettes/account_contact_update.yml --- ruby-acme-client-2.0.5/spec/cassettes/account_contact_update.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/account_contact_update.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,275 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - tfsLQc3pSF0yOdXVTfaS1Q + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoidGZzTFFjM3BTRjB5T2RYVlRmYVMxUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMjU2Iiwia3R5IjoiRUMiLCJ4IjoiMGlkVnRWVGszQnRTcW12MDFKN2hmX3REWm5ENUJKWE5NZnc4N0tPSGd3IiwieSI6InVPa004b3dDNTJvOVFDVk9YZVpHUHZ4ZkIxdzZoS2xNSGRab2hwOVMwZmsifX0","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"8BdCmZvSdMohT2QgbeKgaYGv2sDRlOeF0YRE6NZjFGquI8Ar14AeobcqnIaVx9KHZiiNr8iS3FKj5p-kiJY7UA"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/58" + Replay-Nonce: + - yhMJUW76mnLknZxuN3c5dw + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '311' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/58", + "key": { + "kty": "EC", + "crv": "P-256", + "x": "ANInVbVU5NwbUqpr9NSe4X_7Q2Zw-QSVzTH8POyjh4M", + "y": "uOkM8owC52o9QCVOXeZGPvxfB1w6hKlMHdZohp9S0fk" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: post + uri: "/my-account/58" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoieWhNSlVXNzZtbkxrblp4dU4zYzVkdyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1hY2NvdW50LzU4Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNTgifQ","payload":"","signature":"wmM8OfnkT5tqUtknF3_MnBMnfsOUBGa5rY6u2Z-g_cKyFT2kEjS6urTsbpUDC8jQ6_XXbpmSEk97nkrBlxSuPQ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - XrlqznwiP_kTqx6CiDcCLA + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '311' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/58", + "key": { + "kty": "EC", + "crv": "P-256", + "x": "ANInVbVU5NwbUqpr9NSe4X_7Q2Zw-QSVzTH8POyjh4M", + "y": "uOkM8owC52o9QCVOXeZGPvxfB1w6hKlMHdZohp9S0fk" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: post + uri: "/my-account/58" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiWHJscXpud2lQX2tUcXg2Q2lEY0NMQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1hY2NvdW50LzU4Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNTgifQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzp1cGRhdGVkQGV4YW1wbGUuY29tIl19","signature":"tUQS6ACDP6-QTkKZWMhEPdWXomEZliY4eB0LAN5-tkgz5gbXSAkYoLEdXIGi9uAAkWut8rtcSuTAEGod8NCwqw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - lMvG4i9EsevYSWVw1j3dtA + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '314' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:updated@example.com" + ], + "orders": "/list-orderz/58", + "key": { + "kty": "EC", + "crv": "P-256", + "x": "ANInVbVU5NwbUqpr9NSe4X_7Q2Zw-QSVzTH8POyjh4M", + "y": "uOkM8owC52o9QCVOXeZGPvxfB1w6hKlMHdZohp9S0fk" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: post + uri: "/my-account/58" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoibE12RzRpOUVzZXZZU1dWdzFqM2R0QSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1hY2NvdW50LzU4Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNTgifQ","payload":"","signature":"rYKkrNnfG8xP_MAa-DLcSig7IbBIr9aI673bIhYIK5R-b1GzMQZLEL5Hd-ZlL_pBu1evCpmhjlrH-5FFYUgrMQ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - RmUdqOeXaL1MFxFGnpHClg + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '314' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:updated@example.com" + ], + "orders": "/list-orderz/58", + "key": { + "kty": "EC", + "crv": "P-256", + "x": "ANInVbVU5NwbUqpr9NSe4X_7Q2Zw-QSVzTH8POyjh4M", + "y": "uOkM8owC52o9QCVOXeZGPvxfB1w6hKlMHdZohp9S0fk" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/account_deactivate.yml ruby-acme-client-2.0.6/spec/cassettes/account_deactivate.yml --- ruby-acme-client-2.0.5/spec/cassettes/account_deactivate.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/account_deactivate.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,225 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:22 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:22 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - aIpDHONQ5aIE4y_5eCwLTw + Date: + - Thu, 10 Oct 2019 03:08:22 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:22 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiYUlwREhPTlE1YUlFNHlfNWVDd0xUdyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMzg0Iiwia3R5IjoiRUMiLCJ4IjoiMmRzeVlnSTFtclFpZlgwd2VUeWlqcHVma3lqYUZIOVQteGhhMkNNNm5KWkxYaFV5RXNTaFNLT2JKb2NEZW93eiIsInkiOiJMQTVkTFg0cE1hU3JqWllfd0l1emYtSFZfZGotd04tUHYySzFESE1feTlyVmg4RnA2bXR6aDQ0a0doNGVKZEc2In19","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"k-449-HjTBfetN7UdOPnx3d1BY5EFzNmA4ATwlPsY63VwiAMqUiczo_rPRGe8gzq5eqn38zaqrdFq4IOlvsQaZohryeo4NXDxfQJVVs2D6W-ljaxrEFreZP9mI2oK-qb"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/77" + Replay-Nonce: + - OxD0J0u_iL0-5vwUS4D5QA + Date: + - Thu, 10 Oct 2019 03:08:22 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/77", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "2dsyYgI1mrQifX0weTyijpufkyjaFH9T-xha2CM6nJZLXhUyEsShSKObJocDeowz", + "y": "LA5dLX4pMaSrjZY_wIuzf-HV_dj-wN-Pv2K1DHM_y9rVh8Fp6mtzh44kGh4eJdG6" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:22 GMT +- request: + method: post + uri: "/my-account/77" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiT3hEMEowdV9pTDAtNXZ3VVM0RDVRQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1hY2NvdW50Lzc3Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNzcifQ","payload":"","signature":"sF5Zsax1s_OAgCPiZCOW473jl1E0fzeAS8v7fF90IyeUBcS6Ag9nh0pwpBfDFmfab8a_GuqW7ipdcmBKfWJaNSmdEBw_aC4x3KXW0lpE3etcJ19AheuPwvnkqn7eSSBw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - tTu9SWOMZL9kvmLYxPiL7w + Date: + - Thu, 10 Oct 2019 03:08:22 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/77", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "2dsyYgI1mrQifX0weTyijpufkyjaFH9T-xha2CM6nJZLXhUyEsShSKObJocDeowz", + "y": "LA5dLX4pMaSrjZY_wIuzf-HV_dj-wN-Pv2K1DHM_y9rVh8Fp6mtzh44kGh4eJdG6" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:22 GMT +- request: + method: post + uri: "/my-account/77" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoidFR1OVNXT01aTDlrdm1MWXhQaUw3dyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1hY2NvdW50Lzc3Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNzcifQ","payload":"eyJzdGF0dXMiOiJkZWFjdGl2YXRlZCJ9","signature":"W5vxTjc-GkIN3UVsKwuh6Cf8v-gEBQ8CywzO8MgRnPBJMniMYbnNtMkDEBXNYBVjgRbWaKv97L9SiHHGRD1Ts9Dz2Ng4bLqbioOASbvIjSLllb_Fmc8D9pearT6ByZRc"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - O8Wm_mcioRoVMlJplEZ9oQ + Date: + - Thu, 10 Oct 2019 03:08:22 GMT + Content-Length: + - '359' + body: + encoding: UTF-8 + string: |- + { + "status": "deactivated", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/77", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "2dsyYgI1mrQifX0weTyijpufkyjaFH9T-xha2CM6nJZLXhUyEsShSKObJocDeowz", + "y": "LA5dLX4pMaSrjZY_wIuzf-HV_dj-wN-Pv2K1DHM_y9rVh8Fp6mtzh44kGh4eJdG6" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:22 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/account_reload.yml ruby-acme-client-2.0.6/spec/cassettes/account_reload.yml --- ruby-acme-client-2.0.5/spec/cassettes/account_reload.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/account_reload.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,225 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:22 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:22 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - CrP1QhrQkN_FZt2m-polYg + Date: + - Thu, 10 Oct 2019 03:08:22 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:22 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiQ3JQMVFoclFrTl9GWnQybS1wb2xZZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMzg0Iiwia3R5IjoiRUMiLCJ4IjoiOXVIeFRrOVpaWTZyaXJ4NTBDcGRfSThqZEFfVG5INXBfajZSX0psbUFzemozR1pSR3ZoZzJWU2ZfWFRsbFpSeSIsInkiOiJKNlFERzViZmFkWFlzZFdUQmJSTHZIelp2UmxOTk56NU92dmVGUmVGQnZfT2pONkt5Y1NGMVU4Z2VaWnA2Q1k0In19","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"2rmE6GLVep_jRdwswxg5-ek-BxtODUvZTps7W7DNV7DEsurABCAI-8I2K8xbPnDdm4U73m3tzgjm43MQRUmM2_EU4HD57BHHL8e0WK5maHX9y0DaLJkr_xzXDTnf3B8z"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/76" + Replay-Nonce: + - Yf6AZXBXl4zg8fMuXti1MA + Date: + - Thu, 10 Oct 2019 03:08:22 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/76", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "9uHxTk9ZZY6rirx50Cpd_I8jdA_TnH5p_j6R_JlmAszj3GZRGvhg2VSf_XTllZRy", + "y": "J6QDG5bfadXYsdWTBbRLvHzZvRlNNNz5OvveFReFBv_OjN6KycSF1U8geZZp6CY4" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:22 GMT +- request: + method: post + uri: "/my-account/76" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiWWY2QVpYQlhsNHpnOGZNdVh0aTFNQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1hY2NvdW50Lzc2Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNzYifQ","payload":"","signature":"xasz4afk9YAM5PfzqKuxR5yYc2DXk8wkEAVxNOvgSJnKTgeO03T1aBhpjn_u8egRc-fw8r5Xlrit066ro-vvtF1L_nqaOi1XR_LoII1tI1paLgqq6x32_FIhqLRxRmFv"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - cQnjWF-IKQXo0LiTpvqaKQ + Date: + - Thu, 10 Oct 2019 03:08:22 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/76", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "9uHxTk9ZZY6rirx50Cpd_I8jdA_TnH5p_j6R_JlmAszj3GZRGvhg2VSf_XTllZRy", + "y": "J6QDG5bfadXYsdWTBbRLvHzZvRlNNNz5OvveFReFBv_OjN6KycSF1U8geZZp6CY4" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:22 GMT +- request: + method: post + uri: "/my-account/76" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiY1FualdGLUlLUVhvMExpVHB2cWFLUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1hY2NvdW50Lzc2Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNzYifQ","payload":"","signature":"KsQdo-oGEps9I5XYRd9a2YvGGPyigCDU2a6VDQImsSlOQD7vHLriJXoFCj4Bp35gmzKH7BRfEhdIIl9_CQ-AvRuMAQiYZxCSjvVs556fPla-c6o3yQDWN4IFHnz70Dtn"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - 4hysQxoLLL4LjDYY9tRQWg + Date: + - Thu, 10 Oct 2019 03:08:22 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/76", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "9uHxTk9ZZY6rirx50Cpd_I8jdA_TnH5p_j6R_JlmAszj3GZRGvhg2VSf_XTllZRy", + "y": "J6QDG5bfadXYsdWTBbRLvHzZvRlNNNz5OvveFReFBv_OjN6KycSF1U8geZZp6CY4" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:22 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/account_update.yml ruby-acme-client-2.0.6/spec/cassettes/account_update.yml --- ruby-acme-client-2.0.5/spec/cassettes/account_update.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/account_update.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,225 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:22 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:22 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - Z1KBXkieCGEvGQzNEZBsKA + Date: + - Thu, 10 Oct 2019 03:08:22 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:22 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiWjFLQlhraWVDR0V2R1F6TkVaQnNLQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMzg0Iiwia3R5IjoiRUMiLCJ4IjoiVjVWaHhrVHotYkNaTklJc2xrYUY3ZUV1UTFkLWh4RTJoUUlyeTZwWl9vY01zWmYyMklPWE53dHJXOHJPbVFaTyIsInkiOiJNa2dCNkY2R1M0MUtiR2dpRTlVSTROeDdLUmVmY0xlaWZvTlpsZFJRaTdQMUdQY1V0azRtR2ViRFlQTTdEZ0lPIn19","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"NjWzzv87jKOF0ZsbL6qCdzqEEji7ip-XLnsSdwOH2n9EppdVmwZdweNI1WwcROAbIJcSHN5qwplXIW454oI9lkHzB3GV0bTSLVGcgxBE7jVHlb6CoElqzSSrvCnTylcZ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/75" + Replay-Nonce: + - UEgPK0rQckOGL31ajF6_vQ + Date: + - Thu, 10 Oct 2019 03:08:22 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/75", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "V5VhxkTz-bCZNIIslkaF7eEuQ1d-hxE2hQIry6pZ_ocMsZf22IOXNwtrW8rOmQZO", + "y": "MkgB6F6GS41KbGgiE9UI4Nx7KRefcLeifoNZldRQi7P1GPcUtk4mGebDYPM7DgIO" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:22 GMT +- request: + method: post + uri: "/my-account/75" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiVUVnUEswclFja09HTDMxYWpGNl92USIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1hY2NvdW50Lzc1Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNzUifQ","payload":"","signature":"fOKByeKmX9j5VxHiH10UFfp-QcfXU4IsFTYKzJ-4iMqN_OVZ7uBWBZpynM9EzuzOWqo-bbesA8eladGOr9XWn5uOYCOU8bSvatl-exAMWkJTPJ4oAhZvrHD4y7S0Ejm9"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - WpFzVcHnnxQNyJDv2T17BQ + Date: + - Thu, 10 Oct 2019 03:08:22 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/75", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "V5VhxkTz-bCZNIIslkaF7eEuQ1d-hxE2hQIry6pZ_ocMsZf22IOXNwtrW8rOmQZO", + "y": "MkgB6F6GS41KbGgiE9UI4Nx7KRefcLeifoNZldRQi7P1GPcUtk4mGebDYPM7DgIO" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:22 GMT +- request: + method: post + uri: "/my-account/75" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiV3BGelZjSG5ueFFOeUpEdjJUMTdCUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1hY2NvdW50Lzc1Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNzUifQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzp1cGRhdGVkQGV4YW1wbGUuY29tIl19","signature":"AxHnABRLi0AecBE2Cd49fgm4dMsrcF0fyMP-D29fxP337Hc9lNDqnZReVr3mOc02ezy6gujNaa1qFaMwdCVM4UU9x-EM6x7mlz0sGFGWdbSY55aBfeiRmC7U7Q-nkR2U"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - hSWCipH97jCluQOKpsP26A + Date: + - Thu, 10 Oct 2019 03:08:22 GMT + Content-Length: + - '356' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:updated@example.com" + ], + "orders": "/list-orderz/75", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "V5VhxkTz-bCZNIIslkaF7eEuQ1d-hxE2hQIry6pZ_ocMsZf22IOXNwtrW8rOmQZO", + "y": "MkgB6F6GS41KbGgiE9UI4Nx7KRefcLeifoNZldRQi7P1GPcUtk4mGebDYPM7DgIO" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:22 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/authorization_challenges.yml ruby-acme-client-2.0.6/spec/cassettes/authorization_challenges.yml --- ruby-acme-client-2.0.5/spec/cassettes/authorization_challenges.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/authorization_challenges.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,242 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:09 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:09 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - 4jcJtiZ_MCoDfXwStQvXEQ + Date: + - Thu, 10 Oct 2019 03:08:09 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:09 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiNGpjSnRpWl9NQ29EZlh3U3RRdlhFUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6InBqUjhBdXl6N1UxeE1WS0lwYlJEX0F2ZzRGVHZvdTBfZDJrUzZMWkVqX0doZG5pd1FyQ3lYQjU2NzNROWpJcEM1eWU3TFpkMEtMRUo3cjFMY3hXTU5ES1UzdzloakVzTXNsRXo1aDB0QmhSOWJDSEFCS1B2WmNndkcyTTdJS0NsdERwUGJwUkN4dmJFc0F4NllnRlE2QVFJelk2aHppdlNCY0FRY2xqSU5TMEFiOFFZakdibmliVjBnLTBISE5iZGNIa0k3WGQxQXV6eGJOdlF1QmhseVVBQ2pLQnc2NnBMNDNjSmFhMXM4ejdOYkZRMzBsSnVXSHBNN25ZazhSZl9xaTFaNWRTLTVWLVJGTzBWeEJidTNwVEVEQXBSdW1VampBMThfbWVXeFNfcDZjYllJNmZwQTYwZldZZ0REMGRQX3Uyekxodng2bFBPXzU5ODFmeFV0dyJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"MIZKLWW0K0tEoJ9Xp7iFAkbukEhSPlkjzkZDETlBASYCt5z1a2ftZ7y1YSHQIlEOJUMDwIec7c8KzMGyOQccAIKjQYoxe9z9Hz5GnqXloLrRmX43obALOqv8KjQBUKH3ZY5XO6TjhEM5-UyBdjEmvIgHdnOC-DQf7-zK5A3CD-zjAME7NF9lgEp6a6y7FIzDm1R3n4Oa8OQSixNOe8Xf1_joxnpqf-W1V82THsPsLJbWSX-o826bWLyp8cOJWNUmQhvbD3cGMRjFC9tefqAqqnYPGTe-KN4JzHxdzbut_8cthSDDfy7HHfAQI7Ag-m6jXvbR5IllBvni6KHTdMzv2Q"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/45" + Replay-Nonce: + - ySl06LOUyOPaGU3EkD77LQ + Date: + - Thu, 10 Oct 2019 03:08:09 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/45", + "key": { + "kty": "RSA", + "n": "pjR8Auyz7U1xMVKIpbRD_Avg4FTvou0_d2kS6LZEj_GhdniwQrCyXB5673Q9jIpC5ye7LZd0KLEJ7r1LcxWMNDKU3w9hjEsMslEz5h0tBhR9bCHABKPvZcgvG2M7IKCltDpPbpRCxvbEsAx6YgFQ6AQIzY6hzivSBcAQcljINS0Ab8QYjGbnibV0g-0HHNbdcHkI7Xd1AuzxbNvQuBhlyUACjKBw66pL43cJaa1s8z7NbFQ30lJuWHpM7nYk8Rf_qi1Z5dS-5V-RFO0VxBbu3pTEDApRumUjjA18_meWxS_p6cbYI6fpA60fWYgDD0dP_u2zLhvx6lPO_5981fxUtw", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:09 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoieVNsMDZMT1V5T1BhR1UzRWtENzdMUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC80NSJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"H_smQjeqUch8qLD_8fMhg8qUTJ0r0mGfdD0EnecWG3A7upYCPxFG0tScxqSe9qNxiSWc9bE66hsomVSk6Kcuoorwk9_L8J2QtGsg1VJPuGrdUkMqtPw3zoAMBLiHc1F7z1N4Km9ZTau2XzUqPekwfgwZ87ybO6pcTBxHl18Lxc7P-43o6d_yygpGlg2dQGH3519Oo5yQHrLCvO_GmejIvZCPiZ2q1018KyZA8UFq7fRwmiH2Y6PSvs83S--F7dm58FbRzBEdSppuNwieQNUKcXjugVtcMnp7QaHQ4YRmicjS9sHirmBd3ftl800J9jdwD3X070t6vCrVKB4c79pRcw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/a3s4crCeGC6OX_xaqyBMmEHHfFRreTJ94_Ufft0Azk0" + Replay-Nonce: + - tN75Oenx5I-1J24wK0FmHQ + Date: + - Thu, 10 Oct 2019 03:08:09 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:09Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/a3s4crCeGC6OX_xaqyBMmEHHfFRreTJ94_Ufft0Azk0", + "authorizations": [ + "/authZ/u7NCzERVTfL8v1Eg3nmdSl8Li9arBBbuebSpAdUzpe0" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:09 GMT +- request: + method: post + uri: "/authZ/u7NCzERVTfL8v1Eg3nmdSl8Li9arBBbuebSpAdUzpe0" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoidE43NU9lbng1SS0xSjI0d0swRm1IUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi91N05DekVSVlRmTDh2MUVnM25tZFNsOExpOWFyQkJidWViU3BBZFV6cGUwIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNDUifQ","payload":"","signature":"gPZfJpfwXTVyqcK2W67XJ21i_JQXbPKUZJTMck3JfXKNwpsoJTdO6F1MWH6iswMC81iCDi4Slkyz-P9mFqtEtIOiL47XECIR8IStZ11dEEcY2biaWc6kI_Jk0jCXV6XEqdrsrpPdx1f86n6SObeLizBpc0A3T_dwZ_1aSqdL_NWShwrqwKxbUcLRZXge4YQH5ekQTlCuEeQuzyFvqlcATi4Zk5Xp_e0Ok2aWIDDYzOtsK_8sPJsKaGzRRmMNq881mVZnpMVRZYznm9gFVyL-mZ4tW-t_svOIcm7qq4hbiYyjyl5p1M5YRkg5Qo5r7k8iE5e403SNzz0w4a0vevdq2g"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - iyk7bdtIKTIhXT4iUUDUVQ + Date: + - Thu, 10 Oct 2019 03:08:09 GMT + Content-Length: + - '874' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [ + { + "type": "dns-01", + "url": "/chalZ/lIcr98EItalfzU8UeQxlGE8PyFhfdAtsQ41rKgYCfUU", + "token": "jKXWn7PwoqZVJhibgCwsIaCIBN8JKtQixLFjGPfmDmc", + "status": "pending" + }, + { + "type": "tls-alpn-01", + "url": "/chalZ/tcysx1wfIiNDLoZ479RVOjohBK3LpuzX_Xo_7gvdu4o", + "token": "rNcqoTZaZ3KqERfYAm135PdO9xuPRJt2Jy7PyH-VNVc", + "status": "pending" + }, + { + "type": "http-01", + "url": "/chalZ/bgQZl22dfoUWwPVx_UCeb3QzMAelhsf1hz44enDdccs", + "token": "6Lr63JYxaoBEFfPIggNAwKHjXHvmyCnvTGSqDSqPEvA", + "status": "pending" + } + ], + "expires": "2019-10-10T04:08:09Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:09 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/authorization_deactivate.yml ruby-acme-client-2.0.6/spec/cassettes/authorization_deactivate.yml --- ruby-acme-client-2.0.5/spec/cassettes/authorization_deactivate.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/authorization_deactivate.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,289 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:10 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:10 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - _6LSj-ivZ142RU7fCXrWPg + Date: + - Thu, 10 Oct 2019 03:08:10 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:10 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiXzZMU2otaXZaMTQyUlU3ZkNYcldQZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMjU2Iiwia3R5IjoiRUMiLCJ4IjoiY2pMZlRnQzQ2QVdDNDhrTzZsWEtKTHVDQnF5TXRLX251aVVfN2VBb2JHRSIsInkiOiJIOF96NVk2ZTR2ZnZfNVFGYmZBb3pRYm43X1NLakJZMmVsLWpRcG9RMGI0In19","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"dkAJI3LWzIq88Puu3GkqJOyLIHvMHrnYDtC8wNZkpM9Lr110SmFASrXa4aozqWCcrsZEthQRyzkJ74nkCk181g"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/47" + Replay-Nonce: + - _BYU7s79vQuCYkWYwE3QSg + Date: + - Thu, 10 Oct 2019 03:08:10 GMT + Content-Length: + - '311' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/47", + "key": { + "kty": "EC", + "crv": "P-256", + "x": "cjLfTgC46AWC48kO6lXKJLuCBqyMtK_nuiU_7eAobGE", + "y": "H8_z5Y6e4vfv_5QFbfAozQbn7_SKjBY2el-jQpoQ0b4" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:10 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiX0JZVTdzNzl2UXVDWWtXWXdFM1FTZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC80NyJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"Lp9Rn23wZw8hBTQkfwjfqk0rZKVmRq9KOB0wIH7WNEep0tpcwzVKEnsNOgoZ1-Bo_3k8BZSmVovFRpphCz8J1w"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/SktKhwbq3Cu-eP4zwkk4SoZ1wVEGirjSx7kVcMbrvKI" + Replay-Nonce: + - vYpVw_JTVzFbX9jEToflOg + Date: + - Thu, 10 Oct 2019 03:08:10 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:10Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/SktKhwbq3Cu-eP4zwkk4SoZ1wVEGirjSx7kVcMbrvKI", + "authorizations": [ + "/authZ/s6jpv9rQGWGeIxZ5XFjPV9Yyo4QfIyPQHBo14Hm8AMo" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:10 GMT +- request: + method: post + uri: "/authZ/s6jpv9rQGWGeIxZ5XFjPV9Yyo4QfIyPQHBo14Hm8AMo" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoidllwVndfSlRWekZiWDlqRVRvZmxPZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi9zNmpwdjlyUUdXR2VJeFo1WEZqUFY5WXlvNFFmSXlQUUhCbzE0SG04QU1vIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNDcifQ","payload":"","signature":"_UW2-sMTZSM5CGCPayP-7TvY-q1G0LMOZzWv-0q5awwu30YpQ8lqqs4bgqwlNf4Yb-irwvG7i9HpEEyDA-N52Q"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - zAnucZvVIN6w7j4FGJVDZg + Date: + - Thu, 10 Oct 2019 03:08:10 GMT + Content-Length: + - '874' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [ + { + "type": "tls-alpn-01", + "url": "/chalZ/5uik8jd2xcCJref5hUxOspC3pAgnx8kqGJWSiRM3cJY", + "token": "MAZfhQSh30CUQn8du02NjG_7Hk5gG9fMFHlmOnoaXkM", + "status": "pending" + }, + { + "type": "http-01", + "url": "/chalZ/eU4lQfAefwQnpUt_gLgWRXVPCyMivt04LMLKkPG_lGY", + "token": "5alEPJITuvsErm2TcrguUzm9q33c0qt_j6x0DlxVcx4", + "status": "pending" + }, + { + "type": "dns-01", + "url": "/chalZ/p_6rtTBlTVc6r-Rz6kvY7b82x8-g-X_84GFSFDmYUto", + "token": "9SlFVh3uqJlgWkWyjvKhrjoSHEq7tijmJEvXVVQF2AM", + "status": "pending" + } + ], + "expires": "2019-10-10T04:08:10Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:10 GMT +- request: + method: post + uri: "/authZ/s6jpv9rQGWGeIxZ5XFjPV9Yyo4QfIyPQHBo14Hm8AMo" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiekFudWNadlZJTjZ3N2o0RkdKVkRaZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi9zNmpwdjlyUUdXR2VJeFo1WEZqUFY5WXlvNFFmSXlQUUhCbzE0SG04QU1vIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNDcifQ","payload":"eyJzdGF0dXMiOiJkZWFjdGl2YXRlZCJ9","signature":"0IWw5RaIXhSYys1-148MBZxF7TG4_VCoNk6SJPX4swA6DpXbYWt6PaMEZPSkrIU0F7SDqAV_6GZ1n0YzUeCkMQ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - ve1IGHdI8fHozkwjsCFKPw + Date: + - Thu, 10 Oct 2019 03:08:10 GMT + Content-Length: + - '164' + body: + encoding: UTF-8 + string: |- + { + "status": "deactivated", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [], + "expires": "2019-10-10T04:08:10Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:10 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/authorization_dns_challenge.yml ruby-acme-client-2.0.6/spec/cassettes/authorization_dns_challenge.yml --- ruby-acme-client-2.0.5/spec/cassettes/authorization_dns_challenge.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/authorization_dns_challenge.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,242 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:09 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:09 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - 3KJWdBtT-druZyDCS675uQ + Date: + - Thu, 10 Oct 2019 03:08:09 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:09 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiM0tKV2RCdFQtZHJ1WnlEQ1M2NzV1USIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6InhwWG9BVTRmUGlIM3lNdUFZeEtCcWthYTM2NGRNcTNpSDNUTU9ZSkxZclp5b0tzU29hcmFYbkR0LUVrc3FoYTc1SENmX3NtZmhZVHV2b1p2YXBiSnI4QThSc0hhSkFEdVFnYTNHa1ZTY3g0ZGpLTmxtcmI1a1kyNFI1YndHX2owQWhZSExZbU14QWtRREpYSmtUcmdZSUhxbWNQbFI1VG1tY2RNMGh6Z0hIamJaV2ZpNEVrY2RxLUNPbi1OUGRSTE91Q0VrOUVfSUNuQ1E3dmJqYnFvSUxwa010cG9tbEp1cktwOEJrcThMeDV2eVNINTBCUzAtSG42MHo4UTZMb193Q2F1bGs1dmROdWg0Rm1Yd28ydm1HNjRwQ2ZRd1VDa2drLURyWU4tcUxoYloyXzhQOW1iTmpiRkI2SnZQMDd3WDFPWHpJLWk1SmJzenQ3MHVzU0FkdyJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"L-MQ9PK9riqiy_QqSakEa7k_8eSjsP1EOoPETn0wb8FPbCYUsZDghRaJItnc3TnwzXhV43ZVjl9FOlEHI-z8jLg2BJdUCmcvEP9nU2cDHZf5ShgqjW-vJGPONGjURqZB4nNJL6dli2a0FGcoy7oeb3EciTLhSJp4g6bTC-HP8Vg-6xnzkMD3pu16UjxxZVpu-GiyY6XfBB9bl9ItBU9zJGvO4NgNJTEEZpoOWQ1E2PX522_jCv2ugGhtIRLtfrXJaq9swzlqPYBbtBwjsF9QmbzYQ6I5FDRqz_egBca0UAJSyXisJId4NZkJp1h9I13LIwYBhnuy-vZpEky_7O_Psg"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/43" + Replay-Nonce: + - b0Svm6a8QJiMJaKJozR_Hw + Date: + - Thu, 10 Oct 2019 03:08:09 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/43", + "key": { + "kty": "RSA", + "n": "xpXoAU4fPiH3yMuAYxKBqkaa364dMq3iH3TMOYJLYrZyoKsSoaraXnDt-Eksqha75HCf_smfhYTuvoZvapbJr8A8RsHaJADuQga3GkVScx4djKNlmrb5kY24R5bwG_j0AhYHLYmMxAkQDJXJkTrgYIHqmcPlR5TmmcdM0hzgHHjbZWfi4Ekcdq-COn-NPdRLOuCEk9E_ICnCQ7vbjbqoILpkMtpomlJurKp8Bkq8Lx5vySH50BS0-Hn60z8Q6Lo_wCaulk5vdNuh4FmXwo2vmG64pCfQwUCkgk-DrYN-qLhbZ2_8P9mbNjbFB6JvP07wX1OXzI-i5Jbszt70usSAdw", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:09 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiYjBTdm02YThRSmlNSmFLSm96Ul9IdyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC80MyJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"Dhe5GZ_TxSYBgdrsojvV0C6iYR-V4sboK4M2KRarFKFg3Ca5tNZv50E93PwMWisO2xVm7uy57m34EA1EoJkZHn8zZ1LYvVVP30E26LGqp6WRc69eEY1J24tCeZ15_7Z_xUvo0mRSzroGI2qUtg_I2vyJpaiWYrLWM7CJAQiOzVt7xZQd2NtQO9yO3l1qIplJG0jxRsfElXZ_adnFu6V9Ek5MIEw5u3wuFdWO3ylcYAX34Vywjz3os71Xe2ghMqqMVvSm5vpVV3afsigqE7fKJSpkZtll1IwUZIGp5EEo1kiQ1vqrSk9thP35rR3CKSj3ptoMyz-hy7oE2RzLz9pDFQ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/dywUEpcqLPS22GhLxoXRfOcxkzosHuhxw2K8t7tIyLw" + Replay-Nonce: + - VkrCO1skfinxqRQcbuo9sQ + Date: + - Thu, 10 Oct 2019 03:08:09 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:09Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/dywUEpcqLPS22GhLxoXRfOcxkzosHuhxw2K8t7tIyLw", + "authorizations": [ + "/authZ/QCX_Vz4oC1k8GCjYRN43blNT8K5rV4p0VvoY75J8gJA" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:09 GMT +- request: + method: post + uri: "/authZ/QCX_Vz4oC1k8GCjYRN43blNT8K5rV4p0VvoY75J8gJA" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiVmtyQ08xc2tmaW54cVJRY2J1bzlzUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi9RQ1hfVno0b0MxazhHQ2pZUk40M2JsTlQ4SzVyVjRwMFZ2b1k3NUo4Z0pBIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNDMifQ","payload":"","signature":"BgkkkhsNFugbSTjklqqVA-QSBlbvjxv4ewZ5nQHkqMNuY4NOoNYvLSLZu9W6aU2dgM6-a8Awq6yLYgF3z7W3w3xBj4QElXndbiiPJu6G7JMN9Zb18uUsfyE0-fdWUqADE5IK4bnWK1ZREGw88zlMst_IedIjp2vQXRQ7pXryguWIwxq39bsxuEuIoUxE9HWKkZ1e-SLm5jvTvZdNQepTqM9gpm0eUzIUh89LgObyCcGjfUEaBu2RW53Wj6AxBrhv_Dm0UXqjfBVvEQ71HNv2EjlsjuAI1c2XXDVVH8Y9kQkeE0SuPY-FcB3qEK5IVNEdeZ5fuc7FR7DB0bu1Y13szA"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - LmdJFv7popZJvaj_K0zfeg + Date: + - Thu, 10 Oct 2019 03:08:09 GMT + Content-Length: + - '874' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [ + { + "type": "http-01", + "url": "/chalZ/I8e-_vulYXpJncBb6QTPy-x32vGVBWYWQNQEfQapJMQ", + "token": "ExaeFyYyEBBdabnoNL-19TS8T6s4MsZSXpVB8QBGDOk", + "status": "pending" + }, + { + "type": "dns-01", + "url": "/chalZ/TnafAJUtyeMBTIsokZROT2UO1SiN-fG8iGkVqfrYfm4", + "token": "lQ1l1wv24HWBaDP_xlIilALd_c1NDTH2ICiJrLPRJUM", + "status": "pending" + }, + { + "type": "tls-alpn-01", + "url": "/chalZ/lPUCckLvxFPoSYfvD6VkjlLRYJsvrk6MT5QKJz6CPGA", + "token": "2Er7lvQ6PYO9bD-Wk5uGasMJQR4H1Q-W4Y3rzQX4oeQ", + "status": "pending" + } + ], + "expires": "2019-10-10T04:08:09Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:09 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/authorization_http_challenge.yml ruby-acme-client-2.0.6/spec/cassettes/authorization_http_challenge.yml --- ruby-acme-client-2.0.5/spec/cassettes/authorization_http_challenge.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/authorization_http_challenge.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,243 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:09 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:09 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - ENbDqNTO3oKl2BbwCTj_kA + Date: + - Thu, 10 Oct 2019 03:08:09 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:09 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiRU5iRHFOVE8zb0tsMkJid0NUal9rQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMzg0Iiwia3R5IjoiRUMiLCJ4IjoibjlrYjl4WFFjOHBTZ2EwZFpoYkRqWGR1Y0UyUmkyVGI4c3hraXJ1bGFxbWozNzdZLTR5MTliaEFiaGQ3YjBkUiIsInkiOiJBd0RqRGdzc0Z1LWpZaGs5bGhubXgtaDdYZjZxSU1PSEhPT1FxOTVVdjJmcUtBajBQdmd4ZUZYeVc3TG10VUJsIn19","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"DoCH-M7eQyOqoLbGyYYYHTYwHnX3Zuge-nCtacDAIJuBO-rWfmiuvYbn-fmyPnFSzsiuj3aPkOi4Lp6jCLXY5rLqQCiTD9gGWK6ELp7laSX3kyzfGXhm-pZCAQl_AUBv"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/44" + Replay-Nonce: + - 3HJxdw2_lVu74rrkFv40Ag + Date: + - Thu, 10 Oct 2019 03:08:09 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/44", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "n9kb9xXQc8pSga0dZhbDjXducE2Ri2Tb8sxkirulaqmj377Y-4y19bhAbhd7b0dR", + "y": "AwDjDgssFu-jYhk9lhnmx-h7Xf6qIMOHHOOQq95Uv2fqKAj0PvgxeFXyW7LmtUBl" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:09 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiM0hKeGR3Ml9sVnU3NHJya0Z2NDBBZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC80NCJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"lZFkbf9XlWJgr8iQo1xVVmWMOnoSeLmNcdrDMk_xxlMMEnw_keHWr5_t9OPajzJwz8rcicxgB_7cPnY1z4Xh-m7S20rXJS8aVZQQyuChuphFXwj6uDL1YS8Nc2w0Mr5q"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/I780HO_BH9VzHd34b2dLlpL-ff6ikkMD0vUfXOup57I" + Replay-Nonce: + - STgKfagvlS0bJp7m5oQ35g + Date: + - Thu, 10 Oct 2019 03:08:09 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:09Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/I780HO_BH9VzHd34b2dLlpL-ff6ikkMD0vUfXOup57I", + "authorizations": [ + "/authZ/WJA4LOg7RQ30FIpZBVKEIlsrTcHSHjCwGrTmZKdiKj0" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:09 GMT +- request: + method: post + uri: "/authZ/WJA4LOg7RQ30FIpZBVKEIlsrTcHSHjCwGrTmZKdiKj0" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiU1RnS2ZhZ3ZsUzBiSnA3bTVvUTM1ZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi9XSkE0TE9nN1JRMzBGSXBaQlZLRUlsc3JUY0hTSGpDd0dyVG1aS2RpS2owIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNDQifQ","payload":"","signature":"zF0sGePGN2Y0VDkyBi7vYJW4YlMBBHMIPe_b6Ia-PDlz1WIa9s0xYdUXVBr5NoERzF5Fe1fpychAOlCfR0Kg4YAxQy_HTlss7cJh6jY2ZZdTj6ifJpQzv7krsZoHAD5l"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - hjORs94px5RbAEwVjWryJA + Date: + - Thu, 10 Oct 2019 03:08:09 GMT + Content-Length: + - '874' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [ + { + "type": "dns-01", + "url": "/chalZ/2fYgNoiFwVWcqTULeSqdN1ggZt4cYuCVAfVEdsEJaH4", + "token": "DtYTgFfXRLwl8v_d7IVgsAprLTTwROdJ_TAR1dTW4cw", + "status": "pending" + }, + { + "type": "tls-alpn-01", + "url": "/chalZ/bB4q9IzLykUE1Kt6GvkGRa3Xo7X7rTYopVTz4HgtOtE", + "token": "i4kRIFQPxVg_0oT8YJ5umFdeH6wqBf16oUCksoAUWUw", + "status": "pending" + }, + { + "type": "http-01", + "url": "/chalZ/0LKVDwWPXZzqegCfss6nLTVTJcqUMi6DW6TL6hyztXc", + "token": "YS78P5G5H-FKLYzJML10rkHt7gPpIrEl-NC-etZ6T5A", + "status": "pending" + } + ], + "expires": "2019-10-10T04:08:09Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:09 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/authorization_reload.yml ruby-acme-client-2.0.6/spec/cassettes/authorization_reload.yml --- ruby-acme-client-2.0.5/spec/cassettes/authorization_reload.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/authorization_reload.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,308 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:09 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:10 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - 8DmHt4kkr51_IN_kTIR8Ag + Date: + - Thu, 10 Oct 2019 03:08:10 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:10 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiOERtSHQ0a2tyNTFfSU5fa1RJUjhBZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMzg0Iiwia3R5IjoiRUMiLCJ4IjoiUGV0bjEyejI3UzRhU2tJQ2xfR0ptSlotbUYxU1JCQ0VVdERwMTU5a0lJQXdveUdrRDVnQlB3cWtrOUZ5UFRTZCIsInkiOiJ4aW5TR3UycUVwQmxFbGlPbnVMRnQ2UXZEd0Y1TUZfam02UHlRakFqNXF3b0w3ZTUyV0p2VDlEM2xWS3VCVVZLIn19","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"Ik6EPVY_NGzD9B6HikvAJcLSEknP7o_7_eDFXoekjZYisWnyrMwnj1Pt3qrKAB7MsxMvsuxz2WfTOPzx2W4SeffFqp0FWh52H5-0VIDgi7syPmuYG9N6odRuuiqlWfSY"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/46" + Replay-Nonce: + - RkUmIY2y5Z33v8Wsyhd9LQ + Date: + - Thu, 10 Oct 2019 03:08:10 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/46", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "Petn12z27S4aSkICl_GJmJZ-mF1SRBCEUtDp159kIIAwoyGkD5gBPwqkk9FyPTSd", + "y": "xinSGu2qEpBlEliOnuLFt6QvDwF5MF_jm6PyQjAj5qwoL7e52WJvT9D3lVKuBUVK" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:10 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiUmtVbUlZMnk1WjMzdjhXc3loZDlMUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC80NiJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"-c0oj6NrN-kcwzVAXJzP37rhCUxfwetr6B6I5tgb4M1U3_jIXQ4VXbt4IqQD_Dgca_xHXTNqJl3Wn85T3KoapHWBzqWoR2M5N4xsFAHvvqyaQNHxSH07f53cE3WUt47Z"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/xc1AWrQAsoIT011HHiwMTq0uiOogzqHFMr2O9UeiCUU" + Replay-Nonce: + - GYPBS14BluY6HeWQg06hJg + Date: + - Thu, 10 Oct 2019 03:08:10 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:10Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/xc1AWrQAsoIT011HHiwMTq0uiOogzqHFMr2O9UeiCUU", + "authorizations": [ + "/authZ/hqP5_1LOgTHU_3OEyBy5cDLSmuOMNlRanFjyvFbPgFg" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:10 GMT +- request: + method: post + uri: "/authZ/hqP5_1LOgTHU_3OEyBy5cDLSmuOMNlRanFjyvFbPgFg" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiR1lQQlMxNEJsdVk2SGVXUWcwNmhKZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi9ocVA1XzFMT2dUSFVfM09FeUJ5NWNETFNtdU9NTmxSYW5Ganl2RmJQZ0ZnIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNDYifQ","payload":"","signature":"ZQgahvCV26cAmkXg-z9kzicpSXvVLFBMrU8UxlnHRdZYjM_lMmcQJdxxb62qbg4D2tBOcvPuK4GanOKZEx5m8HzT_dc-5GXscfLyyOZP-z_p8X2PclLTxNNNFfQ1q4hx"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - pDq7FvzecqigZI7FzlSD8g + Date: + - Thu, 10 Oct 2019 03:08:10 GMT + Content-Length: + - '874' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [ + { + "type": "dns-01", + "url": "/chalZ/DS-p0SNlEa8e5plN6Yqae51bGzy9AVwXu24ezKN82qA", + "token": "E0whvlyCUKKm-J9sQyLsLQahnO7cRx7n_5M3GWirROU", + "status": "pending" + }, + { + "type": "http-01", + "url": "/chalZ/mVPl5lWTTEWoMJiFFaube-XxZPjRQS02dKf5hVBQxAw", + "token": "hFcY1WnGt21mXZO-yqA7DieFcee-0hRJ6KFPeeiaVEI", + "status": "pending" + }, + { + "type": "tls-alpn-01", + "url": "/chalZ/fWghE0Mncc-DTTWiuSRRr1HqRe9KVLF2jCr2TS_jEI4", + "token": "pL9AetNfeEyxQpMbjQiH1986RbICvvq_Fyi4bq-mVGQ", + "status": "pending" + } + ], + "expires": "2019-10-10T04:08:10Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:10 GMT +- request: + method: post + uri: "/authZ/hqP5_1LOgTHU_3OEyBy5cDLSmuOMNlRanFjyvFbPgFg" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoicERxN0Z2emVjcWlnWkk3RnpsU0Q4ZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi9ocVA1XzFMT2dUSFVfM09FeUJ5NWNETFNtdU9NTmxSYW5Ganl2RmJQZ0ZnIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNDYifQ","payload":"","signature":"_U9c5lO1_A5HLD6edR-vcgnd2QD4IP3pjS2xegKDe155fpsJm6JpVIfeTbl3aoxci6XakNZAMF8ZiYQHb3JC9YdYX1STLGxGnwEDVMloEp_S0AycGdctG6IM0OG6OXSB"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - y2Ma3Qbvi6t_tBceBvmKJw + Date: + - Thu, 10 Oct 2019 03:08:10 GMT + Content-Length: + - '874' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [ + { + "type": "tls-alpn-01", + "url": "/chalZ/fWghE0Mncc-DTTWiuSRRr1HqRe9KVLF2jCr2TS_jEI4", + "token": "pL9AetNfeEyxQpMbjQiH1986RbICvvq_Fyi4bq-mVGQ", + "status": "pending" + }, + { + "type": "dns-01", + "url": "/chalZ/DS-p0SNlEa8e5plN6Yqae51bGzy9AVwXu24ezKN82qA", + "token": "E0whvlyCUKKm-J9sQyLsLQahnO7cRx7n_5M3GWirROU", + "status": "pending" + }, + { + "type": "http-01", + "url": "/chalZ/mVPl5lWTTEWoMJiFFaube-XxZPjRQS02dKf5hVBQxAw", + "token": "hFcY1WnGt21mXZO-yqA7DieFcee-0hRJ6KFPeeiaVEI", + "status": "pending" + } + ], + "expires": "2019-10-10T04:08:10Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:10 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/certificate_download.yml ruby-acme-client-2.0.6/spec/cassettes/certificate_download.yml --- ruby-acme-client-2.0.5/spec/cassettes/certificate_download.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/certificate_download.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,468 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:16 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:16 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - sjNfL_YgnC49g9xcA_saIQ + Date: + - Thu, 10 Oct 2019 03:08:16 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:16 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoic2pOZkxfWWduQzQ5Zzl4Y0Ffc2FJUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6InRjU1pqb3RUTURFMmRQN1E2N2NUS3RhSnlFdDQzUUltaGoxLW40ZjNBTy1SelJBUEN3WDU0M1pzcjBRcXQzUHI1NXI1Y28wS09aUVl5LUpScVQ5YkFZVGFLMmdDY0xjSFpZRV9NTDZabDFzSVRUb29VMEpDX05JTHFqMjRQUUFleXdGQlVxc1FQYVVzQjl3d0ZZMnltdlB5ajg4MmdYc0ZXX2RZZTA0TUE0b3VwdXdBN19MMDFiZHhkT1JiM0h4MDRnOHVmcUF6Vi1qeHNrYlppdUZiUDBYdjNEd2VWcHNGNl9HV1Z0eHJvMm1Wc3N4dU9XN2FUYml3UDZBUlhQcnppM1prSG1OZEF6WG82RWthNTlGSHV6MVFCTkFleXV4SEx5SDNTZ1FkeG0yXzYxSGdKME9sV3RxSzA2akxIT2tuVGkzQUVReFRsVTFVNHVBZXRNQmt6USJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"Ld_nPc-sKOArz9XiHh5Bp8IVwIu0Yp3-s82_jn5ET1Z39XU4F0YEEzJa-iiyxxjTZ37ZuoEDpRjrPjbVV010vH0hFZoPgGJrggsQi2B6RJyEvfawo-ENG22YyTv2dF8t9ERm7XJFJlEvjzAlLuiOWiwkptDND7SCyZAsALn6wmPz6nHPGUYp8k_IiGE8aFLU2ugWfMSf5OoLkiE8fb3qBNh4kbriaYNWPR97xzptkVcZQhPQArPb20k5ZSkHiMVu17hMfcAtNq1gQYbh6AGv3qiGVks3DFpJzlTgz-c-nQ7yUKnvP25wLjdDNs_OvQ557o3qtGGLZDGt6QdOuyTEQg"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/62" + Replay-Nonce: + - 6f5Dk-kRAgCBUguhejRIyQ + Date: + - Thu, 10 Oct 2019 03:08:16 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/62", + "key": { + "kty": "RSA", + "n": "tcSZjotTMDE2dP7Q67cTKtaJyEt43QImhj1-n4f3AO-RzRAPCwX543Zsr0Qqt3Pr55r5co0KOZQYy-JRqT9bAYTaK2gCcLcHZYE_ML6Zl1sITTooU0JC_NILqj24PQAeywFBUqsQPaUsB9wwFY2ymvPyj882gXsFW_dYe04MA4oupuwA7_L01bdxdORb3Hx04g8ufqAzV-jxskbZiuFbP0Xv3DweVpsF6_GWVtxro2mVssxuOW7aTbiwP6ARXPrzi3ZkHmNdAzXo6Eka59FHuz1QBNAeyuxHLyH3SgQdxm2_61HgJ0OlWtqK06jLHOknTi3AEQxTlU1U4uAetMBkzQ", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:16 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiNmY1RGsta1JBZ0NCVWd1aGVqUkl5USIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC82MiJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"lyxdT6pr7yQPbaIGjfZlUF31S4eSDezNEcLlcZHLdC9RCdlpkAfZSC3CImhgNZfKPRkcvxz-PkLBMNYd2tZVw8giKaaV3aa_h2o9Q2vl4Z7TSJ1ZDtTAyTe2JWuqrbW-Uz0Tlx8Ck6OftNmqlqS9yynSs4tSRdn4Tro5GAeCwTAdJFCiA3ZqdU_ZnBg3xr9u2N80pIY16HJVfhT9covYIDc-xSC6qQOatWXPsx-FdDhhcF5dsMrOpEl4RezM6mHcapWyweR1-zKytYHycyCf9JKKDaWv7YB0l2yRHYMqSMmZe-fTYDsrrxvVmcrzP_lhQD3z2wF9qG5Xjt7T1RPzzw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/g1iU4KfhVBp2TEhozuYpQl4lPB1nze--DKew6Qt8dEk" + Replay-Nonce: + - uhUATCsfTovyOrEcY_GG-Q + Date: + - Thu, 10 Oct 2019 03:08:16 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:16Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/g1iU4KfhVBp2TEhozuYpQl4lPB1nze--DKew6Qt8dEk", + "authorizations": [ + "/authZ/kDkxDA3h7IwJZN6H_zbj2Z7csGk_HDJ4NcftQP6Q-oc" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:16 GMT +- request: + method: post + uri: "/authZ/kDkxDA3h7IwJZN6H_zbj2Z7csGk_HDJ4NcftQP6Q-oc" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoidWhVQVRDc2ZUb3Z5T3JFY1lfR0ctUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi9rRGt4REEzaDdJd0paTjZIX3piajJaN2NzR2tfSERKNE5jZnRRUDZRLW9jIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNjIifQ","payload":"","signature":"r_Oc3Wx3YYfn61TJjm-YOcPTuSymxCRnaUtJg_cGWz1WdyJMIifhBRDL8M1ht0X5n159cKI7lTrI9vSQWeRQpuWrIufU4qskVaHssSGE1MnPhYEMujno2PWt53hSXndr9Yi3WlS27lwi3RbuoLSwSDhA5lfLCDuVD4ep8nYuhGk3bF7oXnugdSNhDIu5e8Uy9VzGko9ye6Kkpq8V6vOLoeZC8mMlV2VKl_0_GKjaOwyPM2-mhhYLzTBd4h18GPzJkvyihVJua8Wbtu3hQmqsO-tVxTaLxXzsN7qQZjFfJ0eqNafbD127f25AgcNHaYZ63-Xo_xUkYvoeQvigZX92uQ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - NwvHdGqPOaaAcGHhIyEnMg + Date: + - Thu, 10 Oct 2019 03:08:16 GMT + Content-Length: + - '874' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [ + { + "type": "tls-alpn-01", + "url": "/chalZ/6JSpO0u0muFr1tRa_uvvJi9SdD_wEnWcJ6HW4Ke9ugU", + "token": "apcWTbuUVPjf4MwOdHGMtqgorR7qXcTGBVaGpqtW9hY", + "status": "pending" + }, + { + "type": "http-01", + "url": "/chalZ/59W7Vfxr-JHTLsK8J4Nwg8iCFNgA9FGVvwlGH9bo_Lw", + "token": "cJKXCm4d960dASmMBvtNSjhKclTSacjPzlJeAzDcdpI", + "status": "pending" + }, + { + "type": "dns-01", + "url": "/chalZ/jr17Ciwx4dtnIQFLVJIM0W1Yat5vHEMnbHR8qAmIjy4", + "token": "fXRVB5wTdM5VjpxPIcwra7yW7FPACYkikopWmAlFXco", + "status": "pending" + } + ], + "expires": "2019-10-10T04:08:16Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:16 GMT +- request: + method: post + uri: "/chalZ/59W7Vfxr-JHTLsK8J4Nwg8iCFNgA9FGVvwlGH9bo_Lw" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiTnd2SGRHcVBPYWFBY0dIaEl5RW5NZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9jaGFsWi81OVc3VmZ4ci1KSFRMc0s4SjROd2c4aUNGTmdBOUZHVnZ3bEdIOWJvX0x3Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNjIifQ","payload":"e30","signature":"Fgo6js43LQ3kI6HQ9Bi_yfOMfOO2JoSUr77mm1h164dsS9qig9eaunViRvVF6XabavHRFTZQqTelruABIP1dhD8jCOIGEnuk9VKQPr7LwGcv8oqTXijyw6WBSxJDdAajN26uQzA3Jj6cQ_d4W-YQIg4z7T2OForbEcULMVpBC2z9RrXn2ZVi0ryWCRUjo8Fvy0YB9fK21jraRiIMZ4YNv0_G2bxFxmh0Jl01pZZXJG3MSlBWQ2XBtgNzIFGkcUJ9xNd2BzvU6ZEO-RkFJEUa6q7r-8y44gMILqKUVV1E0Fa1VxKLa1K-j4MQqXucyhpnQcBdGcgdVWDIsrx-2HMxdA"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - </authZ/kDkxDA3h7IwJZN6H_zbj2Z7csGk_HDJ4NcftQP6Q-oc>;rel="up" + - <>;rel="index" + Replay-Nonce: + - dz3OZRmgoEGt2ruXJ6u8Yg + Date: + - Thu, 10 Oct 2019 03:08:16 GMT + Content-Length: + - '198' + body: + encoding: UTF-8 + string: |- + { + "type": "http-01", + "url": "/chalZ/59W7Vfxr-JHTLsK8J4Nwg8iCFNgA9FGVvwlGH9bo_Lw", + "token": "cJKXCm4d960dASmMBvtNSjhKclTSacjPzlJeAzDcdpI", + "status": "pending" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:16 GMT +- request: + method: post + uri: "/finalize-order/g1iU4KfhVBp2TEhozuYpQl4lPB1nze--DKew6Qt8dEk" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiZHozT1pSbWdvRUd0MnJ1WEo2dThZZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9maW5hbGl6ZS1vcmRlci9nMWlVNEtmaFZCcDJURWhvenVZcFFsNGxQQjFuemUtLURLZXc2UXQ4ZEVrIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNjIifQ","payload":"eyJjc3IiOiJNSUlDaERDQ0FXd0NBUUl3RmpFVU1CSUdBMVVFQXd3TFpYaGhiWEJzWlM1amIyMHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFERUp4bmQ2dzJHOHIweVhtWmV0RHRMTVRIVEoydjBKTExXdThwWWhYUmJvSVctZl9Zd3hiZ1EzUEQtUGFUaHltRzFHMXpvTWtQT2VGZm41MG5WWXhwc0s5V0Z1MVdSeDc5R2NSZXA5c3dHbjdPVVJlaVBXQm1xaWZjSnpvY0tkbnRjZFhjX2FVdWszcC1tUXYybTVBbW5pTlE4YUhMbXE5a2t4V3ViWnQxMUFqTk9wVVZKemQ0SzhSaHNSZWdCMzdDX3lQaEtIYmo0ZXI3amFsMGY0dkdzeWJaT0l2TzRwN2kwdFZyR2RkcTZOS0R0UmxibkxZRGprY285UmtMWWh5ZGdrbjZ0LWlnRXd0TEZMc1VuNmw3NE1qTU9mb2g2TTQtQzJjd0pqcTZ5dnMtUy1OeWlrX0xsOFR2cXBMdFM0azRWLU54dkhSZkhJalJsU0ZwakJPUFhBZ01CQUFHZ0tUQW5CZ2txaGtpRzl3MEJDUTR4R2pBWU1CWUdBMVVkRVFRUE1BMkNDMlY0WVcxd2JHVXVZMjl0TUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFDb2RKS1pFUk5LMWs0MFdUNGJrbWo1WDlPZHNYS1Y0S3o3dVNtTEdRemkxblBrNEJ5N09IX04yNHZ6SXZVbGVUZXdvMnNvZEstREFrNFRNSVpkSHplcksweHVjRy1QdEVERnZnTVNkWUs5ZmxzTFh2T1d0Vnk1X29LbXNxYnpydDRVem9yTXpjVEVLV0hBazFIWHJoYWVZbF9lSlZucWMtclcwMENlelN5TUJtamEwMGFSY2xjY05mUmdkSl9STkF4X01KdE5tWDgxeHo2UElHUlB3RC10blIzYWlpTkpuLXg5QWJoNWhVTTlxTzVnYnUzY2pDd01WVkJpdkFvZXNkQW5zN1Z3ODc2aHgzODVWNHR2Rkx1UTZ4Ni1FRlhJTUdWZHdZQzFyX29wNGFjRXVjRi1MN1M1dmpfX3h1U1hoeVE5a0ZJaXFNYmNFaDB1V18ydjRBdW0ifQ","signature":"qi303cl4x2OtQ8oqLtt819RIu6kw-ucY2NhJinWtj9Nr7nZpEZ5JvOSfh0VDJdpGnxrfdTgZoc_iA1Qz6HQcrtOoE8gKIUuAmjUNqho33xu0NMH4VrHhwr_0YuVxLEgH4tCxxegFFDp_VajHIGw3ac5vUukwSPp8p3T4lnaoJ2t5ShTcS2J1C_tII908w5nJvPJLDRq7Iu4As0f0hoSuB2kCuhcqB9N8qdrJ3DIPglVr4yserdmpAh8Vhf7tGh5yW5CxnqKuttN_NBlokmahSmAXCpsjSdqKfsdhDnFBgSrZUMnZtO1ejq_3yQXedNjiDrNUAF2ApXWU-KLwovxSFw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/g1iU4KfhVBp2TEhozuYpQl4lPB1nze--DKew6Qt8dEk" + Replay-Nonce: + - 1mMUz9mx6DG1Re73JbiA2g + Date: + - Thu, 10 Oct 2019 03:08:17 GMT + Content-Length: + - '385' + body: + encoding: UTF-8 + string: |- + { + "status": "processing", + "expires": "2019-10-11T03:08:16Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/g1iU4KfhVBp2TEhozuYpQl4lPB1nze--DKew6Qt8dEk", + "authorizations": [ + "/authZ/kDkxDA3h7IwJZN6H_zbj2Z7csGk_HDJ4NcftQP6Q-oc" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:17 GMT +- request: + method: post + uri: "/my-order/g1iU4KfhVBp2TEhozuYpQl4lPB1nze--DKew6Qt8dEk" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiMW1NVXo5bXg2REcxUmU3M0piaUEyZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1vcmRlci9nMWlVNEtmaFZCcDJURWhvenVZcFFsNGxQQjFuemUtLURLZXc2UXQ4ZEVrIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNjIifQ","payload":"","signature":"LuB3JZdpgYE0NyNWS-vJo3MsFdv11X-aHMCEV4LouRFxzsAtMKL-P_cvH4_eT4esSZzbWU1yzJdxsl5Jw4t6WEu1ZDSbrNV-TYPopXwCDKYyAeo1ENjTh6XLRUagWD8uHPC0sP2SYphyNAcWtwaGlCGH-_9mviTUeze4M95-PG5WuRe6pdecB25eN6kE7tQe5EOIR_HuWqqpKCIR1IYOQ2_rwetKDIrm2PuzLGANAvdj6bNj9dBbxlIUWSAmDezFxn1v3snLlTWb16Ts1Cn7pINHVIuFhaf_3pyY0LxaH9qhHz8At4mjxDsxFy-lJZC3TEwOkOHjktRM2yKEjsDydg"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - XjdhhoqUC8ys775aMoaF3g + Date: + - Thu, 10 Oct 2019 03:08:17 GMT + Content-Length: + - '452' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "expires": "2019-10-11T03:08:16Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/g1iU4KfhVBp2TEhozuYpQl4lPB1nze--DKew6Qt8dEk", + "authorizations": [ + "/authZ/kDkxDA3h7IwJZN6H_zbj2Z7csGk_HDJ4NcftQP6Q-oc" + ], + "certificate": "/certZ/5626b60eb68e2dbe" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:17 GMT +- request: + method: post + uri: "/certZ/5626b60eb68e2dbe" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiWGpkaGhvcVVDOHlzNzc1YU1vYUYzZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9jZXJ0Wi81NjI2YjYwZWI2OGUyZGJlIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNjIifQ","payload":"","signature":"pMfijDLa3LhK-IJ8dGVVjEwnVH3d3QGFwjlVzH6WEyzFv-tYLTQIVqORAQi-03Bgb2MW8Bi1t-AOBtFQ7o5V9fMPLV5mu7YRFfBJQWsvezKdwxEsjuDD2CP8yQZY1U-fHpr6k8WSB-rTvDlQjU3FTrQkww-9WRNaKmTRUK3cPKob-UNg3BUCPgsz8dY486oG9tJLmzhoKXwYqoazk0quLBZ19_qxNoqo1MbXEhIIcqdngZjmaAQ29iaiiImebs4729m2f1eUdQHcs2N0cdsrtXfwy8diQrOV1-K279vunF85zwl1ZxGodHJo0PPvkAJtAIahg0tD1EodXmolvwpFvA"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - application/pem-certificate-chain + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/pem-certificate-chain; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - pygfaVI3gzzBT9Za9u2hvw + Date: + - Thu, 10 Oct 2019 03:08:17 GMT + Transfer-Encoding: + - chunked + body: + encoding: UTF-8 + string: | + -----BEGIN CERTIFICATE----- + MIIDWTCCAkGgAwIBAgIIVia2DraOLb4wDQYJKoZIhvcNAQELBQAwKDEmMCQGA1UE + AxMdUGViYmxlIEludGVybWVkaWF0ZSBDQSA2Nzk0NDAwHhcNMTkxMDEwMDMwODE3 + WhcNMjQxMDEwMDMwODE3WjAWMRQwEgYDVQQDEwtleGFtcGxlLmNvbTCCASIwDQYJ + KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMQnGd3rDYbyvTJeZl60O0sxMdMna/Qk + sta7yliFdFughb5/9jDFuBDc8P49pOHKYbUbXOgyQ854V+fnSdVjGmwr1YW7VZHH + v0ZxF6n2zAafs5RF6I9YGaqJ9wnOhwp2e1x1dz9pS6Ten6ZC/abkCaeI1Dxocuar + 2STFa5tm3XUCM06lRUnN3grxGGxF6AHfsL/I+EoduPh6vuNqXR/i8azJtk4i87in + uLS1WsZ12ro0oO1GVuctgOORyj1GQtiHJ2CSfq36KATC0sUuxSfqXvgyMw5+iHoz + j4LZzAmOrrK+z5L43KKT8uXxO+qku1LiThX43G8dF8ciNGVIWmME49cCAwEAAaOB + mDCBlTAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUF + BwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFAfAEkQ6UAGSjyzqImsir2+KylQa + MB8GA1UdIwQYMBaAFIiN1hLypsnm8KWVi3ItK0Unjae0MBYGA1UdEQQPMA2CC2V4 + YW1wbGUuY29tMA0GCSqGSIb3DQEBCwUAA4IBAQBeF+1gIU76rjruiiefWLU8bdhd + VYzAoGI0/o3J+R5Q5IRkZxx3lEn/mUCkXed7iqfm5fq6Xd3ZcL0x29lsR7ppZo0J + x76XwOq2mePLpQJaQ4V7pD9ahVHILHhOxhetp6l40VE8KuHg2Qlwn8S+ZTOp+6f0 + LnXvxPT0zcnwsmqIELVv3y5NNetFj87AaLOtYCPRKRV7ACXVMHj6Jcfupi/Zsk37 + rGEIp580kx3KgsEm4pUOYNx1oEOcp1dsNoIiw1ZOTdt3Q/ZxqgXNlDVQyk5QCXcB + iPbXJtPdDZja/DeM+22K8wEoUSrcSdPNOYzV8gdrVYhVJskL7uZeWBkov+iH + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIDTjCCAjagAwIBAgIIH8F+H5a3JeIwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UE + AxMVUGViYmxlIFJvb3QgQ0EgM2E1OTY4MB4XDTE5MTAxMDAzMDU0MloXDTQ5MTAx + MDAzMDU0MlowKDEmMCQGA1UEAxMdUGViYmxlIEludGVybWVkaWF0ZSBDQSA2Nzk0 + NDAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1TkMbn1tCv0QXFen5 + Was596VScGyD0ifqoq4/kb4WQ/debH8coZzz9pVKTPbZySY/X1ltStYBI/2GdIZg + t/uw9hOW7ko2Agy4bcd6tD9S+eZK4F3rH1EJutUjuq9WLmmckT8PJEbToazvDTL2 + v9YGcf56v0SCuCYQshNlx5ECKb7kWWqy5D6OzJPB24BRFX7MTD8ckkdhQmzafyI7 + vVkDrHFUZslx1BUQ6lfJEy0mi/UmTgxrjPwTfe5UWF6N3AZDEUng8eWAnKW9px2g + 5qTUShGMZG6E6OkFHX6rmT3MVuO+rWVpyW1zKbWxvlcAyyBR91Ju6tsJFF/1Y9t+ + +XHPAgMBAAGjgYMwgYAwDgYDVR0PAQH/BAQDAgKEMB0GA1UdJQQWMBQGCCsGAQUF + BwMBBggrBgEFBQcDAjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSIjdYS8qbJ + 5vCllYtyLStFJ42ntDAfBgNVHSMEGDAWgBQECikuQVoCg4iOTz+f+0K8SqRdsDAN + BgkqhkiG9w0BAQsFAAOCAQEAeyRyz24bmQqWGYXkM02ZWHlom1FNXVtfNOlzgzjC + 8sUbFYJDaXefS7x1KJwGparNWmn0jopBrSjOJLCDDphqk1DcS2YPu+7CcyodXyGw + CxRSe7gYGx6I0Z/wReeb5rscJ21kJK30Tt3z2hLXWBkxfdcHit3JNLn3HA5HQRph + HUr3EUzoFHfNCBecY8lWkmLeN39I0MMCis49DTact6M1jT+q1c+MzjuWO+Bst6mr + 6RebdTn4monMOHvmbaVR7+klY05dMjatBF5gV7sf8mPJwUZP5NnEcTLe6zgb+dh4 + kDc7qJ6UvkuoDJmbHeSd27GdCJfK+nwc49UG/Fmd8+Zeyg== + -----END CERTIFICATE----- + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:17 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/challenge_key_authorization.yml ruby-acme-client-2.0.6/spec/cassettes/challenge_key_authorization.yml --- ruby-acme-client-2.0.5/spec/cassettes/challenge_key_authorization.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/challenge_key_authorization.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,243 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:25 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:25 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - 1uet0IOxo1fmy8mHSH9h4A + Date: + - Thu, 10 Oct 2019 03:08:25 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:25 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiMXVldDBJT3hvMWZteThtSFNIOWg0QSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMzg0Iiwia3R5IjoiRUMiLCJ4IjoiU3dibGZpLXRsQ29uVGdETGowd1U2eWY2VGNZV1NZVjZQSElCR2JVWVdHWktmbnZlcXRBSXNaTnNheUgxS3lINiIsInkiOiJQR3FIMHpKaFRaLWZQS1pab0RXS3lSdFVQS285d2l1ODc1blBDNll6LVZqTVphdmxJbnlZcXViYTZRZFloZXJqIn19","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"19RIwlHj0OByZABM57jm-ap5P64UpD991D0Vtwr4ZECNKjc2HjjCce4H1GxMv9D9XkNJ1iOFy2dfmu9ind8awluNGsxzM2hQVgoU9udfTKQoTNjjsmKHW7of4IsMSY42"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/78" + Replay-Nonce: + - HH3i7erQdQtYF4uZ-Bwd1Q + Date: + - Thu, 10 Oct 2019 03:08:25 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/78", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "Swblfi-tlConTgDLj0wU6yf6TcYWSYV6PHIBGbUYWGZKfnveqtAIsZNsayH1KyH6", + "y": "PGqH0zJhTZ-fPKZZoDWKyRtUPKo9wiu875nPC6Yz-VjMZavlInyYquba6QdYherj" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:25 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiSEgzaTdlclFkUXRZRjR1Wi1Cd2QxUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC83OCJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"fpepD5SuO7amQBZlPfqQVdGotg3sbChsfzP6gpEwy9YSnbgzE4DanMx6rRIEtWXjHa8_LDu3dAkyPEBK1Dv65sD9spGtLKsknR9HBOjvfrYrG3gSOewCCnwFp1W5ThOQ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/z2hgt4gxxh4BXCK-dfSBZbGUypaBwkNgcCAWymVOGgA" + Replay-Nonce: + - gJZR_q0rpplZmWoRMZb1-g + Date: + - Thu, 10 Oct 2019 03:08:25 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:25Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/z2hgt4gxxh4BXCK-dfSBZbGUypaBwkNgcCAWymVOGgA", + "authorizations": [ + "/authZ/JClXa41a_GoUO7fIdWgcZgUAeXqFQg5NPRPAPlmjubU" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:25 GMT +- request: + method: post + uri: "/authZ/JClXa41a_GoUO7fIdWgcZgUAeXqFQg5NPRPAPlmjubU" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiZ0paUl9xMHJwcGxabVdvUk1aYjEtZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi9KQ2xYYTQxYV9Hb1VPN2ZJZFdnY1pnVUFlWHFGUWc1TlBSUEFQbG1qdWJVIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNzgifQ","payload":"","signature":"dmRnymnQlLJ8I1e1HcS0jJ28kj3NF0k6pgtomUBtfvBE65CGzdHVBAMFaODwydIvgFBGG1aOKpCBmD-_VYycZPxue5vGy4DbVb9GwQt16R4S6rhAyh5D5fYEMKW4YrTY"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - j57YiNaq0dB580yTxcKM9g + Date: + - Thu, 10 Oct 2019 03:08:25 GMT + Content-Length: + - '874' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [ + { + "type": "tls-alpn-01", + "url": "/chalZ/wex9skdk0z1o9Q8JhdqF7OEgznaAuzCcBWcjf8pbUEE", + "token": "iqJmhmRdreeAdLrBNiFoMsidzOICIkcz6WXyxx7bJWY", + "status": "pending" + }, + { + "type": "http-01", + "url": "/chalZ/rbfVhgYP1XAEUnfA7Bv6M8RaHJvacY8_YD937Wjh4gk", + "token": "epEnxX7EFrmkgIXf0TceX7-6KUqmIfMvn3vBzDTXGUA", + "status": "pending" + }, + { + "type": "dns-01", + "url": "/chalZ/lxlgaZmQ-nTpXB2yVqJ8deHx29z0LRVPgd9z17mlys4", + "token": "HpKtXPjeoM1d3sWl7KIde9eR6huX03DWxz2Tx8Z4H08", + "status": "pending" + } + ], + "expires": "2019-10-10T04:08:25Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:25 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/challenge_reload.yml ruby-acme-client-2.0.6/spec/cassettes/challenge_reload.yml --- ruby-acme-client-2.0.5/spec/cassettes/challenge_reload.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/challenge_reload.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,286 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:27 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:27 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - Hi2XaqmZRBtPAZWUNScLHw + Date: + - Thu, 10 Oct 2019 03:08:27 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:27 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiSGkyWGFxbVpSQnRQQVpXVU5TY0xIdyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMjU2Iiwia3R5IjoiRUMiLCJ4IjoiOURlQkxsQ2xHX1g1c1ItLXpLUk5weDhtcExwZG5hRlhQOVJEWjVNUlBoOCIsInkiOiJJenFJcmttQ2tjeE9oMEgxVmczWTBjcm9CcHYzamotcWtXcWt5VFhOQnVFIn19","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"03DfNcoZaWj38-q9GCeTjVnz6VXRXURke8OSyjZCi8zhWzm5XXu8N0ljU7FZPyMaaOgbwwJjJNDCa4zPeKOtdQ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/81" + Replay-Nonce: + - NmFqvyjKMSoqXHw5ava5Dg + Date: + - Thu, 10 Oct 2019 03:08:27 GMT + Content-Length: + - '311' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/81", + "key": { + "kty": "EC", + "crv": "P-256", + "x": "9DeBLlClG_X5sR--zKRNpx8mpLpdnaFXP9RDZ5MRPh8", + "y": "IzqIrkmCkcxOh0H1Vg3Y0croBpv3jj-qkWqkyTXNBuE" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:27 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiTm1GcXZ5aktNU29xWEh3NWF2YTVEZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC84MSJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"DzgUyqWR4WNo2SHkdwTSLjLFPhsPeIeEgoFtYf5NP2iSEs7mvDjFJ-c83L4la6NFu_BzAHvS_zEx3Ux-zKhn6A"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/EVfGqPMKUgaxHS8EtW2ce9XhFF1HxoJKEVPaCmW_se8" + Replay-Nonce: + - bQbFamRlE6cDgVpvhrzK8g + Date: + - Thu, 10 Oct 2019 03:08:27 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:27Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/EVfGqPMKUgaxHS8EtW2ce9XhFF1HxoJKEVPaCmW_se8", + "authorizations": [ + "/authZ/_s5ty6FvKJRTLPB4SU37CF9AzHu0n67qqoxkHXHVgBI" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:27 GMT +- request: + method: post + uri: "/authZ/_s5ty6FvKJRTLPB4SU37CF9AzHu0n67qqoxkHXHVgBI" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiYlFiRmFtUmxFNmNEZ1Zwdmhyeks4ZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi9fczV0eTZGdktKUlRMUEI0U1UzN0NGOUF6SHUwbjY3cXFveGtIWEhWZ0JJIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvODEifQ","payload":"","signature":"9z8v4ptoCg2nAOCQwFhs26r-3iMNRl922gxMwXqC_yBRQPQ9PJnpS6qb5QIII1X81GJQEQsvBP61Tppiu4QJCQ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - OhBg8mdN01gcxc66OSbCag + Date: + - Thu, 10 Oct 2019 03:08:27 GMT + Content-Length: + - '874' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [ + { + "type": "dns-01", + "url": "/chalZ/uMuD8VZ42GbBylupH_zQPccMQa02ksTMIAW4dbRZUNI", + "token": "K7_413C1RsswXE1uuE5B8GtyZB3jNMZalHba3-50skg", + "status": "pending" + }, + { + "type": "http-01", + "url": "/chalZ/EBQm415ptwxEyho50C0mV6yQqCNJABDsDvZBcVYOtB0", + "token": "IBKWRuMXlhlDdNvkD58oEoUpjWrKEWk7yeX1bUxWJ6M", + "status": "pending" + }, + { + "type": "tls-alpn-01", + "url": "/chalZ/s1egRAAbJ3Bf0JHxfPhrxzDIsEZWWZcTiUcJ41Py0zg", + "token": "tPH_Z1d1k-t2S54V6a5A7GPxJQZaHKjgJ-zAOgP3uqQ", + "status": "pending" + } + ], + "expires": "2019-10-10T04:08:27Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:27 GMT +- request: + method: post + uri: "/chalZ/EBQm415ptwxEyho50C0mV6yQqCNJABDsDvZBcVYOtB0" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiT2hCZzhtZE4wMWdjeGM2Nk9TYkNhZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9jaGFsWi9FQlFtNDE1cHR3eEV5aG81MEMwbVY2eVFxQ05KQUJEc0R2WkJjVllPdEIwIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvODEifQ","payload":"","signature":"ZYnhlQ17IPUaMVz_jLjbG4CdPb9u73WXNthaXoU7GzKvEQ_WSIZbXiP2SDNPHuUFP_c96VP_ikCPEbjA1ZNnLg"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - hBksXhN5SKbmmHSiviLZ9Q + Date: + - Thu, 10 Oct 2019 03:08:27 GMT + Content-Length: + - '198' + body: + encoding: UTF-8 + string: |- + { + "type": "http-01", + "url": "/chalZ/EBQm415ptwxEyho50C0mV6yQqCNJABDsDvZBcVYOtB0", + "token": "IBKWRuMXlhlDdNvkD58oEoUpjWrKEWk7yeX1bUxWJ6M", + "status": "pending" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:27 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/challenge_verify_failure.yml ruby-acme-client-2.0.6/spec/cassettes/challenge_verify_failure.yml --- ruby-acme-client-2.0.5/spec/cassettes/challenge_verify_failure.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/challenge_verify_failure.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,335 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:27 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:27 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - aOau2u4NfhksDPB74WHVuA + Date: + - Thu, 10 Oct 2019 03:08:27 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:27 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiYU9hdTJ1NE5maGtzRFBCNzRXSFZ1QSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6InhUd2YyZElQMzRHdG16Tk5BZk94bWlKQi02ZzhjT2NGOFFqTUZkaGdIVmliUjlzY0NMQXRRaUFMS2lTU1RjdUc3R1ZFdW5aUlUzVm1xcWI1TFJZTGdQdXRtUDBfT1JwSGxQQnlGNXVMT0d5UW94NFJmT1huZVk4OThUMkpXb2FkQ2pqN04zWVhVS3JWU0xiZ2lJZUF6WEpRTndaMWdMQVVxdlhKVlY4VXZReERQdTNkczY4amg0T05XV0pqbXVMamZyanZuakFmSTFVZjM0bnRmNjRzU3FaYVZQcXBLa2xHdEZjeHpvYXJmQVRsZm44QUJneTd0cng2VkFWem1VYmVPdUlZaUpvbGdqYkF5ODZ0ZFdZQ2lIVDdEVy1aQ2ZOWnplOFFOU09MekRzRXA1TUVTT1FtbjlhZHZVQUE1M2hNOHBZV2ZJTXY1cC02NnJOYjZnTU11dyJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"Wfl-0vihqhwps_plVjsJUS9_BvgaBG6L99rh5SAjaW__vqnSDd-aZx5hyOB_9pW2aKfju9owUM0gZE13TE3veWWE41q9insAH5hvciZ8NLF9AitTzx1U-Rb23K2DaEsqSkD3y3bMFIpijFlakMfYQvAiKaW5-z_WyLhcSJ7RJL-Sq0GiR6-XvKKwx2lphENK00bH5bxn_hwnVywaOQlchEn-I0oAnDh6aoPPvLnseB-BBOzFyZuMttIdjJ1pYpR-Za7myXULcWpf58gzIEq9wUbOaxAix0wV40502ixtv_TLig376d5DxWLtMmov89E-ynsco17FvcMueG8HSQk8BQ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/80" + Replay-Nonce: + - Szcb3TPj6xKJWMeAYWcCnQ + Date: + - Thu, 10 Oct 2019 03:08:27 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/80", + "key": { + "kty": "RSA", + "n": "xTwf2dIP34GtmzNNAfOxmiJB-6g8cOcF8QjMFdhgHVibR9scCLAtQiALKiSSTcuG7GVEunZRU3Vmqqb5LRYLgPutmP0_ORpHlPByF5uLOGyQox4RfOXneY898T2JWoadCjj7N3YXUKrVSLbgiIeAzXJQNwZ1gLAUqvXJVV8UvQxDPu3ds68jh4ONWWJjmuLjfrjvnjAfI1Uf34ntf64sSqZaVPqpKklGtFcxzoarfATlfn8ABgy7trx6VAVzmUbeOuIYiJolgjbAy86tdWYCiHT7DW-ZCfNZze8QNSOLzDsEp5MESOQmn9advUAA53hM8pYWfIMv5p-66rNb6gMMuw", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:27 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiU3pjYjNUUGo2eEtKV01lQVlXY0NuUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC84MCJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"eG7_iEDJRE532XKmQYmTg35ipy5FwnpyLYjAvLCajQO28Do_p4SfPNq9IMP_mxBK_pqdViJSWMpLy_Jt4fuCinenIqaiq9IsJ_XEQdM_AUZCYiG-mqSAMY4uAAftx4bTBVy4w9AxwZX0ofUXHb0IDppVD-9Y_SyMC9nyUTfJ8b7IA8BAHyuiHMYd3rqU5P6kw89apm0WDNPmBQPBGoyOgvEFpETR99IVhVQ1p7kqShWZhmavj89q6wivV5t8Gr3Vi5c_Sm_Ktb2WqL5FKg940UZ7G2HgaPDkRZxpSZaMafJHUQYCiKSbmffVNF7Ckru27YlXVdHlJy2i1hX6pvVuSw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/ABfFBx-lx1_hQjnnkiJN-zIL03aormeBuAa0PACIxao" + Replay-Nonce: + - SvA3hj_qpbkI9WEC_df9Tg + Date: + - Thu, 10 Oct 2019 03:08:27 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:27Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/ABfFBx-lx1_hQjnnkiJN-zIL03aormeBuAa0PACIxao", + "authorizations": [ + "/authZ/eovLzlwkOcXT-5SbD75u9USDRgRJorH74taxgIKvbww" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:27 GMT +- request: + method: post + uri: "/authZ/eovLzlwkOcXT-5SbD75u9USDRgRJorH74taxgIKvbww" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiU3ZBM2hqX3FwYmtJOVdFQ19kZjlUZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi9lb3ZMemx3a09jWFQtNVNiRDc1dTlVU0RSZ1JKb3JINzR0YXhnSUt2Ynd3Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvODAifQ","payload":"","signature":"ngrHsRhlr-ugudHTUlTUfOJjSUw8AxbMJBcTYiJqotTV6zIujx50pu8aTsH5rc2ZOjBhwPlPqiavjS9LRNROOSWgjv48aZKeTuA5QFxPM7LOcbpJyffBcCPqyF-5dN4qSwTDFSLkHVSJJ5Y-nMAT3K8V8I_xkHrjrKAD2XwsVT1ZVszyDOIisYdnRJyIzYtGYR5uBjw5lTMmvD19t8CqHmQ3u-OpvyqsM31VW0uCx5I2p1EtxB_PV5yL7TQX7lx0Bpges2PaXmSCspDtJUH6PaFK2lVyGn_GmwnvBqQpgUscPzxwj7Pr-9xNQvBwixLQyU5liYppyASljvrgk8Hweg"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - MO1ZZ9THGA_47O6c4hCrog + Date: + - Thu, 10 Oct 2019 03:08:27 GMT + Content-Length: + - '874' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [ + { + "type": "http-01", + "url": "/chalZ/I43-dMv8_NJheN5GIQLmbJsL5tzeUG0J4pOx1SHUbmQ", + "token": "hogtYco5d5T9p14e1cd_4dzhKuKae3iHPsKLHFUeQCY", + "status": "pending" + }, + { + "type": "dns-01", + "url": "/chalZ/3aqZ2-iNNFwbTRsTsP9A_c6MYe0mgsQOA8topXJhFq4", + "token": "PmBKpwww4De08wZhK_OfNQFwm3r2lPMzAPe5yYb3VSE", + "status": "pending" + }, + { + "type": "tls-alpn-01", + "url": "/chalZ/t5GTxGGGjDSiM-zDYLk2f1qiJdei-wvdrHDHZuTC2KA", + "token": "RUnoWYlKDhCA0XWcdViiT7iISSqMH4EQcwmE-9W3EDw", + "status": "pending" + } + ], + "expires": "2019-10-10T04:08:27Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:27 GMT +- request: + method: post + uri: "/chalZ/I43-dMv8_NJheN5GIQLmbJsL5tzeUG0J4pOx1SHUbmQ" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiTU8xWlo5VEhHQV80N082YzRoQ3JvZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9jaGFsWi9JNDMtZE12OF9OSmhlTjVHSVFMbWJKc0w1dHplVUcwSjRwT3gxU0hVYm1RIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvODAifQ","payload":"e30","signature":"PhO6XuTiphO5rAlhTMzS7M5bdsCt18FY0gXhFiYAArTzBgck9VwnPehbe9NbJ2uAyBjGtvmpsodBZGNNGQ3e-cIxyZOI9SckFm9xKY7yM57I_POO5TuHTqzWUCfZGPaMO4xt2LkEVrOssUXUmCAAhXhAjtgejicze0Uh8u48qSTtkfPd2gEewen-ZAidHeHTX6JEeSpoKba2xBxFVbCLDDadQMfT02n-8H73kcIlEB_iTy2md3Emw69Rqn0cNHb5XvWBU_OIXs5Oh3nE1hmfjvDkchVndNdVfPAiSfVeDqoohBvoNt0iTSFcTbLTG_PQ5q_gF0LVWE7MMEhpM3nkbA"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - </authZ/eovLzlwkOcXT-5SbD75u9USDRgRJorH74taxgIKvbww>;rel="up" + - <>;rel="index" + Replay-Nonce: + - MtM7BhXqj6Lg_M2smEHFjA + Date: + - Thu, 10 Oct 2019 03:08:27 GMT + Content-Length: + - '198' + body: + encoding: UTF-8 + string: |- + { + "type": "http-01", + "url": "/chalZ/I43-dMv8_NJheN5GIQLmbJsL5tzeUG0J4pOx1SHUbmQ", + "token": "hogtYco5d5T9p14e1cd_4dzhKuKae3iHPsKLHFUeQCY", + "status": "pending" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:27 GMT +- request: + method: post + uri: "/chalZ/I43-dMv8_NJheN5GIQLmbJsL5tzeUG0J4pOx1SHUbmQ" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiTXRNN0JoWHFqNkxnX00yc21FSEZqQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9jaGFsWi9JNDMtZE12OF9OSmhlTjVHSVFMbWJKc0w1dHplVUcwSjRwT3gxU0hVYm1RIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvODAifQ","payload":"","signature":"OOYg4nAy1VJG_CSBbTojCY8m_P05XvJMjL5EeJoQ6RXQMazEVnjpPrMky-Aa6jfS-B1JrxkjD5m8WOQNzvNlvGqG-BC8QQ9Ie71okQHdsbzFjIW1jkB0HRxY4nNTf90tBeBR1QxHCMIdVm7Ho6Smx53-Juqlfr0Rz_bLh9mol59fpmjymIOxYA1L2ik7ZpUq_sOTnet_kBOR2AKA7Krlw5FI9AsD8-nIbuQA3_iQYRe05egF6wadDrgvYFx_0HZBCfqQPxqACXbgjOyY_--fQWyCZTzWmM7-Nu1KwIgUQz2UmftX5Okt1HxYTBtibOie7Pa1Rgnx8O9Zbx1disN6aA"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - vFJfpGZr7xA-nbV6mc9gyA + Date: + - Thu, 10 Oct 2019 03:08:27 GMT + Content-Length: + - '236' + body: + encoding: UTF-8 + string: |- + { + "type": "http-01", + "url": "/chalZ/I43-dMv8_NJheN5GIQLmbJsL5tzeUG0J4pOx1SHUbmQ", + "token": "hogtYco5d5T9p14e1cd_4dzhKuKae3iHPsKLHFUeQCY", + "status": "invalid", + "validated": "2019-10-10T03:08:27Z", + "error": { + "type": "urn:ietf:params:acme:error:unauthorized", + "detail": "The key authorization file from the server did not match this challenge \"hogtYco5d5T9p14e1cd_4dzhKuKae3iHPsKLHFUeQCY.I43-dMv8_NJheN5GIQLmbJsL5tzeUG0J4pOx1SHUbmQ\" != \"hogtYco5d5T9p14e1cd_4dzhKuKae3iHPsKLHFUeQCY.I43-dMv8_NJheN5GIQLmbJsL5tzeUG0J4pOx1SHUbmQ-oops\"", + "status": 403 + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:27 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/challenge_verify_success.yml ruby-acme-client-2.0.6/spec/cassettes/challenge_verify_success.yml --- ruby-acme-client-2.0.5/spec/cassettes/challenge_verify_success.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/challenge_verify_success.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,330 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:26 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:26 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - vr74gN3U9hxWIeFoa4JCag + Date: + - Thu, 10 Oct 2019 03:08:26 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:26 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoidnI3NGdOM1U5aHhXSWVGb2E0SkNhZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6IngycmpPVTF2bWRUdVpZSGxPSDRneDl2V0tFMlhRM3dCZTQ5dkZGeW90NnFMT2VXeFZZZWFheFBCYXJ2VTBiWEM3LTdvYi03Und1ZndyTXZpRmlQTlVZMnFSUlVZTDctMHJzLTdyV29tYTV3VTFKSTluNFNFN0Nqa1RJYng5OGphc09GbEtHaHRleGJ0M2s4T3NEWllaNVVRVUNCYVBfc3R3ZTYxWjJ5OHFaajh5T3NfSFhKZndoVGM4MkpGVHRSQlZIajdDczhST0RweVQtSHdsaWVIRG5scGpoVU1OMUFBMVFsM3FhWlFsbVNZMUl6aFFLaXVyR3Y4dW5YTDFiMEpCQkhHWDRRWWtadnRweEcxblViZVdxYlMyYXNrUDV3RlZqc08xcWdJRDdFYlFUSTYwdGR0MFQ3N2hoTnZTbDRYMnJYSklMcVlrWFJCTkMtVUJ0am40USJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"iPs34vcKxtNu7h8W_dk_hT2X4q2IsSfLIsHOfBGGO04oOy7mxp2knA74Ui1FDihU-ap3COJK7R_d0tQ2MrtFXbrU9hPJcJD_Rf2crvenDw30_wc7_vLwGXWf80KaVs1ta1963rkemSkwbkZihERR-ifHCHi3G855bE8-LbeOrQMdB0VJrTqgOizAfbT1zSmpaHDpyje4w2EkQnSdagLS1SFke4A25qHUefcb_Cyp8kj3c5e_6AHtzsh_kA7u6ssbXURFR1mOMpiJXidf6ZTnJq2JBXiv5_eBF3K8eiJDQHi0MkNw1Sb20I1IY0L8YVxgt-PUTA-7z2cqT1hVQnyn_g"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/79" + Replay-Nonce: + - lruQ-MUOIKaYvqjeCHIgnw + Date: + - Thu, 10 Oct 2019 03:08:26 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/79", + "key": { + "kty": "RSA", + "n": "x2rjOU1vmdTuZYHlOH4gx9vWKE2XQ3wBe49vFFyot6qLOeWxVYeaaxPBarvU0bXC7-7ob-7RwufwrMviFiPNUY2qRRUYL7-0rs-7rWoma5wU1JI9n4SE7CjkTIbx98jasOFlKGhtexbt3k8OsDZYZ5UQUCBaP_stwe61Z2y8qZj8yOs_HXJfwhTc82JFTtRBVHj7Cs8RODpyT-HwlieHDnlpjhUMN1AA1Ql3qaZQlmSY1IzhQKiurGv8unXL1b0JBBHGX4QYkZvtpxG1nUbeWqbS2askP5wFVjsO1qgID7EbQTI60tdt0T77hhNvSl4X2rXJILqYkXRBNC-UBtjn4Q", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:26 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoibHJ1US1NVU9JS2FZdnFqZUNISWdudyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC83OSJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"JvCBvDOuAfrtJIHVOe72Bsmh5el_qOC5RxAkUliqcJnz09lkKtpz05AgkMFld48M_2sZc_l0jWAMqUkHsG1m9w5X9xOnpb67Q_ZWBArMKPLSdT42nFzbgnsnRqM3TSpnqXij3d645Rp0987iBzB44fqTwxrtnClNaljHeejSUrljrtbKHdoONR5pb79ys4kQDLdrieN5-rTThej57mEEqBbSs1ovzAHdGXydCd79uC5Lk75eWf-0VgKC4vl9nLrPoTL0RbZvFHlA_nuFcgqqAv-S4VmJevw8XzoSubzy4Ob0ySRavk4Ohoqf417BU2iAJL8-KakDQUoJorRejJtSaw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/5cldLcHsmbSOxQuMVLeuf7IICflw-a3Hln2GbTQ_7g4" + Replay-Nonce: + - 5weJawTnE1D14eFiXKtNCA + Date: + - Thu, 10 Oct 2019 03:08:26 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:26Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/5cldLcHsmbSOxQuMVLeuf7IICflw-a3Hln2GbTQ_7g4", + "authorizations": [ + "/authZ/1hQwwIE2jLkMpZHjmvCpSuP3acWOjKgKSUaAuXdrRHc" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:26 GMT +- request: + method: post + uri: "/authZ/1hQwwIE2jLkMpZHjmvCpSuP3acWOjKgKSUaAuXdrRHc" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiNXdlSmF3VG5FMUQxNGVGaVhLdE5DQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi8xaFF3d0lFMmpMa01wWkhqbXZDcFN1UDNhY1dPaktnS1NVYUF1WGRyUkhjIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNzkifQ","payload":"","signature":"TxesoXbyAbG5VmWwyWUvF2MqzuaKTR5jkDu08NqeLqjszy2HLU2X4MVemdooarKbRgyf9hi36AFuKsMN9UffGoyA5gMOvMDH1FJSX1PsdxntKYdWC_Bjwoelk4PLTX4EXxBylprv1CzCUip7iXGnolGq8CphaZOqNMZzy9tnbmvRmk7cZZSTOnnxR0UaG9Ju-fCi2US77KbmyO5zPVBEe4CqhpvCg7hApvCh42oXlrM7k9BCAm76nxCk03UtGn6SZXvpZuNodfI-SCU-1hiEHCau36-dZO6u5dNRdX0RVVZXY2cYDL1hrwwzPcxVBcUClTVZD1n3RVgeAHs8n0VENA"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - CfqngSs7dbFkW4zlDieGlQ + Date: + - Thu, 10 Oct 2019 03:08:26 GMT + Content-Length: + - '874' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [ + { + "type": "tls-alpn-01", + "url": "/chalZ/U2JDUEN9M9Z7ZYRV_b82JLt5GUVNrExj89aUE5KMiiY", + "token": "LPfcXAuF8Zhp9G6PhqTX4UoM-5_GgY5JHQl2MG3X0AQ", + "status": "pending" + }, + { + "type": "dns-01", + "url": "/chalZ/do6p9wzOrR58pHSorDrb4EVruBd80bgOIzIZMAynzv8", + "token": "780JF7-xS6jq8Y_hcMFdAYDMMXNa-uD5qD2jDTl6kAU", + "status": "pending" + }, + { + "type": "http-01", + "url": "/chalZ/lfwzHFSUbAC1j4EJwTBzIWfsU_5hVrbKzqJNuBERh9s", + "token": "5DkspXlC6W3pg3XQED8m6Iq1q2pz1zu-hYkSMbUQiv8", + "status": "pending" + } + ], + "expires": "2019-10-10T04:08:26Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:26 GMT +- request: + method: post + uri: "/chalZ/lfwzHFSUbAC1j4EJwTBzIWfsU_5hVrbKzqJNuBERh9s" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiQ2ZxbmdTczdkYkZrVzR6bERpZUdsUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9jaGFsWi9sZnd6SEZTVWJBQzFqNEVKd1RCeklXZnNVXzVoVnJiS3pxSk51QkVSaDlzIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNzkifQ","payload":"e30","signature":"tg3E0hngVNBj5ndMSIG5M5iD-qhrN5owsXdnrWqowxfONAWcyWe0rYo3DlqS9mLGj80dmdsZjfCB81ICuNuMK6uCl5W4EkLqOIwJyPrIo39rfjaaBEnjZTC1t-fI0B0mTbyu6xcQyYL0axctJksdPKMNeS1QOPNF6trekzGexR1oTYc8hOyYjpDeq8Bo9j7i4ziMLhfHzFAmtBCOLnaXOeD29XLDWobVYJC_vCu_sISqwjA-GI6Ko2xCkDafydQY9yg7wjAKCjwDlx48_lCUZqqDaBhgATcT_lVtN13HkUqu8Zvyrzfub9y7YO5XxlEvPg1gaFjRRFcSonOVcoqiVw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - </authZ/1hQwwIE2jLkMpZHjmvCpSuP3acWOjKgKSUaAuXdrRHc>;rel="up" + - <>;rel="index" + Replay-Nonce: + - 2Gcx1tWks7ChQbLNeIOZkA + Date: + - Thu, 10 Oct 2019 03:08:26 GMT + Content-Length: + - '198' + body: + encoding: UTF-8 + string: |- + { + "type": "http-01", + "url": "/chalZ/lfwzHFSUbAC1j4EJwTBzIWfsU_5hVrbKzqJNuBERh9s", + "token": "5DkspXlC6W3pg3XQED8m6Iq1q2pz1zu-hYkSMbUQiv8", + "status": "pending" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:26 GMT +- request: + method: post + uri: "/chalZ/lfwzHFSUbAC1j4EJwTBzIWfsU_5hVrbKzqJNuBERh9s" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiMkdjeDF0V2tzN0NoUWJMTmVJT1prQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9jaGFsWi9sZnd6SEZTVWJBQzFqNEVKd1RCeklXZnNVXzVoVnJiS3pxSk51QkVSaDlzIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNzkifQ","payload":"","signature":"gbRgIyHUhuSaCDwAnDsjkETIpo3SDfFeQN8MThJoD5K5cwiodttaYK-WIMtKE1-ggPCLQONWeCV9vMWFGPerD9VsHmQH9A3IcrTPyoionArHtZ5ppCegEwEbpxHDeB9WqcbXKuYCMwnWhfRO8Hh6-xB82zS8S9S_fWDjsdbC00hk5AzOcGU_9up3AB5Ht_SLchKkaqBaTljBY9RnIJdOuBiIylIP3AYibuTsuRx8jGjlB0_NefrU9kKJgmhmCHNigbqpmkI0lFy1alRK3T5k62cREctZTxk84HiRz8k8BC-Us-sLnDSy5U3HlpBFPi4au_P7ZG2Bsj7yymJiUGx5-w"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - sWd6dAaWSg_NsHlhwAA0xg + Date: + - Thu, 10 Oct 2019 03:08:26 GMT + Content-Length: + - '236' + body: + encoding: UTF-8 + string: |- + { + "type": "http-01", + "url": "/chalZ/lfwzHFSUbAC1j4EJwTBzIWfsU_5hVrbKzqJNuBERh9s", + "token": "5DkspXlC6W3pg3XQED8m6Iq1q2pz1zu-hYkSMbUQiv8", + "status": "valid", + "validated": "2019-10-10T03:08:26Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:26 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/client_meta.yml ruby-acme-client-2.0.6/spec/cassettes/client_meta.yml --- ruby-acme-client-2.0.5/spec/cassettes/client_meta.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/client_meta.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,125 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:14 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:14 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - BjoPGx1wSsVSQ-fM-SVjNw + Date: + - Thu, 10 Oct 2019 03:08:14 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:14 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiQmpvUEd4MXdTc1ZTUS1mTS1TVmpOdyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMzg0Iiwia3R5IjoiRUMiLCJ4IjoiQXlXcUttek9sSGFxR2pYZ2hzcWNNQ1Y3U0ZqYU5DeXpacWhxcFgyRlFTMEg2MXBGZlltRGtuZndVTDF3b1JURCIsInkiOiJ2VnAwblhyTjZMdGkteVFma3hodGJ6WmhrTThtbWM1LUhlVGY4TE9mU2c0SV9QbEtTODF1cWdrdW9WdzY4dHJWIn19","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"aLQuJR9XxuEQYCi3aQtMRTRzXAPBz4pG_zSE8tb1PE9d4wUbmUXB6aK7aH1JWMoDfARuPr3Z7DvUi6BDHtnB4eBYu_IT_etc73318an3WNUICPzkBuGVVZm3oo9Ru2v3"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/55" + Replay-Nonce: + - ONNsf6redbHHNON11yBGdA + Date: + - Thu, 10 Oct 2019 03:08:14 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/55", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "AyWqKmzOlHaqGjXghsqcMCV7SFjaNCyzZqhqpX2FQS0H61pFfYmDknfwUL1woRTD", + "y": "vVp0nXrN6Lti-yQfkxhtbzZhkM8mmc5-HeTf8LOfSg4I_PlKS81uqgkuoVw68trV" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:14 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/deactivate_authorization.yml ruby-acme-client-2.0.6/spec/cassettes/deactivate_authorization.yml --- ruby-acme-client-2.0.5/spec/cassettes/deactivate_authorization.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/deactivate_authorization.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,288 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:20 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:20 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - cRmNI1v5vX6aG8VmpCD_3Q + Date: + - Thu, 10 Oct 2019 03:08:20 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:20 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiY1JtTkkxdjV2WDZhRzhWbXBDRF8zUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6InFuZFBUaHFEb19VMUhDZ1lMRGk5eVpMT0EyTkZBUmdOeVFhaUw0LUZnOHJzQnlCeFJrMkRoN0ZtN2RMQThpemg3THpXNEoxN3daNkpoSTRtakhCMjZ1UDZ1WG9Ic1E3clZRQlhZbWNKQVp3T3g5ZkJiaGVMQ2Rza1ZFRG1jazZhdU5ZRzRTMjczMTBfN2wwdzdJODhiVjVfdmxyVWVLX0hXQWJ1a1BDQXpYZV9rX2wtaWsyOWt6NnZwMnNKeWwyRVRVVkYwUjhaTThFazVuWG9HcXIybzMweTdZbzhMMEItNTdNckNvQU1WcUZ2UWNwZ25Gc25GQW91enFrLTRIbWNjVC1NODNIU3JOcU9WUjBhbTY2WkMyTm9fdEFIU1JaQnAxc0ZUM3Q4UXkxcU5JVVNkQm5neHpwNEhoY0pyQkdxRTdBOGRJWHJPc2xNT2dIaGV5MFdsUSJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"ZCdRBNcY7VkDkpH7u-qTwtrUzqooEx2304_sFpSAF5wI3TVRluyPrg4t9b9uM2FPlZ-UWxMFfTZBETAos0LLFUeKX-m2rmk_ibBrL7vyXwUotcJ_aJnrFKUhX5EsYgFN9mrV_WeGqUIvg8H37Qhy55yZrnbwxDtueFVoMMAXQNfjCJs-Ts785IrJzsmNZzGTpNwff_JDbmHjnIQ6cWLPjVIy8a5qLiV9BljcvevVVqqQohbYnZkAuNItELXm9Lbre9edKb5VgElraCY5OwWXJCCenD33DqgYp_iErUs4Rm0CdHAt4WSUuENjKWRInlRb5PJ9kCjEuV7N0UjwgWcyyA"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/70" + Replay-Nonce: + - "-J9XqADPv0rbZYHGyKkuuA" + Date: + - Thu, 10 Oct 2019 03:08:20 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/70", + "key": { + "kty": "RSA", + "n": "qndPThqDo_U1HCgYLDi9yZLOA2NFARgNyQaiL4-Fg8rsByBxRk2Dh7Fm7dLA8izh7LzW4J17wZ6JhI4mjHB26uP6uXoHsQ7rVQBXYmcJAZwOx9fBbheLCdskVEDmck6auNYG4S27310_7l0w7I88bV5_vlrUeK_HWAbukPCAzXe_k_l-ik29kz6vp2sJyl2ETUVF0R8ZM8Ek5nXoGqr2o30y7Yo8L0B-57MrCoAMVqFvQcpgnFsnFAouzqk-4HmccT-M83HSrNqOVR0am66ZC2No_tAHSRZBp1sFT3t8Qy1qNIUSdBngxzp4HhcJrBGqE7A8dIXrOslMOgHhey0WlQ", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:20 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiLUo5WHFBRFB2MHJiWllIR3lLa3V1QSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC83MCJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"eNbMHcWpNBzEfGKKRJwlj8KLybUo0T3Mz75pQ5UDrXwI6-4LzMGedhZ1o0CEW0-hHpV9hTb330EYudjY7AOioOTyO57FVxeFeSytiI1Rh21Fmb82O33fNuoDEJT6mHmxFs845LPYFKS4yee2SEO5gKp3QARdY4kVY2LXupExsxwfo2XaPF_JqcnZBv28YowW1X8E7voLioPJ7EYHSaACQGOYmbtJQGexl7iFcVx0aW7XVTKL-L8QNSPGYQzIiF07O6Fv5KmVtODArd1DVudysKI14eRQdB51CU1FK8mj8Vsclp_xe_zvwWM24ccfuINLcGngh8RW6zfxNvc_-HocsA"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/sBY8PzqdDiZJU11-IHum8hW4LZkzFCS9OAxsMzik9sI" + Replay-Nonce: + - Sld6Mh4Zs7liQN5IOgYanQ + Date: + - Thu, 10 Oct 2019 03:08:20 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:20Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/sBY8PzqdDiZJU11-IHum8hW4LZkzFCS9OAxsMzik9sI", + "authorizations": [ + "/authZ/cOwur0slMjKUIwN9Q1OJEou8XpmgzBrfVSIhr1afnzE" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:20 GMT +- request: + method: post + uri: "/authZ/cOwur0slMjKUIwN9Q1OJEou8XpmgzBrfVSIhr1afnzE" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiU2xkNk1oNFpzN2xpUU41SU9nWWFuUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi9jT3d1cjBzbE1qS1VJd045UTFPSkVvdThYcG1nekJyZlZTSWhyMWFmbnpFIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNzAifQ","payload":"","signature":"Z7CUzggysw9d1xyAuV6vI5cq0dd8cvt6dy_b_rJi1UvHmv_4ZkFizbRsPzZCDHJZKPAHWWdckbw15Vb0cwZDrHA3CvkR0RwyGROPX8pzYk1YqzfrJtmuNH6ZvBfPyoi4sBle76tIUwmpfh__7NPMEdOVoFAtrM-xIQyeZBdRy-PpepDXlc6E3V_wnqcUJxBwSIizHkt_nI58kSSGzTRPg43Cy0URQ2bDfo_cEllft776kWRnT6vGa1qDa2Du9aIkbznsLhzOr4YLkbLdX4K0kZo-oUX5L2nl30sX4GI6Vs303smuPZNsWV-MN58MxbdiaMkfkPzrvS_G2SZNaMYSkw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - WePV5QZir3bNKcSfHn1MbQ + Date: + - Thu, 10 Oct 2019 03:08:20 GMT + Content-Length: + - '874' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [ + { + "type": "dns-01", + "url": "/chalZ/kBDPyAcaDhOprn2pXHs4O-1kZGb2RTVFx0ch4Pl2K-o", + "token": "CRW_qq8ZDwcgcCGirL95ANaUbJr7zfYJO-TyQacVTOA", + "status": "pending" + }, + { + "type": "tls-alpn-01", + "url": "/chalZ/802ecqh6V3fOPvLPY1UCdW5HW_DbJyisneBh7KioOn8", + "token": "jGZxTw4ilMOlkQqPjHSGNwyXP_neBWxJ_2G8IQJwd2M", + "status": "pending" + }, + { + "type": "http-01", + "url": "/chalZ/-lecYL8Be-qmxlu72dF7XqcOWzT9zWaj0dPFq9RKkCM", + "token": "3XavahT6eugk72I0jr0-5C3GKvlPuf-_x85WnxBP7bI", + "status": "pending" + } + ], + "expires": "2019-10-10T04:08:20Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:20 GMT +- request: + method: post + uri: "/authZ/cOwur0slMjKUIwN9Q1OJEou8XpmgzBrfVSIhr1afnzE" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiV2VQVjVRWmlyM2JOS2NTZkhuMU1iUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi9jT3d1cjBzbE1qS1VJd045UTFPSkVvdThYcG1nekJyZlZTSWhyMWFmbnpFIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNzAifQ","payload":"eyJzdGF0dXMiOiJkZWFjdGl2YXRlZCJ9","signature":"n7GO3YHjQghy8VdtPlQ_OBMloxAEMuJeOl0GkkEuqr4KDW_qUIbrQKTZ0V8yP_roatN27huQ9uIN3IxB4NQFSm_8KDaWDit83MswtS7mVm3GsuRq3OV6RyKhW0T3bfioHT5rPLx-j_yxNsuFwp_y45Ow8JEmmLGm0uAJLRiE1w528_DWE4ztBeJxF6oru6rwX_wSBBP7VjBHWGNO_R3cxe82YA5XjgK-47nXHEkuSXtZzoVoSCGJunEmo7Nsdiqz_owYw0xypXRDU397pUnUNV8IFZ-PmreMRIQBi9FwE8QOY7oQm-UvW-SjyrEla9sAqtD1k1l_9rZyC-owmQDLfQ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - jo4G1H8IRTR3cTZz0cbwAQ + Date: + - Thu, 10 Oct 2019 03:08:20 GMT + Content-Length: + - '164' + body: + encoding: UTF-8 + string: |- + { + "status": "deactivated", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [], + "expires": "2019-10-10T04:08:20Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:20 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/directory_endpoint_for.yml ruby-acme-client-2.0.6/spec/cassettes/directory_endpoint_for.yml --- ruby-acme-client-2.0.5/spec/cassettes/directory_endpoint_for.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/directory_endpoint_for.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,44 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:14 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:14 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/directory_meta.yml ruby-acme-client-2.0.6/spec/cassettes/directory_meta.yml --- ruby-acme-client-2.0.5/spec/cassettes/directory_meta.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/directory_meta.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,44 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:14 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:14 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/fail_fetch_order.yml ruby-acme-client-2.0.6/spec/cassettes/fail_fetch_order.yml --- ruby-acme-client-2.0.5/spec/cassettes/fail_fetch_order.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/fail_fetch_order.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,212 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:21 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:21 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - iiMrZxEMH1Vb92DQIn7ftw + Date: + - Thu, 10 Oct 2019 03:08:21 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:21 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiaWlNclp4RU1IMVZiOTJEUUluN2Z0dyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6InZxNGhFWWM4YnpmSnJZdzFlNXJVS0VIT3VNcGMwY0xoenhRSjhjOXM3V2k1QnJ2b0oyckxYNURGdnRISzdCSjhKeVpIV0NQMFcyanVYNlFVOUJ6WEJJNUZCNFg5eHE0cllwaEhvbDRYcVF3dmljejFEUHVlT0RRU2hNY3hSajh0bS1qdEJoSE1NSUlxQW5tUkluN0I2UkN0QU1UYWNkeXdEU1dzbllONm10TTcwVEhWMkNBeExlS202a0V3a2N6S0M0ZGV1ZFd1MzUwMTFacVNUbHNhN0dFZmU4RDdDSHZIRlFKLWREVGE1eHdGelFVekx6TlJjMDI2X1BNandXczJyc3ZadTFpaEsySmdfVUN6SENHcUY2eHd5WlR5MU1PX0hLTERRMVNLOG54aVJWNkQwUk1mX3EtMUMwN0FiMTJPdmlfdmM4MVBiMVpkV1NkV0NrOXJndyJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"BX8St2zGJ1f7zlhDyuzBBXMAWzHhwYcsGjyWrNIrQIy3s-fEpoepGtyq7UmSEUfxRVf-tsT_aI6pJJYNMkC12M9TEwcbYkW9Jg46kGlapjGe5NJDokYdEtcvGtk2kpDEWlejiu_QibBDGFB4uEO5DnVx8c9PTXnhlqkjqnZO74lbsn3fYDgU1J41st40AMuYp2oV-4xdgiXg7bWqFsiuMtkB9jFVN1V43kutpRRLNvinpBgN-sR6IvgGptPLHT3B9s-Eu6h8pj-k3t91ZEam8NHWMlLzuWu8y_kbWhDeGSvrVvVmUJyI3WWprRyvLfvOg4vKPK-8yiXWC9HwSmlZCA"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/72" + Replay-Nonce: + - wea9niuVeVkDp9KU7uc0LA + Date: + - Thu, 10 Oct 2019 03:08:21 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/72", + "key": { + "kty": "RSA", + "n": "vq4hEYc8bzfJrYw1e5rUKEHOuMpc0cLhzxQJ8c9s7Wi5BrvoJ2rLX5DFvtHK7BJ8JyZHWCP0W2juX6QU9BzXBI5FB4X9xq4rYphHol4XqQwvicz1DPueODQShMcxRj8tm-jtBhHMMIIqAnmRIn7B6RCtAMTacdywDSWsnYN6mtM70THV2CAxLeKm6kEwkczKC4deudWu35011ZqSTlsa7GEfe8D7CHvHFQJ-dDTa5xwFzQUzLzNRc026_PMjwWs2rsvZu1ihK2Jg_UCzHCGqF6xwyZTy1MO_HKLDQ1SK8nxiRV6D0RMf_q-1C07Ab12Ovi_vc81Pb1ZdWSdWCk9rgw", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:21 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoid2VhOW5pdVZlVmtEcDlLVTd1YzBMQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC83MiJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"MBhk5DBtDLhQqQTq6JRqA4qafxm1IjDXAHEAQGyR6tzXbH6T2T0xNn8Kng3N-_dS3w_CCGdtBZVY8LK2EbLZi6npnJ_h_VGbA6vcd8ncwsJSyx6_AoZnqEgO56I_dv3aX0oVREkw3aerG8j0K1_mJSXh1mLhMZby4CdtXe0d0CU_EJdOpiOfZ4K6WRyYZJT1g1M99xm0DAV-oDWp9xVPPV7ZJk64qqWeOOyRya6wFtTq1Hc36eXR2eCv9KXtu9JrVSdjjLsaEjYq-ijuQSEKPxYH3l-bS7A8kmapTg-9xYBJ6h3ITb7dNdE5rgEdUJ_cbLtHD_j_MAQtlt1Yr98ePg"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/75D9-Axgm0UbKkiEyBsFLILuyj6YZ64qevtW7G23FYM" + Replay-Nonce: + - 5z7Fgov4rxzd6bRtvY-eoA + Date: + - Thu, 10 Oct 2019 03:08:21 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:21Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/75D9-Axgm0UbKkiEyBsFLILuyj6YZ64qevtW7G23FYM", + "authorizations": [ + "/authZ/UE9i-tkywhNUx-fwdKH4iJpZ5PqIQ3YsNc3HjHfe_bA" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:21 GMT +- request: + method: post + uri: "/my-order/75D9-Axgm0UbKkiEyBsFLILuyj6YZ64qevtW7G23FYMerr" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiNXo3RmdvdjRyeHpkNmJSdHZZLWVvQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1vcmRlci83NUQ5LUF4Z20wVWJLa2lFeUJzRkxJTHV5ajZZWjY0cWV2dFc3RzIzRllNZXJyIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNzIifQ","payload":"","signature":"ZpN4SvsXhFU6Usb0x3Xe1Faj9i-7a5BHc0pfMcqoSx_7QCHmXPlxJCJPLPFY5HxKlNAsBAscluxxEjPfkhCKPfhGBagtFge-M0P7ZxCAPDuxAPOhqDW4eSWa7Uk4Gpqi65siZTb4bVA_0AwrIWXzgxH3vMFFx-Hfvc2fI-CGQWwBO3K5GaSG7eR_Y5uUTxJ_9mROHbL8LWoTzegW5Gno3WAAynQtWIXRip1AiOXpzwA4VKjtjx3LE3BKDN46Vsj49Xd0ds2EEIgf7LSD4MumSb-qd7T7f_FyOSdul08Nl1e0zdD2hbqRD18V8V_llUYnnO-CdHtHLz3wj9IGouR7Gg"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 404 + message: Not Found + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - A1RKyffeQ5VEkjtzYu6z8Q + Date: + - Thu, 10 Oct 2019 03:08:21 GMT + Content-Length: + - '0' + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:21 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/fetch_authorization.yml ruby-acme-client-2.0.6/spec/cassettes/fetch_authorization.yml --- ruby-acme-client-2.0.5/spec/cassettes/fetch_authorization.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/fetch_authorization.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,242 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:21 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:21 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - AzFF8dB05WK37wPpO6vu-Q + Date: + - Thu, 10 Oct 2019 03:08:21 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:21 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiQXpGRjhkQjA1V0szN3dQcE82dnUtUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6IndtZWRiSDdaeFVIeHVSMWJwbVNpRlo2MFZ6dUZwQ0VHVnhxUE9XZTYzb3BuX01UNXQybDZsUXJSQlRoZzhMWElWaU13bU1NN1J4MWJJSFVKMWVZbFFjbWRVRlFDMHFjcGJxcGVIaC1oRmcyaTQ3MjhSQkRleUVLRk96bV8tMU9KWHk1Z29CWnJDSThWd2w2eGcxeGFLSzdidF9JS3JzbUtkR0NQV1lWLU5OemFrREg0MVVDaTM2a2dSV1huN2FsUEwzcXJtREE2MkZCeGFJeHJ0eHk3clp5TWpkeU1kcVdxZHRac2NTanA5LVlNLVZ3dnN5M2ROVE1ETGJXLUFVQXo4b1MyXzEyM3NkMHNsWFZhZ2Y1Y1VQZWU5V0E5Ull6Y25tM2t2OUVLQngtOHFOSU1wQkpiV0R2VVA2Z2NVQjVYYS1WNVdDdGpIUF90dERyb08tOFo5dyJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"HogIgm9HdfbGtmFvOaoVgt9fgdYrC04cciv_oijZcQ-0rp7tGNDsjR3DWMwHAcLpz4xy3VHJ_NsMgFEBc---5pZwMk7qaliA3pRc7mUJ5RSDuWqTn4n6oL5qiLtCJBmkyCrHMpsqZsbHT_CzyUPpuTdsy-u-VGe5aecWYU2HHWbfCye4N5HR97TSZ3xpgdPmZAu4i8LHfj96SNBqcJRXcpUKqQrKmK-1-17RPfVtDwWp1WecT38z3TYKYkw7ltFDsynnXNiBCSQBfR19Wi0kCUejKoSWs1M7svc2vlJPQLT6nYM9nZ9_e95NbPlKiRmXx7fltGNKBX4oEkgkSF6Sig"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/73" + Replay-Nonce: + - OLcStX3rB3Y95alaE_x0bw + Date: + - Thu, 10 Oct 2019 03:08:21 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/73", + "key": { + "kty": "RSA", + "n": "wmedbH7ZxUHxuR1bpmSiFZ60VzuFpCEGVxqPOWe63opn_MT5t2l6lQrRBThg8LXIViMwmMM7Rx1bIHUJ1eYlQcmdUFQC0qcpbqpeHh-hFg2i4728RBDeyEKFOzm_-1OJXy5goBZrCI8Vwl6xg1xaKK7bt_IKrsmKdGCPWYV-NNzakDH41UCi36kgRWXn7alPL3qrmDA62FBxaIxrtxy7rZyMjdyMdqWqdtZscSjp9-YM-Vwvsy3dNTMDLbW-AUAz8oS2_123sd0slXVagf5cUPee9WA9RYzcnm3kv9EKBx-8qNIMpBJbWDvUP6gcUB5Xa-V5WCtjHP_ttDroO-8Z9w", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:21 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiT0xjU3RYM3JCM1k5NWFsYUVfeDBidyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC83MyJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"eAMZ-PbbM-Tgko-o_Xu6J3uBPafDtmvvCfY_vD_fGasK6C2bYnHd_zyvea8XoPWDgHmqPGPSfaTSD2UzMuIoXSIA4RrPvPWeHitZm5tdYvV8OEFAeaFQOg4nhFRxS9gbsy2nWQdv4vLFr-9Tdkc81Qc5ZztHxk0UC6s78QqGoxOGNwtfT96AxxFFwnQWC9ZC-wFWiZaIu4dAm6mCEkpLHAE2KqbVQ3xpeucHI-UEtbSGv3md9nddIYYSK60Ze573RjzyeO3bx5TKIGO4xAVvTDGx5_Bqd0XOjAw5GxKe5bn82KTAZMzL182BuKRmVPwAot1CS3G28SzlNW8HibGumg"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/XJATAvSzXBd9FyIDYfjV1kmtZ27-Sk0-A4j-JesP4c8" + Replay-Nonce: + - db4rj2JMTVQUcIImP9De0A + Date: + - Thu, 10 Oct 2019 03:08:21 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:21Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/XJATAvSzXBd9FyIDYfjV1kmtZ27-Sk0-A4j-JesP4c8", + "authorizations": [ + "/authZ/ccN4L_tSjJAEU_xaK3VYeAxiubT9edsO_vIc8FGrtqk" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:21 GMT +- request: + method: post + uri: "/authZ/ccN4L_tSjJAEU_xaK3VYeAxiubT9edsO_vIc8FGrtqk" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiZGI0cmoySk1UVlFVY0lJbVA5RGUwQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi9jY040TF90U2pKQUVVX3hhSzNWWWVBeGl1YlQ5ZWRzT192SWM4RkdydHFrIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNzMifQ","payload":"","signature":"er0DzKpQpKfvCfMQLxMtvoIdQ8G6bOO6I4Wvjb1LkceKooOO4CBxafbMNglU__PDm3r6xTBCxqx4hSJiJV-BDOUgMaaV3x_e2zfKwDQpZ0bXrsSB6iunlk-2tjpGPsmelCGZ_dy6JnkzBq4QQm5K0_YBgDQn8HzZY69YUbBQxlQVhvLmhsGlLORy5PaX5aoe6m-eFRQ0PDVZkSL8UGu2o21mzM5_pZaLfkB2VYHcTtAhya61IKXun22nEd2cAqc5ieZSTfES2IFrIOh8fOXqSGPWtXJ-PJZtZoVl5ER3JWqSCQALpQoSpEuDXrQXII98s8EbXdvDArWtzxYkpdVfVw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - FuVuV-7AR4H-J2Dmuw9IPQ + Date: + - Thu, 10 Oct 2019 03:08:21 GMT + Content-Length: + - '874' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [ + { + "type": "dns-01", + "url": "/chalZ/q4PQn8uOwxsTSRu6kWv2rklML08krsP2rwhMFHHt7-0", + "token": "pqksPrPGdMSGsafaPtTAHHpks2oBewqp0ILvn5mrJ7M", + "status": "pending" + }, + { + "type": "tls-alpn-01", + "url": "/chalZ/ediPq_1LxefBuVC0Iy5bcwc5IOwNd-6fdCMfZv0-jro", + "token": "CWAlot4Fe42eBReuv5FIpE06dhI1_cKKmpatxrtQuJw", + "status": "pending" + }, + { + "type": "http-01", + "url": "/chalZ/bCnAFkVDoZLkVixsjloOpnE4rOQZ06xoJTSeIyhmfUg", + "token": "jeqVIQmKSkf-hw-je9ocCAMmqhJFsf5Ng0dVOEBhdo0", + "status": "pending" + } + ], + "expires": "2019-10-10T04:08:21Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:21 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/fetch_challenge.yml ruby-acme-client-2.0.6/spec/cassettes/fetch_challenge.yml --- ruby-acme-client-2.0.5/spec/cassettes/fetch_challenge.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/fetch_challenge.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,285 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - iTIm-bjQSV_H66suJ7t7-Q + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiaVRJbS1ialFTVl9INjZzdUo3dDctUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6IjZ3a1dITnc5SUEybi1UX1VxLUhILXB3dXcxeGUtQ0FkalNySlZuZmh5b1ZQZmlGS0ItQXRlaVpNb2tjZHRNTVZ6QndEd2QzMVdUMHpLb3VoQTduSFFCbHlwR3hKRnlBZHVCdnUzd1UtTnc4c2VOQU42T2M0bE9mQU5fNS1kWXBHM0FSOV9SNjl2czJ0ZF9HNUZ6aGt2aGhfWWt1QUp3b0hOLVdmWHVuc1lCS25qYWVBUTBWaXBaN2RkZU1IOTdITEtHX05NelNCYW9VQTJRWU9zWUJHTzJyc1JOM3BDQ0U3VVdvQ1M0WlNqYzVEaWhUVm55YWt3d3dsaWgzUy1pTF83aFM5TWdKcUpxckRsRTNtQW1ORGtzc21Odm9EbnA2NjNoM0lkTnVQTmNFbk1fUDN6NW1aZjhHOUJlU09QcGtQSWotS2lIaUlLazV0T0NCUnBxSGd2USJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"AlGYW1ACaFMGblXtMvpiPqDJeY4W2GF1nmBo9u68QHeH38D-QbwRzcWLbeJsRizDYYSPFkGh66Gx3RZLlHABSRhxbirAE56rhC30QIkDgai3Uv9SWVx6vtUvk2f7HPlrMV3S59FPFjlAgf80v2feNqYYPcvNN7P6Twl7Rs6Gfwja3dfYsGrhhklYWLBowY0Us7UvZZphepgR5jVgkMRdmSNPNlX5nTYu6ZwNfVUUHMsF-bgMIVI090Fr2tWKnK4y2T3v1vMA_h79qwP6uUJlDn64osdXLWT3dAD5x-9IPEbJRY3HWuPgPSXHtYDx-mqCAT4gnwDm46MvrHS64hn49w"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/66" + Replay-Nonce: + - yPHrNfhhuOLyoTY3UcJDAw + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/66", + "key": { + "kty": "RSA", + "n": "6wkWHNw9IA2n-T_Uq-HH-pwuw1xe-CAdjSrJVnfhyoVPfiFKB-AteiZMokcdtMMVzBwDwd31WT0zKouhA7nHQBlypGxJFyAduBvu3wU-Nw8seNAN6Oc4lOfAN_5-dYpG3AR9_R69vs2td_G5Fzhkvhh_YkuAJwoHN-WfXunsYBKnjaeAQ0VipZ7ddeMH97HLKG_NMzSBaoUA2QYOsYBGO2rsRN3pCCE7UWoCS4ZSjc5DihTVnyakwwwlih3S-iL_7hS9MgJqJqrDlE3mAmNDkssmNvoDnp663h3IdNuPNcEnM_P3z5mZf8G9BeSOPpkPIj-KiHiIKk5tOCBRpqHgvQ", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoieVBIck5maGh1T0x5b1RZM1VjSkRBdyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC82NiJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"ybHZEcaoh5OXBR_dvRsvmqcV5Cq_Bf3R8qZUd0psO56kgPXFX-WDq95-nse6Exvx3Ju8mMVfaLBsFxyYQxeS1KmvAuHk5t7HC8cgcGPj9n74Q37Kell1NOseRd89TNYzf2GAjS6nDPUcfC3pd40QySAFnLJYUYbLwmH1tDwEc9yb506mntI2d1_jlaaq8YmwpjOrBkGaNb6l3asXWuOWzgQMBN9Vj1V87GeMILIdeSQUNoxvF1DyTn8Wz-bmBKM933ajdXuYzIZTrMVAr034Xgy1eGmT01-5wT1x_fXF52K5kV2LpzpRnh0g-aIG7njOKmyA9zuRC1XSgDpo4OWK6w"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/yAdhpbQci4VmYiN6ZKoD-_C0zA6UBoIPPjV3B1cG2uw" + Replay-Nonce: + - XGnNHR1MN9EZMSUQVIinfA + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:19Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/yAdhpbQci4VmYiN6ZKoD-_C0zA6UBoIPPjV3B1cG2uw", + "authorizations": [ + "/authZ/XAeO8U43n9Gv1kxzeezncqpiKvZQRYPkks_zkP6XtQ8" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +- request: + method: post + uri: "/authZ/XAeO8U43n9Gv1kxzeezncqpiKvZQRYPkks_zkP6XtQ8" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiWEduTkhSMU1OOUVaTVNVUVZJaW5mQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi9YQWVPOFU0M245R3Yxa3h6ZWV6bmNxcGlLdlpRUllQa2tzX3prUDZYdFE4Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNjYifQ","payload":"","signature":"nQqrVord4ktdgiO-6YFvCRZG1DUBIgfr1IIGrfZ7UuJfrTlQrNPRrL9gueHHUEBV6n6M1uDzWtIbt0rD_TlCgogtWeAm8UqZd0GgWbdFbIqOfVJqaLp7Vx_YahIGwENF53bHrSYXKN26tlZP4eoOq5lOE_oP1zmSY2b8IhEqPSrcm7RZJ6auemvPLVmkDxG1028dfp-ToJNqEkp2-dWo6S2qPIDlMJ14vf5SDHF4vjRt_jkMFw4PHixChiTPHDGRVXBsZ3ePQ-K7Fwbs-E_QNpkizG1tMaKjpgozNIaC8503bW39TP4xU9kz5NvvERXRInjOOjdqRA6tockhW3MtKA"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - rFP1G_QlqePtLGM6h-PTGg + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + Content-Length: + - '874' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [ + { + "type": "tls-alpn-01", + "url": "/chalZ/JV-e1QgHLe1dfj7PgMrTjL6hJ7FUfXL22sQS0KZcZ9c", + "token": "CQut8pJi7SlVoQrRLaQx2XPYtL_Lw7Pgtbq2hLseJS0", + "status": "pending" + }, + { + "type": "http-01", + "url": "/chalZ/Wn6HwWqfyAGoGlA8QXPPGYarC0h9j3nRYUa5tFMIiNw", + "token": "G_gAR_pnAeg8kGsmvmlqwN33sFr3fg5NhWIcgL5kAoo", + "status": "pending" + }, + { + "type": "dns-01", + "url": "/chalZ/QWeZrBCPnj8JDirm3NT40XehHAbdxvli4AMqrSPYZzU", + "token": "Ih3dDhv5EvqcTMvj_mgDt1TYBAEjLnqovL77fqqnAYo", + "status": "pending" + } + ], + "expires": "2019-10-10T04:08:19Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +- request: + method: post + uri: "/chalZ/Wn6HwWqfyAGoGlA8QXPPGYarC0h9j3nRYUa5tFMIiNw" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoickZQMUdfUWxxZVB0TEdNNmgtUFRHZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9jaGFsWi9XbjZId1dxZnlBR29HbEE4UVhQUEdZYXJDMGg5ajNuUllVYTV0Rk1JaU53Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNjYifQ","payload":"","signature":"i2ddOjl8HOZ9VKdNAv-1leSi9GPRv6k5CcL-A4G_zMnkc5u9ArQGo4UdDxT8PJ4X41MhbEN6CFomOP_af1UijhxIuNRepjFNai56gaMzXkt2zxDGcVXMUS4xpxLvHcxv5WYFYJmpwRmHMWDAvPwy6MEA9aUkYHlgVzHLgMbCHKpfWcgN9kwb2lyynL_E6bxCBw1MhqW-MSgZcSIkFik3GtQYBjuOFon1yB3XkKTtr9m56rWXUl89n_d7FkRahq0CfbNBeZdbNMfX4TY4uHwhiOUZq0x5258xhz7YFYxUb5_JzJhEtbnLHEW27qsVtt42beilcS1hG9nk8TaKUh2Aww"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - kVO9AKyN_PJBf54MhH-DZQ + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + Content-Length: + - '198' + body: + encoding: UTF-8 + string: |- + { + "type": "http-01", + "url": "/chalZ/Wn6HwWqfyAGoGlA8QXPPGYarC0h9j3nRYUa5tFMIiNw", + "token": "G_gAR_pnAeg8kGsmvmlqwN33sFr3fg5NhWIcgL5kAoo", + "status": "pending" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/fetch_order.yml ruby-acme-client-2.0.6/spec/cassettes/fetch_order.yml --- ruby-acme-client-2.0.5/spec/cassettes/fetch_order.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/fetch_order.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,228 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:21 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:21 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - SQucpxiDtoAsofQrzylqYA + Date: + - Thu, 10 Oct 2019 03:08:21 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:21 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiU1F1Y3B4aUR0b0Fzb2ZRcnp5bHFZQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6InR2cVloWDNrMmZrY3k2TVdnVjRLeWJGM1cxVm5vQUJWYS1SNDdWSnNFR2FaRk5CN2dqSmhuUnkwM3VBTG9TRXM3ZGcxaXJQVGdWXzk0b0JnVHdjb09FN3hsYkZqR2ZqZVhFRzRneV9ScW5nVS1qYzFCa3ppTUlCVlNYTThEWDFRY3BJRV9NMzhwemZMWnZBVkluc2tRNjZYUThiVDdmc0VnMnRTWm1kTHVqU3NwNUNHTUh0RjRqRmVaX1JOYUZBR1p4VEh3MGR6WnJQTUdJaTJjamcwUTdGOXVJd3pfSHI2M25wMXJ4WkhXbUY4Wmxoa1pCUmJjRkJKenEyLWJqbTd6bWcwRTVhMmRzQXZuNjM1dEZwd0VuMjRpMk5tUFlFVzE0Rkg3SlFfZTNTYjNBV1AyOURGc3VfV3hXU0Q2UnFMSGNpbGRwMVdYX1lOS0pNWGZpenAyUSJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"CGaYIMzuj2H77stk347kKJ_5jsu6lZ_RBgyXDKA8B2_xqaKfKUtV0fa0bU1MK3u236elaSKsNSG0w37AK62sAZiVa3-aIXEemDjYxewiUbqNaSwRihH2Z0RYYjqjSOHWQPgd3eo0B_g-v-Cb5dXh58UbsNrwY5uelg-1YmgEzDkpHC47o9KiFNZzYL1c6mgD0dcOCKgjeApH3Adfq8cpeN4SJNotzb60dKlKEp6Mn31jn9W-SodCyiZVhqsUUQx1OJn61_x_7B3yrOWzp9Sv-NnHTlM1apBTpYsTs66G7xLww2Nngr4y-1XPzREZgiTcW-GSDC4FhjBF0BoD9XWAMw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/71" + Replay-Nonce: + - D6mJ6SG4fxDyDpW1atX-HA + Date: + - Thu, 10 Oct 2019 03:08:21 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/71", + "key": { + "kty": "RSA", + "n": "tvqYhX3k2fkcy6MWgV4KybF3W1VnoABVa-R47VJsEGaZFNB7gjJhnRy03uALoSEs7dg1irPTgV_94oBgTwcoOE7xlbFjGfjeXEG4gy_RqngU-jc1BkziMIBVSXM8DX1QcpIE_M38pzfLZvAVInskQ66XQ8bT7fsEg2tSZmdLujSsp5CGMHtF4jFeZ_RNaFAGZxTHw0dzZrPMGIi2cjg0Q7F9uIwz_Hr63np1rxZHWmF8ZlhkZBRbcFBJzq2-bjm7zmg0E5a2dsAvn635tFpwEn24i2NmPYEW14FH7JQ_e3Sb3AWP29DFsu_WxWSD6RqLHcildp1WX_YNKJMXfizp2Q", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:21 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiRDZtSjZTRzRmeER5RHBXMWF0WC1IQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC83MSJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"gT151BKCpotf8_gxJMBKKV-WyNvj7KEAVYj1xbrrgg0GIWK-MCf3OAmAjAw2Y2rLZ_KI1eoANt3zLO3hAPu1g7sIPUoLkUbGaHI9Q779A6ci3TO0mfrGRcGcCbI-MPfRM7ImRyE7UUmmPgYjgbyDtBhzaIAV4SSC1ao1ZloxZ-TTl9N4AnceqiOXMU34h1U2-5Dr7XFlOTr-pmIVYpoNV1fevI-MqUG9V963b8y8aNapsoRTEZ3pUV6v5urH3u69ANF_JDyKt1BrpnnMcv4Gl85OI49kUlZDbGinBjpFyKDi0tMNGMvYymmFGcP9FQaTCZrW0FLAXKvk5GyPDTOf4Q"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/s88t_BrZhdU3yXxD8X6wl38rayJb3i4nAYtojBYX7hQ" + Replay-Nonce: + - FmZOwMUeo_tO5q5iVNUwUg + Date: + - Thu, 10 Oct 2019 03:08:21 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:21Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/s88t_BrZhdU3yXxD8X6wl38rayJb3i4nAYtojBYX7hQ", + "authorizations": [ + "/authZ/mn-gp8UtVvXkVZZR5k9V_TBiJ0AW88B-yIeDPuxIe98" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:21 GMT +- request: + method: post + uri: "/my-order/s88t_BrZhdU3yXxD8X6wl38rayJb3i4nAYtojBYX7hQ" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiRm1aT3dNVWVvX3RPNXE1aVZOVXdVZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1vcmRlci9zODh0X0JyWmhkVTN5WHhEOFg2d2wzOHJheUpiM2k0bkFZdG9qQllYN2hRIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNzEifQ","payload":"","signature":"e9Ca9BpWwP4PwEhx4wwIAQmwozYzZshU-PeVZ2R78NyxBiQjSyWnv8cNpRaoiKeaAZqw3vWgfk6xgoo5cfSCjLfUeWVe4vDkOiogtl9uhI8cpVlfKf2Fy7R6benhwMC_Dl4J-kvrGzEN-atIScrhNspP3NWKb04i8sOi2MG7UOetL1Qb8LyRjO5nqYYec-B9o76uurpaa-pa7g-OOSXnv50Ku2q4G0Q5laysGXM1WG-fhRtz7ZbrTYa9DG9tG9FBhsaa2v_oh6_hHD3m7tyipMuvYELiwAHJb7N3BNiVwcv10wcHL1JT-dtLxhNA_JQ0-WoDTvJdBqD2RKADYdm_4g"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - "-mC_HWZmhQNJKYQcGLh73g" + Date: + - Thu, 10 Oct 2019 03:08:21 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:21Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/s88t_BrZhdU3yXxD8X6wl38rayJb3i4nAYtojBYX7hQ", + "authorizations": [ + "/authZ/mn-gp8UtVvXkVZZR5k9V_TBiJ0AW88B-yIeDPuxIe98" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:21 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/finalize_csr_mismatch.yml ruby-acme-client-2.0.6/spec/cassettes/finalize_csr_mismatch.yml --- ruby-acme-client-2.0.5/spec/cassettes/finalize_csr_mismatch.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/finalize_csr_mismatch.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,220 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:17 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:17 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - GXczlu0gkaz9hfJDHEcwBw + Date: + - Thu, 10 Oct 2019 03:08:17 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:17 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiR1hjemx1MGdrYXo5aGZKREhFY3dCdyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMzg0Iiwia3R5IjoiRUMiLCJ4IjoiR2RNdFpGZDJzNEtKeG93bkhaZFA1VlVUZmo1X1hBMW5NaEZndVpMVW1aaGVoS2JNem44cGJic014c2JwVnF0ZSIsInkiOiJUWVRkc1lqZHlCaGNKTmhPQ00zNWhONGRfb0dsSUxhYVk5eEE2LVJMbmNGMjU0OWRoRl9adVpfNG1VM0cwZEVTIn19","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"RQGej3TMtlH-b9zxWYDQ3sGggk-dbsZ8ggYJgnndyzfXhmjmvdFHmu1L_dvHeZExgRACKz-wJ0BNReSbSUx1pQ8lNqRJ3FB4z_Sda4aqzugrP3FEwpuAlLHPCG65IaB-"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/63" + Replay-Nonce: + - oFjdTc4wJw0sxQAusW1Q_g + Date: + - Thu, 10 Oct 2019 03:08:17 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/63", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "GdMtZFd2s4KJxownHZdP5VUTfj5_XA1nMhFguZLUmZhehKbMzn8pbbsMxsbpVqte", + "y": "TYTdsYjdyBhcJNhOCM35hN4d_oGlILaaY9xA6-RLncF2549dhF_ZuZ_4mU3G0dES" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:17 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoib0ZqZFRjNHdKdzBzeFFBdXNXMVFfZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC82MyJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"1ISgCKMUhjglypqKXyEmULV4J1vyhNAshkxDfu2D0EArY7utlRRw0ahCNInkKoeXy8aCa0Stiz8xA0-sjVUyYarL8gb60M0txVspnDfxpBgHUqY8XN3YdqDFXKfuyI-p"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/FCHtrjjJ_JJQ3FR4WtbKYFRBxOZ7bYexpTahYSl4IW8" + Replay-Nonce: + - KjoGejdmIPhyAOlD0ky3qQ + Date: + - Thu, 10 Oct 2019 03:08:17 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:17Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/FCHtrjjJ_JJQ3FR4WtbKYFRBxOZ7bYexpTahYSl4IW8", + "authorizations": [ + "/authZ/VKWYiW8aGi--RjmHFnFinPbuCkB67B3Haf74DQVc4JU" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:17 GMT +- request: + method: post + uri: "/finalize-order/FCHtrjjJ_JJQ3FR4WtbKYFRBxOZ7bYexpTahYSl4IW8" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiS2pvR2VqZG1JUGh5QU9sRDBreTNxUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9maW5hbGl6ZS1vcmRlci9GQ0h0cmpqSl9KSlEzRlI0V3RiS1lGUkJ4T1o3YllleHBUYWhZU2w0SVc4Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNjMifQ","payload":"eyJjc3IiOiJNSUlDaERDQ0FXd0NBUUl3RmpFVU1CSUdBMVVFQXd3TFpYaGhiWEJzWlM1amIyMHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDcFZ3V1hDRHRNX2w0TFJpMExtWDVjQlFVOUROMDdTOWpQQXRBNG9rSFVBVGZLWGRFc3dSdlZPb21TVDBNRTdmWWs2TXVCb1FMZ0FDMUdKejdHTXRMVWg1eERXaU9panlhU1dDQXZtb19SUXRoVUc0TVhxQm9Ha3F2V2hfZlg4OXVoS0hSSUNrS1VOWUkxdWduSnd5cTM3ZEN0QzBGb3JZTmc3ckRlQkVqMGxSMkVOazM0M2ZsN1FHR0t2eEpUamxFVGdGQjZXTUtCRUVzd3E3eDYzLWg2WHp0VDNaN1BWQVZaWTJPdUhkVmhBX01PSExLSTJNRm5NRjhyQ0xKZ1kySWQ3ektqcmMyeTNEVldRY25jRmpkc3dHbTJnd2ptN1FZcGFvNXlxeGlvWmE4VFhvNk1HeWk4SnZXaTJRSDFzbk11MVc3eGdhRmdLWVpITXJabnNzb2JBZ01CQUFHZ0tUQW5CZ2txaGtpRzl3MEJDUTR4R2pBWU1CWUdBMVVkRVFRUE1BMkNDMlY0WVcxd2JHVXVZMjl0TUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFCTi1qUUc2dVliX1pMNVEtVXhPRXVaQ2hMQ0RrOVJGbEFEd2NJYk5uRVZQRG1USDZTamRfN2ZqOW1YbWJ2dHJvbTl1RFhlZjI3QUtsZUNidnNjcHZ1Tnh4b3RIUFZVTjhWZ1hrU0U1RkJSQkJHTUhzeENFZVRRTDFfMjdaZndzeERhY3pVdk10a0xkTWxJZ2xLU29sdTlaYi1DcllfdVdobG9jQkpyWnUtNzRqS2o5WFhCYTdXbGpCV1ZqS3ByN3lQdmVadm56SmN2NDdMV0dycmtodnBwX3lTX2x3Q2pYUFhzOWRCZk5rcTFPeEJNVDVFeDA1VVc1Skd6SXYzN0FYM3NWUThXX05VYlU4VWpuYXNsY1pEOE5Kakl5ZkpLb0JPdnFYbUJ4Wm9lSS1JMUI1UjZyMWRXdVdNMWh3cnItVlFFbkg3ZEZvQm1SYVp3aG5FQWg1X3YifQ","signature":"Uotrk-GvVEj8r3Gt2r8PvQauJpdEd0jp2zVghi1zmrKk-UkvYdn-zKjtpl4eALAFCCrjSBdetn55_KLj8fUi57yvCel1iShosC2bLc5P9zg7MNcBmzS6dYupYVmeqiSf"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 403 + message: Forbidden + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/problem+json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - a7JFEV9KoowVk65HsNvv5Q + Date: + - Thu, 10 Oct 2019 03:08:17 GMT + Content-Length: + - '134' + body: + encoding: UTF-8 + string: |- + { + "type": "urn:ietf:params:acme:error:unauthorized", + "detail": "Authorization for \"example.com\" is not status valid", + "status": 403 + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:17 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/finalize_incomplete_challenge.yml ruby-acme-client-2.0.6/spec/cassettes/finalize_incomplete_challenge.yml --- ruby-acme-client-2.0.5/spec/cassettes/finalize_incomplete_challenge.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/finalize_incomplete_challenge.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,220 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - K6Keaf_hlKfQ82HWm-G-Ag + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiSzZLZWFmX2hsS2ZRODJIV20tRy1BZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMjU2Iiwia3R5IjoiRUMiLCJ4IjoiMUNsRExlQWU2dGJucDVtYnZJd3l3bWNLQ2lmYnFRLW8tUjZTQUNVaTFlbyIsInkiOiJnQXBrN2hfR0ZVTjRFOHYwR3BhRTA3R0d2c3AzaUtZS3pxeWYzWE9RUnNrIn19","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"HWsjD7veqG5m1w9_bZphxrG7-fUw_pD9W0TWhmnADTIui1HyzO3pEkTLJzvuohT8ku-nEiv_5vQ8kZ0FA5ZUIg"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/65" + Replay-Nonce: + - NJ-NKUczfaAvKEiLFEyONQ + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + Content-Length: + - '311' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/65", + "key": { + "kty": "EC", + "crv": "P-256", + "x": "1ClDLeAe6tbnp5mbvIwywmcKCifbqQ-o-R6SACUi1eo", + "y": "gApk7h_GFUN4E8v0GpaE07GGvsp3iKYKzqyf3XOQRsk" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiTkotTktVY3pmYUF2S0VpTEZFeU9OUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC82NSJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"tOiiCTnwVkE3GOfBrnyYu4MXBgFFc2K7Q8WVySB8O_4SwBcL29jBInRt42oZh3T5hWP2OsnvmLKIwYUH7aNDZA"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/OIYUGTYBfQtcj2teUTSC9awjYnmCESsv4C3PIHLvOFM" + Replay-Nonce: + - RC_YXTj817HrScAGJDCBwQ + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:19Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/OIYUGTYBfQtcj2teUTSC9awjYnmCESsv4C3PIHLvOFM", + "authorizations": [ + "/authZ/2HeBGz9uoauxqW-o2jP9UBBw9kMdhf_nwzkkJ9v538U" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +- request: + method: post + uri: "/finalize-order/OIYUGTYBfQtcj2teUTSC9awjYnmCESsv4C3PIHLvOFM" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiUkNfWVhUajgxN0hyU2NBR0pEQ0J3USIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9maW5hbGl6ZS1vcmRlci9PSVlVR1RZQmZRdGNqMnRlVVRTQzlhd2pZbm1DRVNzdjRDM1BJSEx2T0ZNIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNjUifQ","payload":"eyJjc3IiOiJNSUlDaERDQ0FXd0NBUUl3RmpFVU1CSUdBMVVFQXd3TFpYaGhiWEJzWlM1amIyMHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEUnQ2RHhVVE0tdzBsWUV3RHFJVnFMNUxMT3QyWFY0Y0FOTy1oWXJsb3FhR2RBU3hzRWhSTlJyWmxlRk1KWnU4bFVVbFhUX290LUZmMXo3OUxqdjVWNUstYWJhRWc1VzFzZGNpelExai1zQ0J0MDB0Y24xQ2lLWHRHdEtrbHpnT0RFMlFBWDl4ZlZNaU5XaHdhNzE3RmFvRW5LMTIxMFozd1hJVEh6RW12UjYxVXRyRXBOQjJSNWZReG01WWdnQ0FlMjFZdUtpZEo3SHJkUzdEM2ZGeFhaTWlpcEJrWGJoTE0xMkpIcnQ3OVlaTmpFdWdCR3Z6OGRUbGdqOHFNcnNXaGRXYXhVVldjNGpZTWN1b0swTzJGSWY2U3NYbktoSDUtbjI4Q2JmcTNYMmhST2RQZkkwV3pEYm9QZFM4dXNIRUJGZ2VZYU9jdUFXZTJjQlZlbXRKUzNBZ01CQUFHZ0tUQW5CZ2txaGtpRzl3MEJDUTR4R2pBWU1CWUdBMVVkRVFRUE1BMkNDMlY0WVcxd2JHVXVZMjl0TUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFCWnBvajZmWFlsekdCNzlaeVBGalFWM19JWF8tcDdNN0lXQ2haWkx1YXQ1SVVNM3N6cFpfWFJZaG5GcVNOUFRUMkV6RWdONHBuNnZZZ0tZQVd3RmF5d19OTExoQ2E1MVlUSEtITHFZME5JYzVjLXN2cTRTblBoYVpyNnBHSTF3MW1sdEFzZ3I1RFJ5bVZjazA2M3BXaS1vMGx3LUdmNDJndWxuZHE0UERHd2lTR0FrbElqXzI4b2tYNWFWVDlmX01xVlZGYkVNSk9FSjhjOVE5Mzdlc09CZmJyc1g3a3VTd3BNMjhENlJsLWhZLXZtdEQyRVc0V0wxOEV5YkhFWFFrblN0ellWSnA3R09nNGpUR0lMbWhUbjEwUTlSQzlfT1NLUENZQXJreXlYd2ROeHVoZ1Zzd0NEa3dHYlk4dUpCZElyVmpCSE5Id0RhWDgweTEzcV85SGgifQ","signature":"kevRne3gCeUE-C0CjutYtXZE7RX2ZEvhDh8FQGiKpCF8uFjBtsd-jaR8bA8qVw7e7V_MbTw9iWCJREenK8rQ9g"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 403 + message: Forbidden + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/problem+json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - Gh2bkhOhgRLNv2BrfHz4jQ + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + Content-Length: + - '134' + body: + encoding: UTF-8 + string: |- + { + "type": "urn:ietf:params:acme:error:unauthorized", + "detail": "Authorization for \"example.com\" is not status valid", + "status": 403 + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/finalize_succeed.yml ruby-acme-client-2.0.6/spec/cassettes/finalize_succeed.yml --- ruby-acme-client-2.0.5/spec/cassettes/finalize_succeed.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/finalize_succeed.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,391 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:17 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:17 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - hSEy0mLSdD6KNZWhRBQv8g + Date: + - Thu, 10 Oct 2019 03:08:17 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:17 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiaFNFeTBtTFNkRDZLTlpXaFJCUXY4ZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6InVhYlZQTmJZMV8wYklGWjVqY1JBQTZhQnlOck9Nb2RpWkpTbk9kQUFyWHRQS1ZLVnBHZHZ6RHI2VVZFcEtGdTNMSGdubnpWdUllUXFsN0dXanBpelNwYjZDVUJzYk5QWlpYRFRhNXJHNzhNS3NQY1MyRjR0aU4yb0FOWmNQQVNDOG5VUkdrY2tTR0VJYkVQb195VkRpUURybkhHWnNuRVVxRXlVVFFqVTBMOEdYaUVWMWgwR192Rmxqb21nQzBfQjNVSzNjaDRuQlFMYklBMHlzU0FfMGxFZkgyN04xWGVDVzVoa29ELS11LVR4RDBTbzZ2aHRybkY3aGxmU2RpWlJjX0NIaFlTeDJnV2QxVnNsYlhlcXhLeFFqdTBwb0JHQU44TmEyQ1ZOY1VWUXloaHNFNVp4cVU1TVRzYURwV3B4VGp5YmNfSmMzcEdqTm14VlhsbUxxUSJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"ICxSi8WsBsFLUqBbUIKW-TFRzu05zAf9b4Utle_9jRQz0KqI66ExXd7vC9zQkAuWLUCaoSdlS6JX3qph5n_-8jrQSYFUCMB4RQweIv_dpGKu6SKb3ntr6AuCjIpOdEpQT-Ko0V306ATOnmTaHnkQPi1n_2NZSvqk2X7GRilVNkUxO2Y1LvcuuDnG7pgAkQ-xepSUe5kDReAEcMNncHu9tRw4CKidMsz5qLlNM2gMh9glKKWjSDlCu4RWG0aRpM56i7jJljtk3WMLyD0GZv2o2cRA4V_D5bm_vuBv9ez8FA0GeXdEhgJK5r3XEpY2_zxHZ2BeWIw8CBnVzO08QWN37w"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/64" + Replay-Nonce: + - Db0YuU6RyZc1AHueDDVueA + Date: + - Thu, 10 Oct 2019 03:08:18 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/64", + "key": { + "kty": "RSA", + "n": "uabVPNbY1_0bIFZ5jcRAA6aByNrOModiZJSnOdAArXtPKVKVpGdvzDr6UVEpKFu3LHgnnzVuIeQql7GWjpizSpb6CUBsbNPZZXDTa5rG78MKsPcS2F4tiN2oANZcPASC8nURGkckSGEIbEPo_yVDiQDrnHGZsnEUqEyUTQjU0L8GXiEV1h0G_vFljomgC0_B3UK3ch4nBQLbIA0ysSA_0lEfH27N1XeCW5hkoD--u-TxD0So6vhtrnF7hlfSdiZRc_CHhYSx2gWd1VslbXeqxKxQju0poBGAN8Na2CVNcUVQyhhsE5ZxqU5MTsaDpWpxTjybc_Jc3pGjNmxVXlmLqQ", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:18 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiRGIwWXVVNlJ5WmMxQUh1ZUREVnVlQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC82NCJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"CdWpTv41mIDcveAdgmGrEhg_0zmS0iEjKWeO_e9yv15alpFFaLlubIveLVSI5XWYdVW-LtHTpjX0vZVX3WwIjDh0AjjB5wPwYj6pY4b_1bgtKvqIAyaMGRc09m3PlkvRlUNCGY_JnjeM1k4fxirZiEAVoToGc2-qcBYWEqjtJItNB4RFj3roRfpvIEsSKIBS0t0CjcCtlv-coEmS9I40Uia9EcE7ZtQLA8NOhjZ2NeAbgNwHFiV7_AEM0POQUyaSNQreIoXjgPbJFUolb0A_94--dIwfi38V5tOf-6BdMHhjoAodAlmUouoB5jyTDEW0EMGhMFZOH-_RHmRE1IPcFA"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/OY3TeRFpQZCeVlpCjQ1xK83wJl2xHjw0rhyyj1Z948U" + Replay-Nonce: + - W36VkKzU4aSU6OqZLBJKTg + Date: + - Thu, 10 Oct 2019 03:08:18 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:18Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/OY3TeRFpQZCeVlpCjQ1xK83wJl2xHjw0rhyyj1Z948U", + "authorizations": [ + "/authZ/DQl_qQdol1ly9_vDLHcBL9nwM-i4j0kr9RCluzfXuic" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:18 GMT +- request: + method: post + uri: "/authZ/DQl_qQdol1ly9_vDLHcBL9nwM-i4j0kr9RCluzfXuic" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiVzM2VmtLelU0YVNVNk9xWkxCSktUZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi9EUWxfcVFkb2wxbHk5X3ZETEhjQkw5bndNLWk0ajBrcjlSQ2x1emZYdWljIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNjQifQ","payload":"","signature":"BMfkHr4y29v2qHK90aGOzL0JME-IKL69CNYzLvgawgMWzPjqJh4CcjC9BD5ui8aib2TmC3sUMkgHC4O1PZGrizifeEDugEUp7So4WeRjNdER31vmTCH7LBH-BSIDZfKJOgsAc2P-Kyv3SWfN-yncd8KlrvB0AAjuuKnsieRF9gIj-ycFMKZmeEqRnzoPaLLSEHOriOubqndxmrN2z0KNVnWQ31C6fo1fWNxilse98Kgqo1I6-XCqD8JOzfdEx4K6OHXjc5ijUGg-CmwXCYzlTqyjYHQ-65vqryQNqtCjpPyeHsO5LZxY86Vpe7NMtg1ZySdM5Ciseaf4LIIe92wXmg"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - TH8Krd6LatMIGi6ZHhuMGQ + Date: + - Thu, 10 Oct 2019 03:08:18 GMT + Content-Length: + - '874' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [ + { + "type": "http-01", + "url": "/chalZ/WZnFEHMKIVGUfFw-RUtCQvfnIycxkY2iSBX6eWyil4o", + "token": "4UGWxqSi8If8_QG41sKyqglln7fJyNNTw-gcx0NeDII", + "status": "pending" + }, + { + "type": "dns-01", + "url": "/chalZ/ZwBJTf-J30Mrt5Q3Wlw7KUor9BFvYoyrjwia3xTB4To", + "token": "2t7SK-ZlP7Br6mCKSh2xgrAe7F5PbtO5FWXOat5ghWg", + "status": "pending" + }, + { + "type": "tls-alpn-01", + "url": "/chalZ/Gbfn8N_UDiUhoPoSeA217_9iJKE7MjvmrH38DMv_HA8", + "token": "tPtbSCOXPDs32Y_c_RcbylcQvpOpj85CrP7_sFdRymY", + "status": "pending" + } + ], + "expires": "2019-10-10T04:08:18Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:18 GMT +- request: + method: post + uri: "/chalZ/WZnFEHMKIVGUfFw-RUtCQvfnIycxkY2iSBX6eWyil4o" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiVEg4S3JkNkxhdE1JR2k2WkhodU1HUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9jaGFsWi9XWm5GRUhNS0lWR1VmRnctUlV0Q1F2Zm5JeWN4a1kyaVNCWDZlV3lpbDRvIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNjQifQ","payload":"e30","signature":"FsFMlegxOClT8Ee4uK7sgOTo0ryPNs4f4LKqKWgHu-4AX1Yu3WkjFDnJQDdQjXOzbt4dSdlSMSVscwm0y_3cV2ylqJ00k2NAizvSCoI-mSgxMMW2QV7O37eWQDmqi8ZjiHh4L5wGiH1gv_Ig-Xzl2-cHYIRhdMqv5GSBOlVzGj7tGA3lwRtjZq013fFFmqOroA_R2KGTPQgrAmvfst_RltXrvnwAuz924ODvPCnasY8le_HvRq1isqYXoyQx34L2ddpR9siyRy0x33OvrCO8uQptTarW7ZjNpicCVgnQinpWZEo5-RXqPJacWu9tst79o3kzqjjMo2jx3iz1RFIHaA"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - </authZ/DQl_qQdol1ly9_vDLHcBL9nwM-i4j0kr9RCluzfXuic>;rel="up" + - <>;rel="index" + Replay-Nonce: + - aDkk4qNPps3YnooQNddJRA + Date: + - Thu, 10 Oct 2019 03:08:18 GMT + Content-Length: + - '198' + body: + encoding: UTF-8 + string: |- + { + "type": "http-01", + "url": "/chalZ/WZnFEHMKIVGUfFw-RUtCQvfnIycxkY2iSBX6eWyil4o", + "token": "4UGWxqSi8If8_QG41sKyqglln7fJyNNTw-gcx0NeDII", + "status": "pending" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:18 GMT +- request: + method: post + uri: "/finalize-order/OY3TeRFpQZCeVlpCjQ1xK83wJl2xHjw0rhyyj1Z948U" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiYURrazRxTlBwczNZbm9vUU5kZEpSQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9maW5hbGl6ZS1vcmRlci9PWTNUZVJGcFFaQ2VWbHBDalExeEs4M3dKbDJ4SGp3MHJoeXlqMVo5NDhVIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNjQifQ","payload":"eyJjc3IiOiJNSUlDaERDQ0FXd0NBUUl3RmpFVU1CSUdBMVVFQXd3TFpYaGhiWEJzWlM1amIyMHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDNnZwSm1ReFllSFZCRlQ0X2gzblBsd1BYWnJqdGgtTGlob3loZVFmY2szZXF6SEVIMzVCczNkdnUwdEhOM1VpaU5ITWFyM1FnbmI2ZVhtT2lJZFBtaC1QclFvMEZuRUx0TjR4MUM2QlRvcDhDSTVURXdmSlR2dVNXYVE4REpyd0hOYlEyREQweENlY0c3dlByZHhseGhrcUZJUm9tWTJUYWxLZjREX3F0d0FSaWg5eWFPdWpkV0dqeXM2VDlUbnhoUmFOekJVZDZxdEN2TlItZ3pFV1k2aW5zRXlVcFZKUWtPMGtJWDdpaFNTdG5qYkdiRWtuV2dPbnhwUlVlYi1Wd19OLUFqUW10MUcxLWVkQkYxdkZYQ0ZVVnRBY3MzY2lkblFsTy1FWTN6SE5hdnBRYndTSFFhN0ZaYkRuN18yTm1PYXRlYTRKbHZpRjlxdFhHbmdQcnRBZ01CQUFHZ0tUQW5CZ2txaGtpRzl3MEJDUTR4R2pBWU1CWUdBMVVkRVFRUE1BMkNDMlY0WVcxd2JHVXVZMjl0TUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFDcm1sV0N6X3ZWVEpKUjVTWGxadGJHcjNBeGxsaEdWQXV6N2UtTFRHckVCUmllRDBNODctLUR4QWNNV19uS0I2UFgycWNST0swVTJGcXVrOU4zcTM0eEFuTmhyM1hSaFJ0dkxmYVJnZnFoWFdMR1RPeFJtRllBMGRRcDV5ZUItcXpnTUZrZEpiT0M2ZTZldV90TkpLaUhfM2VQeXRlRzBHMlF0b0lTeFF3WGd0clpCOVExeVQ1el9ETmFNNTQ5eFRINjBOYzdIV3V0MjJRQTFjRDlFMkF5Tkx0TnUxVVEzZEtJbE0xUndYa3hveVBzQ1g1OFJybmQwdXVXckNCVmhnYmp6aDYyTE02YWtleWYzT2ZYc2xjTHpDNVowQmI4T2JrS3JmLVhrVzFTY210WVBDUlVHWG9iVy1xT3l2SVRqeDdneVlkc2ZiWmhQZjRtbHU5QVhPdmkifQ","signature":"QAe6qcKEGtEDHs5oZVox8CkAI1_ft-bf4Lyp1wjOX_xp9LNtldoIzZX755l7CnFBdZnqyRCA9DlaL29IGh4gXA-n1tzX7w9yhEpuuRn1Lhnq11MVx_2gao4xB1puKJLCNky4An8OG8vwSUH9mkPav1Bz4FFQ6yIYsmYvlaAlR5IWQsdC-EcczvdGmpX7YINBZOG8yiEki-7qDlmtbhOsiflD_aqtDeXM67Bezswx-B1mbfEOmk0XRE_j6Z1vVoBb7hX8e-DqwX6aFpnGEqS6HVP0LrWxfrrykJByWTAnFejd5yeEC3w-z3Jt67FFbjNw1m9RUCmr5DoCjK0joZ7mSw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/OY3TeRFpQZCeVlpCjQ1xK83wJl2xHjw0rhyyj1Z948U" + Replay-Nonce: + - uEPWBeuh1BYmaH-b61A5nA + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + Content-Length: + - '385' + body: + encoding: UTF-8 + string: |- + { + "status": "processing", + "expires": "2019-10-11T03:08:18Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/OY3TeRFpQZCeVlpCjQ1xK83wJl2xHjw0rhyyj1Z948U", + "authorizations": [ + "/authZ/DQl_qQdol1ly9_vDLHcBL9nwM-i4j0kr9RCluzfXuic" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +- request: + method: post + uri: "/my-order/OY3TeRFpQZCeVlpCjQ1xK83wJl2xHjw0rhyyj1Z948U" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoidUVQV0JldWgxQlltYUgtYjYxQTVuQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1vcmRlci9PWTNUZVJGcFFaQ2VWbHBDalExeEs4M3dKbDJ4SGp3MHJoeXlqMVo5NDhVIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNjQifQ","payload":"","signature":"JWM_GKvH2Kb-rsv52CmFnRNI32vpGqOJ_6M1DVv2l-HFn6auBedKvHiBPsxYgL_57NkX2rTkLKbSNpqzwsdBa6Z1aoJekX-SCBgkp7xyh7Zd6iYb7sNI4JJRLpSfXiXj6O_p_t4jL2YJuhV9088s8OS8XWVLswjVzsjeCxUmrUFWpCq9nZICezkggFCJVz60cN39yrEdTfuycrQyJd5JxbRsJZ0f_eWmRQtdsrdNZxgsymf-jp9zQouuwbS9xQbJUtM8McEaTUQ5FxXfkz7Qpo2FOFTEzTzBF5ZOMbC0DfEPUl3NCJMBEea-HR4O9Zs3lmjgfhGZpAlVly6EvYPsMg"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - "-_gyW-MwtP43DGyw1qxmig" + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + Content-Length: + - '452' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "expires": "2019-10-11T03:08:18Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/OY3TeRFpQZCeVlpCjQ1xK83wJl2xHjw0rhyyj1Z948U", + "authorizations": [ + "/authZ/DQl_qQdol1ly9_vDLHcBL9nwM-i4j0kr9RCluzfXuic" + ], + "certificate": "/certZ/24c68d31ee7f06d8" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/get_nonce.yml ruby-acme-client-2.0.6/spec/cassettes/get_nonce.yml --- ruby-acme-client-2.0.5/spec/cassettes/get_nonce.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/get_nonce.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,73 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:14 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:14 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - hpHeIywErqvdFwQwSQbM2w + Date: + - Thu, 10 Oct 2019 03:08:14 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:14 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/load_account_unkown_kid.yml ruby-acme-client-2.0.6/spec/cassettes/load_account_unkown_kid.yml --- ruby-acme-client-2.0.5/spec/cassettes/load_account_unkown_kid.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/load_account_unkown_kid.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,347 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - wTrCXDiiVZa4RYUFyV2vyA + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoid1RyQ1hEaWlWWmE0UllVRnlWMnZ5QSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMzg0Iiwia3R5IjoiRUMiLCJ4IjoiMFM5eWY3YjlybmVOUGFRdFlTeG9JemhoOFdiU2RCYW10Tm5PM1YzZnB0LTZrZmVJUXJ0dWItNkNJdVAxVktSayIsInkiOiJIcEtfV0FlTXdnRWhkRUpEc3dpZWxQRFMwSFo2dzV2R01Jcm45S1VCcFF6YTY1OG5XeDVOTWdnUTR6ZkdhVFNvIn19","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"Pe_Dw3cmivDoaI6G5AOI5e34nDYfXtO-ynKXP-hyEjFOLXHKAm_T8YMzbgvi8Rc1I2jRbOlItkX7WnA6QQYGhYCz5h1H1Z-SGwzdekqtFJ0Bw_qpUOAkzZP1-4_hxwfe"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/59" + Replay-Nonce: + - PZS156QXCqPRA0xFEMnLrg + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/59", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "0S9yf7b9rneNPaQtYSxoIzhh8WbSdBamtNnO3V3fpt-6kfeIQrtub-6CIuP1VKRk", + "y": "HpK_WAeMwgEhdEJDswielPDS0HZ6w5vGMIrn9KUBpQza658nWx5NMggQ4zfGaTSo" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - aEVM1B8IwvKPpaYLkrYvDA + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiYUVWTTFCOEl3dktQcGFZTGtyWXZEQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMzg0Iiwia3R5IjoiRUMiLCJ4IjoiMFM5eWY3YjlybmVOUGFRdFlTeG9JemhoOFdiU2RCYW10Tm5PM1YzZnB0LTZrZmVJUXJ0dWItNkNJdVAxVktSayIsInkiOiJIcEtfV0FlTXdnRWhkRUpEc3dpZWxQRFMwSFo2dzV2R01Jcm45S1VCcFF6YTY1OG5XeDVOTWdnUTR6ZkdhVFNvIn19","payload":"eyJvbmx5UmV0dXJuRXhpc3RpbmciOnRydWV9","signature":"ZKXwaOLsTQnSIw5CGTl3tM8u-5_lTNCYSyvfDJGbz5nCsBi7cXjjPHydME7Bl2iVU3bKos0k0haptvTrYcheMmR6KeukQVvnTF_GPd21KoOHA2T7uQjHqvcwx6hUYnLS"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/59" + Replay-Nonce: + - pV3Ghfe-5Y5kbSb3NQSdxw + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/59", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "0S9yf7b9rneNPaQtYSxoIzhh8WbSdBamtNnO3V3fpt-6kfeIQrtub-6CIuP1VKRk", + "y": "HpK_WAeMwgEhdEJDswielPDS0HZ6w5vGMIrn9KUBpQza658nWx5NMggQ4zfGaTSo" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: post + uri: "/my-account/59" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoicFYzR2hmZS01WTVrYlNiM05RU2R4dyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1hY2NvdW50LzU5Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNTkifQ","payload":"","signature":"b7NMxbLPItmmHc3e4EM7R0fcyX6K9XZYEjQIUO95E4WbFy3LpJuYN_rcq1e5IthkX4HxVbm4DoJjCalKwNxN6CLmsPxOeFfDFn72QATrLna6fVHnPEww6kBKavnr2rYT"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - DqngGoyWJ1gDlwouO4kKnA + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/59", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "0S9yf7b9rneNPaQtYSxoIzhh8WbSdBamtNnO3V3fpt-6kfeIQrtub-6CIuP1VKRk", + "y": "HpK_WAeMwgEhdEJDswielPDS0HZ6w5vGMIrn9KUBpQza658nWx5NMggQ4zfGaTSo" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: post + uri: "/my-account/59" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiRHFuZ0dveVdKMWdEbHdvdU80a0tuQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1hY2NvdW50LzU5Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNTkifQ","payload":"","signature":"KPk1wyOe6fVytUwEtubmARc2xMwzKi9eto5nXVTrTsUDxDxT8SWoejgxe_ezPkn8xkdliQfwBUSXIZHqk7kwDmM4uvKrhvVqgfwr7bVQ1BTD4IGqFTfAsOiJbm-oIeSp"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - 7AIuBsSX3qEIyHX89NN0mA + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/59", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "0S9yf7b9rneNPaQtYSxoIzhh8WbSdBamtNnO3V3fpt-6kfeIQrtub-6CIuP1VKRk", + "y": "HpK_WAeMwgEhdEJDswielPDS0HZ6w5vGMIrn9KUBpQza658nWx5NMggQ4zfGaTSo" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/load_account_valid_kid.yml ruby-acme-client-2.0.6/spec/cassettes/load_account_valid_kid.yml --- ruby-acme-client-2.0.5/spec/cassettes/load_account_valid_kid.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/load_account_valid_kid.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,245 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - CW3g31Wdrs6FPgvGtFB8Ag + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiQ1czZzMxV2RyczZGUGd2R3RGQjhBZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMzg0Iiwia3R5IjoiRUMiLCJ4Ijoid093WVBBUjc5c2plVldYc1kwaExFQmVZdkRhbTJVbmRrN1pGOGtQMy10VWE1eS1aSlJqaG54NmpYZi13eEhwSSIsInkiOiJfSl9WMW84blREcnJjZUI2U2VWand0SFl5azl4VTF4MjdCeGVhU3BDU0JtdkpkZ3k2M1I3d1VOcGhzd2gtZm93In19","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"nT_BdozJyFM3mphoiJgR0aptn2nYjyhNUtNNyNGCIJCWYI8L54zmo31LM_N31trdZzMKcIUzis_pXBz8yStPRXcQqJWpU6xkK-Jv0VT2whlHbApCLxSGzhwhWcVFux-w"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/60" + Replay-Nonce: + - zCX0kliAkU080IxqGv0beA + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/60", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "wOwYPAR79sjeVWXsY0hLEBeYvDam2Undk7ZF8kP3-tUa5y-ZJRjhnx6jXf-wxHpI", + "y": "_J_V1o8nTDrrceB6SeVjwtHYyk9xU1x27BxeaSpCSBmvJdgy63R7wUNphswh-fow" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - xZU2IbAoSub6VCYLIpNiGg + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: post + uri: "/my-account/60" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoieFpVMkliQW9TdWI2VkNZTElwTmlHZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1hY2NvdW50LzYwIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNjAifQ","payload":"","signature":"aW_inVRhJIr5nLM9jIZ6kRNhPuMGa-UFm9tslXNSBvQNLX9PYQYdzFYUUiJaibmhkSvAY9K-UPO8BLW3fUcSu_bH6uXJcz8xU_H78gCCA8Jt5S_GCGI3SRxM7tk6Npa5"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - 7E9OXm-F9tEelxKaca2cyQ + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/60", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "wOwYPAR79sjeVWXsY0hLEBeYvDam2Undk7ZF8kP3-tUa5y-ZJRjhnx6jXf-wxHpI", + "y": "_J_V1o8nTDrrceB6SeVjwtHYyk9xU1x27BxeaSpCSBmvJdgy63R7wUNphswh-fow" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/new_account_agree_terms.yml ruby-acme-client-2.0.6/spec/cassettes/new_account_agree_terms.yml --- ruby-acme-client-2.0.5/spec/cassettes/new_account_agree_terms.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/new_account_agree_terms.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,124 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:16 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:16 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - yFZPHjvjLZq2aBwFbGoOKw + Date: + - Thu, 10 Oct 2019 03:08:16 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:16 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoieUZaUEhqdmpMWnEyYUJ3RmJHb09LdyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6IjRSeEQ1UnBMT2JjNURRcHp0UlZ3YkNsaWdWWmJnQktoaWx5MFRXbTJpTUZYc0ZRRENlanJ3bHhqLS1nUXQ1UndXX3EyT0FvRVpNMHBHVjN1eWN3SVlsM2VmYVYyMVpjVHA1QVM2OHptdllEQkoxTFhoVGtwdkJxOHEwMmNJd0tuOGxTaExHdUpWTFl1YmMzZ0lyU3Q3ck5jckJzNEh6cThqZ3VRaHF1c2xRWkRBS2tILS02em1Oc0t6M084UU1rYmNqLWx1Z2xEUFcxcU91SlpRUWpoX2U1WXludmtqR3I0cjcxNHdVbjhKcEJfRWl3TG5BMkM3MVM1ZmRCeWN0QjNPcG4zald5ZTJlRGlLZmJqX1JSOEZ0czIzcHQ5QXUtTGtDMVdVdEZ2X3pGaXA4Qkp4WWNjd0ZPSGhWYjl3b2hDWV8yMG9DT3NERkhhcHJWV3p4M0s5dyJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"HYzqegvAYrBt13T11BB832WldifTAONqmZB4xRqoI9xcsMVDDTICqJo8FUJpiSvqn6jKN8yBkW8_OEbiuZKe3Ob1wQ0EGL0O0HX16kHjkS0qkrMVVDfSuxOM5LT4CrpbnqbiU0tAifD9tl2_S98nOAM2Oln6xJAjZt49gJAJCSvmOyei42XnZZjFPVPQOsrusZzliEPNZHokgNxqn4TPmVSImqQykJluV_tZaKOUVYJxzG36twPNMOqz2EjVVxxUmgFmDGIpE8qQf3voRddA2Okb9gdcb6GPRMNH1oQmlDmrq1SzQxXE34uRl1dXWf3oIh4tApTVoGC6FJwqqcfMYQ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/61" + Replay-Nonce: + - _ClcKhAQfQ3NUANcKCCKfA + Date: + - Thu, 10 Oct 2019 03:08:16 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/61", + "key": { + "kty": "RSA", + "n": "4RxD5RpLObc5DQpztRVwbCligVZbgBKhily0TWm2iMFXsFQDCejrwlxj--gQt5RwW_q2OAoEZM0pGV3uycwIYl3efaV21ZcTp5AS68zmvYDBJ1LXhTkpvBq8q02cIwKn8lShLGuJVLYubc3gIrSt7rNcrBs4Hzq8jguQhquslQZDAKkH--6zmNsKz3O8QMkbcj-luglDPW1qOuJZQQjh_e5YynvkjGr4r714wUn8JpB_EiwLnA2C71S5fdByctB3Opn3jWye2eDiKfbj_RR8Fts23pt9Au-LkC1WUtFv_zFip8BJxYccwFOHhVb9wohCY_20oCOsDFHaprVWzx3K9w", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:16 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/new_account_refuse_terms.yml ruby-acme-client-2.0.6/spec/cassettes/new_account_refuse_terms.yml --- ruby-acme-client-2.0.5/spec/cassettes/new_account_refuse_terms.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/new_account_refuse_terms.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,116 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:16 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:16 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - fllAWa2hcoxWw_V2i5yY2Q + Date: + - Thu, 10 Oct 2019 03:08:16 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:16 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiZmxsQVdhMmhjb3hXd19WMmk1eVkyUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6Ind6WG1pbWJ3cElfdFhva2lqNTNpNTlvYVRTTks2QnVPLWt0cDhwLXFBVG1YanBUdUxFRUF6WVFxVVIyUncwZmJ6TG13bk1qazFLVFJ1azZjdllFREhJd1VFdUU4Y2VUaVg5THdnTzBzenpLemNMMGdtZERDZnc1WVFfcjRlenJ0VC0wTmlMdEdkT2JLZEZ1b1VGN0UtUzk4UC1OOW0yZU5CSU1xVDdXQmw1RVRPeFh6OTRjUXhHNy13aFhhWEdlMUdpM3V6SGlxaHVBcTVZd1YyX1JROW0xd2VxUmdpbUV5NGc3NzNOSXpTMTZQOTMxRW04alFLYTRSQVBZWHY5SVVyOC1VMVpydVVTUWk4WGQzZnBNYVhhMnBYREtXWjc5dnM4UDBycVFpMFBCZ0tLaXBRQ1lXZS1pVDljMlh6YUR0WE1MSzVWUEY3dTNDLWowLUlkaXRDUSJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl19","signature":"WmC99gSTvwIILpo7vzgQX6RY15lQrwQ5_GiqLJWkI7yPpnDjFM7RzTg-fdDIdEBKUO_SmZquyq6DeWTGeK5Sv05pa35TzY7RG8KeUVUBn2TtNmvksBvufvzzSZkZtwyiYOpaGS9wtmVyl5K92trzgQKfEbhbmkX1G2C48FErcIPASExxRXGrO7Ow8xKVWqIjNzdIcB_xaNIF6cqoDIaQT0QbtCLcMDum732CWbGtGfyNcbXwzFfu5g9X2qUSCs6YsNa1ScljowKLFAxf-fa8F7ztkUkAUh68LS-oNY2MkXjYHdwtmXZTMlC46nPUz8yoAExlewpeKPrJBWEsY_mY5g"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 403 + message: Forbidden + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/problem+json; charset=utf-8 + Link: + - ;rel="terms-of-service" + - <>;rel="index" + Replay-Nonce: + - s652EIBYhKFgo3BZDe-88w + Date: + - Thu, 10 Oct 2019 03:08:16 GMT + Content-Length: + - '150' + body: + encoding: UTF-8 + string: |- + { + "type": "urn:ietf:params:acme:error:agreementRequired", + "detail": "Provided account did not agree to the terms of service", + "status": 403 + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:16 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/new_order.yml ruby-acme-client-2.0.6/spec/cassettes/new_order.yml --- ruby-acme-client-2.0.5/spec/cassettes/new_order.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/new_order.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,178 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:20 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:20 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - Oro0Rhbjrz15xEYyE3bWYg + Date: + - Thu, 10 Oct 2019 03:08:20 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:20 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiT3JvMFJoYmpyejE1eEVZeUUzYldZZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMzg0Iiwia3R5IjoiRUMiLCJ4IjoiZW1CYXd1bF9lRkFqeXZGZ2ZRU2JlQUpHTTZnbDVFZ2tDQkdHSzk3RjV1c3FSZjZXWmtJLS1KQjgyWXFBNDJDeSIsInkiOiJTb1VaMzVOTnBNVG9XdTJZMWdkVjgwUHJBZ3UxVFRnR2s4eDVTSXZ1WmNUMFl0bllDNkIyVHpmdGg4di1VX2hPIn19","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"ZhYDAXx1fRqjgQhlSqq2vWfE0Tu8GIBx5VED5AgsTny0LFxr0VTTcfV8g7qsavCoGipRRZcrNfCL326kh5mq1XPHzXdG0iNWwtGHRrbMB4XrsaTC4E5js3RMtxF9CKxc"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/69" + Replay-Nonce: + - fSZVUdObtWiKkOeoBuQDPg + Date: + - Thu, 10 Oct 2019 03:08:20 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/69", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "emBawul_eFAjyvFgfQSbeAJGM6gl5EgkCBGGK97F5usqRf6WZkI--JB82YqA42Cy", + "y": "SoUZ35NNpMToWu2Y1gdV80PrAgu1TTgGk8x5SIvuZcT0YtnYC6B2Tzfth8v-U_hO" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:20 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiZlNaVlVkT2J0V2lLa09lb0J1UURQZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC82OSJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"_Xt5PHogrITBJFl7q8DHi6Mzl3nMr-K43QNQshDVmmcdVp98BF8xQr3XM39RH_hNhze5awagBqVrA50ELUJSW6XG3LBCR5N6fyhsVbWoDnx8rCwfY0F0YqGzTZacSjlA"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/6H2x8Bin-qxPnVerW-k4C-2nlYzbW3SWpBlw-o--_Kg" + Replay-Nonce: + - BoTL51TdVcVh6iD_cLVPNw + Date: + - Thu, 10 Oct 2019 03:08:20 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:20Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/6H2x8Bin-qxPnVerW-k4C-2nlYzbW3SWpBlw-o--_Kg", + "authorizations": [ + "/authZ/AnWQqpbBeqh-Vm-5BAEWTRnb3lKyEtfJUxdTllcdGbo" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:20 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/nonce_fail.yml ruby-acme-client-2.0.6/spec/cassettes/nonce_fail.yml --- ruby-acme-client-2.0.5/spec/cassettes/nonce_fail.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/nonce_fail.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,116 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - Nr5JbswLJWa8FwbDW5spdg + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiTnI1SmJzd0xKV2E4RndiRFc1c3BkZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMjU2Iiwia3R5IjoiRUMiLCJ4IjoiS0dhMzVHSFBuN1owWkgycjAyUE9ZcVBzVmVoLTlEaW5GSUZVZlNKeUFMRSIsInkiOiJYa2V1MmRXTGo0SmhJakhXMThWSnFIbnBuMjZiWE52SEJYT3FTOG5oTHhNIn19","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl19","signature":"Bpn4xFJAMVIplSaZw6b42B1WD1tieAGNeAqFA1kl9npDkPfUG1vqO86xelHQZsRxrA0T-yWYGRXz2bu3w1gYiw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 403 + message: Forbidden + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/problem+json; charset=utf-8 + Link: + - ;rel="terms-of-service" + - <>;rel="index" + Replay-Nonce: + - nA9fzQ2E9Chs1lpyLoX-2Q + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '150' + body: + encoding: UTF-8 + string: |- + { + "type": "urn:ietf:params:acme:error:badNonce", + "detail": "JWS has an invalid anti-replay nonce: 063ziGbuwwDIznTSUpOaSQ", + "status": 400 + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/nonce_retry.yml ruby-acme-client-2.0.6/spec/cassettes/nonce_retry.yml --- ruby-acme-client-2.0.5/spec/cassettes/nonce_retry.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/nonce_retry.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,137 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiaW52YWxpZF9ub25jZSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6InluSkVQN2JyQi1sMlRXQUtxSkVOemM4U1NNRnJpTXhKTjRRU05qcF9zeFEtVlZzZmZkbXRFNk1aNDdEVmI5cEo3c0ZoN1p0bmNkckdhX3BheWdmci00aUg5MGRCeUpNeDhBWTJDUmxQZHFlR3ozLXNEc2ItOU5OQWkySnhPaXl5RUxtUXk2aHNXcWVhdkJfSnpsRlk4YTJMbFRzM1NOQml5amVBOVhwWnlGR0dFNzNoNkFnNFRfOHZzWWRINFpTaWVMVVhPMC1FWnNTdnA2aXhUN0VjVTVLUlJpWUhGNGVzZk9zTm1ja0Rna3VhcEh3S2hua1Q1VmlKY1k1clVZVF9kZHZ0M2NZZktGeDNxRFcteUdGUHVFcVlHZHlmaUllTWJOdURPUGdfdVNlOWN4aFJvWnRtS1lDYUJtaDFZLXRXNG5vX1M3ektvYmJNQnU2NHpwYjNLdyJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"tp6zGSHndIi8tqYSy_IgI9xzs_y1wTsWdpBrtlk7vqSt8ZUX16VsTtev7hwoykOSM26Tj-M1yiTX5M_dGQET4F6HNaq3J9V8JE-rUT7go_ybf-q7JE33W1OTU7JvCayRaYSvxG9sPDthtrUFQnOqGja2EzNYRPcFpXVEHnMil71oaAxYGpBi1BSeHL4yM1b3JRW28LUHhtm4fS4E32o9GL891y6MinO7yVbwwnS_EW12kP61kV_qcOWgLF_EIaCzhrs-_3rflEXTT1b1Dta0FdIA6oyi0j_GBc5SFL1eGAnJmgsj9y7t_34Unva4ZUZwQwLepA9RIHRTOBUtwcAeYQ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 400 + message: Bad Request + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/problem+json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - X2B9trMSP5OkXY_arjvAGw + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '138' + body: + encoding: UTF-8 + string: |- + { + "type": "urn:ietf:params:acme:error:badNonce", + "detail": "JWS has an invalid anti-replay nonce: invalid_nonce", + "status": 400 + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiWDJCOXRyTVNQNU9rWFlfYXJqdkFHdyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6InluSkVQN2JyQi1sMlRXQUtxSkVOemM4U1NNRnJpTXhKTjRRU05qcF9zeFEtVlZzZmZkbXRFNk1aNDdEVmI5cEo3c0ZoN1p0bmNkckdhX3BheWdmci00aUg5MGRCeUpNeDhBWTJDUmxQZHFlR3ozLXNEc2ItOU5OQWkySnhPaXl5RUxtUXk2aHNXcWVhdkJfSnpsRlk4YTJMbFRzM1NOQml5amVBOVhwWnlGR0dFNzNoNkFnNFRfOHZzWWRINFpTaWVMVVhPMC1FWnNTdnA2aXhUN0VjVTVLUlJpWUhGNGVzZk9zTm1ja0Rna3VhcEh3S2hua1Q1VmlKY1k1clVZVF9kZHZ0M2NZZktGeDNxRFcteUdGUHVFcVlHZHlmaUllTWJOdURPUGdfdVNlOWN4aFJvWnRtS1lDYUJtaDFZLXRXNG5vX1M3ektvYmJNQnU2NHpwYjNLdyJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"feFWQErflM26yux443Mb0WAzP1_meo-SpdwGiXsQ35D8nFAZo6LcjowluK7vDwKpSJkPxb7Pgy3fEKqr4CvZ70G8HFAUbYaT2PkrTw1jIBxJCcK2O6iQ-e4ZmEAR0gz1HNb-QI9KEO3lrBbNvZtoswZXv4yA2vzvSwugXZKB8jTfNMUJjAMLs0WCBqoRgSfNeVGd9Hty0CDknK97jm4tYmxStYYpXZQ9pYSEq5uWAFCjvjdQ1yiQPdEV8YjSTN6agYVx670kgt1TVZIORhGwOOwQwWXK5-BhI6h24uFAzKHWCLBYWj54Fjod-DsrS1Z9-dTZN5IBodE9Lz4l9suOXg"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/56" + Replay-Nonce: + - IKA3e6VXcs73cg6wwe4q0w + Date: + - Thu, 10 Oct 2019 03:08:15 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/56", + "key": { + "kty": "RSA", + "n": "ynJEP7brB-l2TWAKqJENzc8SSMFriMxJN4QSNjp_sxQ-VVsffdmtE6MZ47DVb9pJ7sFh7ZtncdrGa_paygfr-4iH90dByJMx8AY2CRlPdqeGz3-sDsb-9NNAi2JxOiyyELmQy6hsWqeavB_JzlFY8a2LlTs3SNBiyjeA9XpZyFGGE73h6Ag4T_8vsYdH4ZSieLUXO0-EZsSvp6ixT7EcU5KRRiYHF4esfOsNmckDgkuapHwKhnkT5ViJcY5rUYT_ddvt3cYfKFx3qDW-yGFPuEqYGdyfiIeMbNuDOPg_uSe9cxhRoZtmKYCaBmh1Y-tW4no_S7zKobbMBu64zpb3Kw", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:15 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/order_authorizations.yml ruby-acme-client-2.0.6/spec/cassettes/order_authorizations.yml --- ruby-acme-client-2.0.5/spec/cassettes/order_authorizations.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/order_authorizations.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,242 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:14 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:14 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - mZhTCXL5rSW6dymZSqdHAA + Date: + - Thu, 10 Oct 2019 03:08:14 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:14 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoibVpoVENYTDVyU1c2ZHltWlNxZEhBQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6IjM0Vm1EVWZCcDNEeTdHY0xQaEdXRFNwaTU3SWFZZjFIckpsMlVJSThYTWNiQ180MUdYUkhZUU5wNTVzQ3JGSFB0X3VjMVU3ZEhfTDBmejk3dnRSd0U4dDU5X2xFUEJJUVZ4NElqM2pGX1RRdWdrUGFRcHlKN3UteTl4YjVkWTk1NmZyNjBPQ1ZfdGpsYkFfNl9TRDF5X2V0TzRnN0twa0VPSkVwc3A4ZXFZdG5MU2Z4LVFEN2VyT1dSTm9BQ3RJZExnc0JTdDUwNGJ1ZF82RzhhRElQMV8xbENZcmpmYkNjVXVPd2t5UVlSWkRvTHEtOUNMQ3NuUHo1TmtIQmVzaGhPZENTQmw5NTkwMmZrazVLVDdlQ3NRNDY1Z3ZiV3d1Zno5ZEdqV3p0dXNHN0pjeGhPU0NsMHJDNkhTOUQ2QXlQbEY5NVpIcVJoY2RvZWZRNTJ3THV4USJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"31Aoa8SK76XalC1zGq1dRBxFcmTbYRVtShsN1r_dzc4oy3CgEQV0loX91CuZNnpDMob0bd9R5BZ8hOkvciY0rELF1m07-yDQ-hmHMapMMiQ3HBZY0YVztV0kCJbveFWl_C0cyEqxQ9uiQeNbq_BeVRocjbz9unn1VJP-1T6Nt6_tJRAsE3JfxDfSMJLxG6DJxHyauBesNrY-vYWBR7rNdw59FzvenSI8E4te2nV6PAZL6e-x02WXdFyo05qlS9Ut-CX8r2MSc2jEBD0xakQCPI-DX4VDpvWFBRCd_8OwpODonY28NBuuAUS07Hna8l5uOH6DcRy5HPjflme2hjPaZw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/54" + Replay-Nonce: + - q0Q_Ge_VjL7ECEF33zhivA + Date: + - Thu, 10 Oct 2019 03:08:14 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/54", + "key": { + "kty": "RSA", + "n": "34VmDUfBp3Dy7GcLPhGWDSpi57IaYf1HrJl2UII8XMcbC_41GXRHYQNp55sCrFHPt_uc1U7dH_L0fz97vtRwE8t59_lEPBIQVx4Ij3jF_TQugkPaQpyJ7u-y9xb5dY956fr60OCV_tjlbA_6_SD1y_etO4g7KpkEOJEpsp8eqYtnLSfx-QD7erOWRNoACtIdLgsBSt504bud_6G8aDIP1_1lCYrjfbCcUuOwkyQYRZDoLq-9CLCsnPz5NkHBeshhOdCSBl95902fkk5KT7eCsQ465gvbWwufz9dGjWztusG7JcxhOSCl0rC6HS9D6AyPlF95ZHqRhcdoefQ52wLuxQ", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:14 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoicTBRX0dlX1ZqTDdFQ0VGMzN6aGl2QSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC81NCJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"I4VidBAochvPBnMZQOyu2d5_Yr48ZW15Le5fOKTDe_rVD08VODd9WYTyx2aR2nZ1ccOprYG8LHJGHnAlrIb5eCsKuwkaLlPXaSUmuKb2rtohqEXGg9e-jmJrTQtKLXIHwk25fTx9vYy0rh2f24X42UeB4rhEFF0niOqaXTq-SNvNPYfmtt98hBSfMhTNTH9Pq77lWvInciNIZXrSAFNjcGo6emHsNcMCslfr0URb1Vwojm5C5LpgYEjdhravjvj1FBgRaWBTI36_WWaJWyRizL-Mt4_VTw3XhdtrN4LKuXDy2pOBLS67yPQkzxSn3S0KFQLhESOByxKlb9JtSDJihQ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/qqhqH4Oxd9lgv8Lir9fwngfcl_5K9aUz2wXv9a6IJm4" + Replay-Nonce: + - GohgOlvKXnpPUjwt1xwYEg + Date: + - Thu, 10 Oct 2019 03:08:14 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:14Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/qqhqH4Oxd9lgv8Lir9fwngfcl_5K9aUz2wXv9a6IJm4", + "authorizations": [ + "/authZ/FEYgHj9-jWaETKuBx2yOmPuuVOewz3ihBl4jgqt9Zpw" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:14 GMT +- request: + method: post + uri: "/authZ/FEYgHj9-jWaETKuBx2yOmPuuVOewz3ihBl4jgqt9Zpw" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiR29oZ09sdktYbnBQVWp3dDF4d1lFZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi9GRVlnSGo5LWpXYUVUS3VCeDJ5T21QdXVWT2V3ejNpaEJsNGpncXQ5WnB3Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNTQifQ","payload":"","signature":"kJ-xRuaw3pkwBeYscuebNyHXhXfeOhQYw_ckEIpz99CTRFMhainIgOGfbcu7p-WeLZTfzjER_tVIk6oiUvOiI9gze5K8odJ9FpP01mViELOyhoZthM-jkCdpM9pccEEc7XSKv1obao5ixp2-7gDMoVJKyBeGO30acrnCwI3yl2jYrteWgywRNO3xWRQfSiGyj_z5Cqu47K5zBaH_gUDIZgTh93Uj0C8MSYOmYR_dxTmvGuB4HsTmsD_C5kOUD27QaeojPiTqMcpamlLp8PTB-yFXrFCobAU0c2LDp-GrNOIc22en7cUYcxPWHgLSR2tlOaRQC-k7wezG5xpt5PRR3Q"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - ljVZHoAS1Qj2t72VClVLLQ + Date: + - Thu, 10 Oct 2019 03:08:14 GMT + Content-Length: + - '874' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [ + { + "type": "http-01", + "url": "/chalZ/S4LV-WpJAr_5mmLBn4rtQdoFzKp4SgLINsq0M1T2m7U", + "token": "mvKMLyiZmfwIZqt3oWyD4u-LnObSrnhqzOi0sa4KTbY", + "status": "pending" + }, + { + "type": "tls-alpn-01", + "url": "/chalZ/QbGcd4s2SprlUoEIt_Xw2PHtw78aELvpcdtgAlKwPEk", + "token": "9Vg_L4DQ9qEFkcyLRXXwopoFDLkO10iDZI0JhK2HGJU", + "status": "pending" + }, + { + "type": "dns-01", + "url": "/chalZ/gl1_jbOYJVOxnY2z3CMXLknc7r8QtntQLJLyToIQQnw", + "token": "ZYyzndctKmISfYGlMTgE7GOdK6mi5Zh9NJM0jc4N8SA", + "status": "pending" + } + ], + "expires": "2019-10-10T04:08:14Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:14 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/order_certificate_download_fail.yml ruby-acme-client-2.0.6/spec/cassettes/order_certificate_download_fail.yml --- ruby-acme-client-2.0.5/spec/cassettes/order_certificate_download_fail.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/order_certificate_download_fail.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,177 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:11 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:11 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - IY6aQ3HI_w0wWQfW_25iog + Date: + - Thu, 10 Oct 2019 03:08:11 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:11 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiSVk2YVEzSElfdzB3V1FmV18yNWlvZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6InpoT0F1eUZJdDNkWFVETi1tU1BQQWhxcjdmLU1JMnpORmtDRzgzSDhsaU13MFhOelVQaW9HOVlySm1HRF9GYy1CcHd4M25yRjlmOWZWaWlRUnp6SlZGNEYybVd4TEx2RGU2UlVNRmVqVktzcXU4M2lpUk55TmZhXzBvcTUybHFtQjZIU0g0bEtQLWRIc0doOEtIOTFKMFdLYUtGeTNWQi1DSTlFZmtrZl9sNS11eFRrdGQ4Rjhjby1LRXpnLUp4YUJfQlZSa0FMQU5TNTVPRzN5b3hzLThfdEFaeDBuYXlYSXJpZ1IzSUNzVTFKWG5IVnRvT3lWZHpLNlluaTkyQzY5b1VvdTdtcUtoWlJtMk1OaXhPb1ZWZ01IbWFIYUNuWUQ4ejBlVGJuTHRIak5IaVNsSlk3YzlMNXI5QUJHZi1GemlRa2hPVWVTUDF6M0l3UmNQN3A2USJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"oFydbJkpA4pTvrCflffk6djUj-_p0D64-HlPX6UtdzfF4kiIOPlzm-s-4RQlEdqq7xb9D3WhdYxmePcVrvu8ktQ-laRE67f6egLQ_vZNdFsYXyOMYpwu-vdo0f7BIHCBYIEFPoE47myhva-kIarQEFwKXrM0sNQkulF99UNhKbbwDWd-ec5rpArm6KajbthZcG80DTuqgP-x1TmANlT4ukWLEReuvbHYQpRcyxXGWPb66xg_9MoHwPRdkKwDAam4n4qMZLOVe9c-DmmubBpNeTsqBfWZfa4rZTiTG3cfW3zVOchney9Q_1nOQ7t8QodpizQIs4aSWsABpjzh5nvwcg"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/49" + Replay-Nonce: + - olgUCT19BcyB-N9AhU06Pg + Date: + - Thu, 10 Oct 2019 03:08:12 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/49", + "key": { + "kty": "RSA", + "n": "zhOAuyFIt3dXUDN-mSPPAhqr7f-MI2zNFkCG83H8liMw0XNzUPioG9YrJmGD_Fc-Bpwx3nrF9f9fViiQRzzJVF4F2mWxLLvDe6RUMFejVKsqu83iiRNyNfa_0oq52lqmB6HSH4lKP-dHsGh8KH91J0WKaKFy3VB-CI9Efkkf_l5-uxTktd8F8co-KEzg-JxaB_BVRkALANS55OG3yoxs-8_tAZx0nayXIrigR3ICsU1JXnHVtoOyVdzK6Yni92C69oUou7mqKhZRm2MNixOoVVgMHmaHaCnYD8z0eTbnLtHjNHiSlJY7c9L5r9ABGf-FziQkhOUeSP1z3IwRcP7p6Q", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:12 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoib2xnVUNUMTlCY3lCLU45QWhVMDZQZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC80OSJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"qeUAzjDdaQ6xi6s-0AziJX3ofrpcS73wpX0skKzASiKgA8X5ghEyUgdauDW5rJY-7ApAZg11TyGud_eInlGzuhJwt4zCFSnJn10-14crfZ3DB27JpSCvT2HgEaWAuUnZypbNpybHh4cR7LsPS7H-RynaSCmxtaGFOsbzs43pu1_Y2hGY0Oc6j66qMtgD2jgcO-N34UU2iqVvfRJAsbrSIf4dB7CJDo1rLZYGgRv1NelSOUkpeZ18oeMNyoWdAwR_XRIKjmlhr8weOlzVorhpOLOBqCEXeCq-qstzWRrgfoA3WWZEs9Bny0YKbzMpbRFkRNm2k3pmE_dCONbpjwGHzQ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/XojARKX5NhF7DEEikmTCSu_9DUOUwQslNkSBZ6ziOic" + Replay-Nonce: + - fAmGEaMoBNwP3lyXEUAWeg + Date: + - Thu, 10 Oct 2019 03:08:12 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:12Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/XojARKX5NhF7DEEikmTCSu_9DUOUwQslNkSBZ6ziOic", + "authorizations": [ + "/authZ/KZs2V-vGigo8huJ_tGXFn0GFzgKMi-T_diKGttOXx5c" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:12 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/order_certificate_download_sucess.yml ruby-acme-client-2.0.6/spec/cassettes/order_certificate_download_sucess.yml --- ruby-acme-client-2.0.5/spec/cassettes/order_certificate_download_sucess.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/order_certificate_download_sucess.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,468 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:10 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:10 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - NK_zVXPWY-82c9aq5M2Mfg + Date: + - Thu, 10 Oct 2019 03:08:10 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:10 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiTktfelZYUFdZLTgyYzlhcTVNMk1mZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6IjBvNW95d2xrcU1OUnJkM19oWkhMZWhOd2pMT2Rpb2dQVEFhXzFNRUJ0RTM1LTMxOHpDWW04Q1J3dnBNVzFNcDFIT2tTd3VFSXpTU2V5ekxMUHpBQ1ZlTW5rcno5R3NlV2RscThzMTVnTjRmMVNacnYyMXRxZmFySVpwN3RGUlhMaEQyVExUX3d5bk5uc2dodFBHbTJ4QmF4YXhJWVNoRGlMYWZSSGNyVG9GRUVkdjFiNFlGQzlKaEgyekNmYmFmUU8zTV8wMlpEMjFkN05mVjRnZU52dURWSnhQU2p2VUVERWRnZ0FJMktPVUlxUzRGR1JfZ2xYLUtaQW5OSV9FWmVFMGU3NElmdGxMOU9hUXQxNGNfU3RZZkVUS25id1ZpUHJ4YTc0ZlJDNFNCdEZBSTFZc3FETEpOT1BTV092YnRTMG9FSXc0STVFNkVKeVpORnp1bXphdyJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"Kn3nwuJpBxb3CDgSNuzgH15PhSzMyQXp92Un810pZy_tDD_-U29bGZnmyPfWIBKOhw75q1AGzq1BTS0gcIT0fOPXyEI1McnCD1G4QC1abLtYC0VvsAn1sYYm0GycO1GqZVmjb1X-ERpWsvZowD4uScu4hJFRJNEqmE0aGNzxN1WA-CYTMwUhETLnhRGcqv7lm-S2lQQmFyWzhikvfhMHn0X16DfIGecRreB6w2ZLSvtqKLWV6nLrn-lvT4QlD7auXwtprH58f7BUwVtYAXIeTgvLOK7Mj2Kn6LzRCsVmCdP4ybvnEyaUFSKmoLBgJaHhXPsP6T4gxrWCJOhzBgOJDQ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/48" + Replay-Nonce: + - fADieaXWdZsHD94HKoAIrg + Date: + - Thu, 10 Oct 2019 03:08:10 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/48", + "key": { + "kty": "RSA", + "n": "0o5oywlkqMNRrd3_hZHLehNwjLOdiogPTAa_1MEBtE35-318zCYm8CRwvpMW1Mp1HOkSwuEIzSSeyzLLPzACVeMnkrz9GseWdlq8s15gN4f1SZrv21tqfarIZp7tFRXLhD2TLT_wynNnsghtPGm2xBaxaxIYShDiLafRHcrToFEEdv1b4YFC9JhH2zCfbafQO3M_02ZD21d7NfV4geNvuDVJxPSjvUEDEdggAI2KOUIqS4FGR_glX-KZAnNI_EZeE0e74IftlL9OaQt14c_StYfETKnbwViPrxa74fRC4SBtFAI1YsqDLJNOPSWOvbtS0oEIw4I5E6EJyZNFzumzaw", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:10 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiZkFEaWVhWFdkWnNIRDk0SEtvQUlyZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC80OCJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"pznNn1T-buKIIaEuoJUmJOc1w3SfONCA3sb5N77-k2iz2_aL8JT-KmxF4Pt-2hW_ct5ZBqS9K1oM7a1X4kXsMq7EvJ7sTEw_vJaKQlou6MxCndkRZbdiCR7A83QOf1w7cs6619glLVr0LHfC4QkjtNUyuJddR7BxbhbMID9jjvoTsB6BZNWVrGUGVAQAnkBtHsHxd6jHdCb0OW9Pkg_9nQdvFXMB63Sdzv_LtwW1JudgxxhIDR3lNMykkiwMGDrsajm_5PdC3L4Gqc0lCSBYSeScqWQJXmfyZ7UAhBRoNw2JyLCfSjKVjxY8ovBzzRmfJ2KVmo-ROG8Nt8NOp0ilNw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/QGSOVFW8rFp3qcIXzAmnM3hgIRoFEGJplbHJuQSeFU4" + Replay-Nonce: + - 0hEH7lx7NvNfiMkF07aHpQ + Date: + - Thu, 10 Oct 2019 03:08:10 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:10Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/QGSOVFW8rFp3qcIXzAmnM3hgIRoFEGJplbHJuQSeFU4", + "authorizations": [ + "/authZ/XWK5M15onI-oajDO7l4U4y8kTfCnfCyLfqjqQ2IT6ds" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:10 GMT +- request: + method: post + uri: "/authZ/XWK5M15onI-oajDO7l4U4y8kTfCnfCyLfqjqQ2IT6ds" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiMGhFSDdseDdOdk5maU1rRjA3YUhwUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi9YV0s1TTE1b25JLW9hakRPN2w0VTR5OGtUZkNuZkN5TGZxanFRMklUNmRzIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNDgifQ","payload":"","signature":"lF9ASHls_lBS2e2SxqEFT5yjkOx59nCo4pSDYfrNsgOgyX1V-CvnbVPYTBTaPDrZUh7xSziv9BjiZES_C7GBh4TdHbbs-G8IB0thl6v93bEntSG0CFx3gSj0QbAZxVscYQpV41EUlin2FNT0K7VFetSdrwYAlFGLgPVH8P9z5z4WGy4M0gm8zRWwQXkRmfNZOWDpO2RMZ_gPRL-yM3v_ufeALr4HczwjuacW9F56EAbROpjuRTfqsxkA--u7mKGh0Mowa0jJN4IBYvr5c11iENttP_MUvlLCylWHvZCiNkvao9edAnPX_zU75z5i0zdt88K5PKgAQy7CoIXArb046g"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - rID4TtTPxUNaqtNpsTS1cw + Date: + - Thu, 10 Oct 2019 03:08:10 GMT + Content-Length: + - '874' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [ + { + "type": "tls-alpn-01", + "url": "/chalZ/p1g3yOWyQOtj7HINAgLhEl-WVnHKRIJ0FKsWwdqsyT4", + "token": "KvLfL116MtA2Jf5zVwhqqLOC9EktWQR9-dC6yizGVcA", + "status": "pending" + }, + { + "type": "dns-01", + "url": "/chalZ/8yIOURvWw5u8MZpL02OO8MMBsFZDpGYgym7MtYRGunQ", + "token": "6wduqbAs_oof9YQ3iUXE3pjSx2nmfel68lnvbVz9ZXU", + "status": "pending" + }, + { + "type": "http-01", + "url": "/chalZ/8sBBcMuzFejI1CU5RlEgXuEROnJDIRjcoMNX_64-syY", + "token": "U04vI7bbzKyECL3sHOT8VWg44op-nk2g1AIjz9YkfXw", + "status": "pending" + } + ], + "expires": "2019-10-10T04:08:10Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:10 GMT +- request: + method: post + uri: "/chalZ/8sBBcMuzFejI1CU5RlEgXuEROnJDIRjcoMNX_64-syY" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoicklENFR0VFB4VU5hcXROcHNUUzFjdyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9jaGFsWi84c0JCY011ekZlakkxQ1U1UmxFZ1h1RVJPbkpESVJqY29NTlhfNjQtc3lZIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNDgifQ","payload":"e30","signature":"ey9-wf4D7i8csQIPY8Uqanxrwfoh8lbWjBJ5LYwfdYxm7yq6UsscryDLIhpx4j5YsfRTfzt9r4esAiA4sBkwTYwLcwjCOVU6TPnGi-lrQHs5ZMiEcCqsryTc0bszenEDWDtJOSEHoV6b3PMPTtpAKmTB4bWaiOEl8nK5QHNCRzaFt69BtHPK0G5sDwatic1GqzzsuQ7he9aZbnrJ9mN7hGn3brL1aJgklYdGncxE23GmLBPJPFDgSJkukaz8yMj3DrJHLNjzzu5MJy7oUcHZcg7CcEXqdOiOqLZ-EvtqCHlnQ2wJyV3YeSOKj5Qj9tvn6CHs81FiLWRoc-bZVdJHfw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - </authZ/XWK5M15onI-oajDO7l4U4y8kTfCnfCyLfqjqQ2IT6ds>;rel="up" + - <>;rel="index" + Replay-Nonce: + - 0j-rF130w_QUu6EsIDlbjQ + Date: + - Thu, 10 Oct 2019 03:08:10 GMT + Content-Length: + - '198' + body: + encoding: UTF-8 + string: |- + { + "type": "http-01", + "url": "/chalZ/8sBBcMuzFejI1CU5RlEgXuEROnJDIRjcoMNX_64-syY", + "token": "U04vI7bbzKyECL3sHOT8VWg44op-nk2g1AIjz9YkfXw", + "status": "pending" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:10 GMT +- request: + method: post + uri: "/finalize-order/QGSOVFW8rFp3qcIXzAmnM3hgIRoFEGJplbHJuQSeFU4" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiMGotckYxMzB3X1FVdTZFc0lEbGJqUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9maW5hbGl6ZS1vcmRlci9RR1NPVkZXOHJGcDNxY0lYekFtbk0zaGdJUm9GRUdKcGxiSEp1UVNlRlU0Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNDgifQ","payload":"eyJjc3IiOiJNSUlDaERDQ0FXd0NBUUl3RmpFVU1CSUdBMVVFQXd3TFpYaGhiWEJzWlM1amIyMHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDNzRIRWFuZk5lUHNsR18tMlRoM0lWOU1ib2dZaF9QV0lRNGdRQkJibHVZRHNXRndBRldOV19hZ0hheDV6eEFiYnhCcXBieko3d3otNFpHcS15UU92YTAtcEc3ZlQ3TTlvQUVTU3E2YThkM2R6bnFmQ00wdFJ4UkNLbW1IWFpBNkJYVXNEYVNpTXVONnBpUnFSZmdBek1KSkprTlBpQWdrWXQ2NVluUlpWdU5WRV8zQ0F6RzJhb0xUZWRUeFZ0RVFBTlRpT1RSeWdyVmdxckNQMnU1U3dFLUx1cnRJU0N1ODFGYV8zenluay1LWkpMckZjcEpSQkUwbHRjdmtzQzNuNVRwLTBqeEFURDA0c3lxLU9CTGRKZUQxNzJ2cFg3OElDMjRnNE9zYW9EOEpvcXQ4cmV3Y3g4ZjJrZnluUFk4TGJDSmdyWVpYZzhuUXpSS0R1Vm9XcWhBZ01CQUFHZ0tUQW5CZ2txaGtpRzl3MEJDUTR4R2pBWU1CWUdBMVVkRVFRUE1BMkNDMlY0WVcxd2JHVXVZMjl0TUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFBY08ybnJ6YzVKeWZISmR5Sy1PNml4UW1GbXlNMmJoVVFySkpxY2x4aUxVbm5yUUNkb1cyTEpodzFUc3lEbVMza0ZzNTR1eHQteHFXM0FoMFJ3bXV4V3dZX2VTSV93TDJERUZ6bW5hUHQzMzVQVEJHNEVRaHpqRlVXT29sdE45MXJwRGxibkRvN0hFY0F3NzlYOE9XNW5Pak9kOURZSWkzbUdYc3NhamhlWlBEcnVTMEhWcmg3cFNaLTg1NkF4VVY4OGN6YVRRNlFOaXRBcmZTRzNjNU11X0pabEdiX1FyQjY2YUgzNGxUMXU5ZnZGbEtER0s5YUg3R3VZYXBGeXJsN3p6ZGdTRGFITHczb0ZQb05jZWNueTg4WkJoUDBCZFVHMG9jWmdUakZFLXBqOWpGZnBEbGUyWS1FZkxYd1RaNl9NNWJsdnYyR250QkdCcUIxTk5MZmsifQ","signature":"z7yk5Oz7DlgjEegZb9gPSyvfBYK_MZ5T_1rKFKZgkmJhINrMOnFJWCNqFnyULlWM1jqqRJRtnmoVhfddzoe7g6HotX7G59nvRHfCWRILw_TvRHZAXpt5JdRetzagHyb81iQIxVZO1eWajZmFv3FmBuo9_M-0x-epjmb-CmVsi_S_ZENIs7eihP2L5RdHjqXr6iPqoXhvlXFWhry9MOE6n2d_pckjRIfHh5m5MgGQyTSzCbzN6iZJDWeCLRPsYZzlfwiBpSj45iZtFLKcP61vlU5KPLHQXK4tYZ9zHDMbjKZ4_ZcDxcgEkZmjdVnEnO2JTeEIFlBOYVHdzP7TvpiNdg"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/QGSOVFW8rFp3qcIXzAmnM3hgIRoFEGJplbHJuQSeFU4" + Replay-Nonce: + - N82dUFquhYQJoI5rPCJarA + Date: + - Thu, 10 Oct 2019 03:08:11 GMT + Content-Length: + - '385' + body: + encoding: UTF-8 + string: |- + { + "status": "processing", + "expires": "2019-10-11T03:08:10Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/QGSOVFW8rFp3qcIXzAmnM3hgIRoFEGJplbHJuQSeFU4", + "authorizations": [ + "/authZ/XWK5M15onI-oajDO7l4U4y8kTfCnfCyLfqjqQ2IT6ds" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:11 GMT +- request: + method: post + uri: "/my-order/QGSOVFW8rFp3qcIXzAmnM3hgIRoFEGJplbHJuQSeFU4" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiTjgyZFVGcXVoWVFKb0k1clBDSmFyQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1vcmRlci9RR1NPVkZXOHJGcDNxY0lYekFtbk0zaGdJUm9GRUdKcGxiSEp1UVNlRlU0Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNDgifQ","payload":"","signature":"xL48N_hKCbPpDFZ-uvVMVXSFpa5evFJ_qGLIJ9ugvf2lb0oncKT4DOBKIGtrpcSpOmUXaoABvkSRCKUippxDldegfhmRtClae-r67Jh3srI8FZc54K2xYoGCuq-gEvrFGZXXLAR6HKeT-XrgmqUHfHKU6jzpzyliYiMhsVEvq_kacTrQGu4fNX8QWOOKCOv6aBNm-1C6QLWWxSBfkgMRGXu33B8DHQJphyP1XeA16eCfBTVSMIfXYVJICOsVHij9mR3iLJVVZU8QwUkcONtYgAPtn-SoxiN3ky6fdjQRBC5U0oSrK6vfe-VvzSX2IbA5eveYhRp3sbVjxE-PAMF5Cw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - pUWSIRPthpg-nGz1Eo0j7Q + Date: + - Thu, 10 Oct 2019 03:08:11 GMT + Content-Length: + - '452' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "expires": "2019-10-11T03:08:10Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/QGSOVFW8rFp3qcIXzAmnM3hgIRoFEGJplbHJuQSeFU4", + "authorizations": [ + "/authZ/XWK5M15onI-oajDO7l4U4y8kTfCnfCyLfqjqQ2IT6ds" + ], + "certificate": "/certZ/6b612c23b90317c9" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:11 GMT +- request: + method: post + uri: "/certZ/6b612c23b90317c9" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoicFVXU0lSUHRocGctbkd6MUVvMGo3USIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9jZXJ0Wi82YjYxMmMyM2I5MDMxN2M5Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNDgifQ","payload":"","signature":"TUoLKoAIAPfpjZhuAgQsf4lDbcFf4YEsaaJWcVhw6ZYZNBUaUq0Cgm90Y0cxUeuixcHu-RKQKAjX5Cb-mdErD4UqamFlcrK-yGjwlFfyuOVzyjoz4JfkynWl6dbyDKosCV9TQ8noV92m2NF8ksgfHTisk9ByuXMfayujASZXKGgZRi1P2V6bv3lIjoUuonvkQkvUJeQ3yRY2liET6yku8j2m9efO0-N9dpWvV-U4Oor4a4jjeuALhfIhh_twEKrkp46OgX9XuWob7Gxr0jPUPnoUcjIDTs35k_8G2xxdLScGjehxtJZYJmw7Idrbf0OzxaRooeSj50Ie_XMJAnWn2Q"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - application/pem-certificate-chain + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/pem-certificate-chain; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - 5PtZN80mx9l6RhYY1SFP2A + Date: + - Thu, 10 Oct 2019 03:08:11 GMT + Transfer-Encoding: + - chunked + body: + encoding: UTF-8 + string: | + -----BEGIN CERTIFICATE----- + MIIDWTCCAkGgAwIBAgIIa2EsI7kDF8kwDQYJKoZIhvcNAQELBQAwKDEmMCQGA1UE + AxMdUGViYmxlIEludGVybWVkaWF0ZSBDQSA2Nzk0NDAwHhcNMTkxMDEwMDMwODEx + WhcNMjQxMDEwMDMwODExWjAWMRQwEgYDVQQDEwtleGFtcGxlLmNvbTCCASIwDQYJ + KoZIhvcNAQEBBQADggEPADCCAQoCggEBALvgcRqd814+yUb/7ZOHchX0xuiBiH89 + YhDiBAEFuW5gOxYXAAVY1b9qAdrHnPEBtvEGqlvMnvDP7hkar7JA69rT6kbt9Psz + 2gARJKrprx3d3Oep8IzS1HFEIqaYddkDoFdSwNpKIy43qmJGpF+ADMwkkmQ0+ICC + Ri3rlidFlW41UT/cIDMbZqgtN51PFW0RAA1OI5NHKCtWCqsI/a7lLAT4u6u0hIK7 + zUVr/fPKeT4pkkusVyklEETSW1y+SwLeflOn7SPEBMPTizKr44Et0l4PXva+lfvw + gLbiDg6xqgPwmiq3yt7BzHx/aR/Kc9jwtsImCthleDydDNEoO5WhaqECAwEAAaOB + mDCBlTAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUF + BwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFDDuGNC3NaAvNCEXcSEBbLaz/NDg + MB8GA1UdIwQYMBaAFIiN1hLypsnm8KWVi3ItK0Unjae0MBYGA1UdEQQPMA2CC2V4 + YW1wbGUuY29tMA0GCSqGSIb3DQEBCwUAA4IBAQBmqbvbeCWhmTJrtt+q5Zlz5C9z + ftpuUIMhAo8iTCOlXASlQ1G/6JmUv1SY/tp93rGIzFPU/wYKZsbw/qzu4eTmS6DZ + q3U1cvb2zjUH7aRAl7etu1H0KVQG4gDw961zM4eUuHSybIgp1FKo+J6X3hHHVM6u + sUAgYvLyyrVYpZxMKP/UCvbA4hZ/sbLJGfI2wzU/FKQjt41W3b+zpEEw8VcFkOfs + eQ5YeUVIHAZ3HFNz0QB/2RTmKLtjZ7UpnmxZUeVMlJXKrYjhAcCBR8vb72BDdaWk + fA/1pSyT7mbXyuxDJCvrwzzdHWw7PL2wzaCbultcuDn4oT15Hih28HjorEtU + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MIIDTjCCAjagAwIBAgIIH8F+H5a3JeIwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UE + AxMVUGViYmxlIFJvb3QgQ0EgM2E1OTY4MB4XDTE5MTAxMDAzMDU0MloXDTQ5MTAx + MDAzMDU0MlowKDEmMCQGA1UEAxMdUGViYmxlIEludGVybWVkaWF0ZSBDQSA2Nzk0 + NDAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1TkMbn1tCv0QXFen5 + Was596VScGyD0ifqoq4/kb4WQ/debH8coZzz9pVKTPbZySY/X1ltStYBI/2GdIZg + t/uw9hOW7ko2Agy4bcd6tD9S+eZK4F3rH1EJutUjuq9WLmmckT8PJEbToazvDTL2 + v9YGcf56v0SCuCYQshNlx5ECKb7kWWqy5D6OzJPB24BRFX7MTD8ckkdhQmzafyI7 + vVkDrHFUZslx1BUQ6lfJEy0mi/UmTgxrjPwTfe5UWF6N3AZDEUng8eWAnKW9px2g + 5qTUShGMZG6E6OkFHX6rmT3MVuO+rWVpyW1zKbWxvlcAyyBR91Ju6tsJFF/1Y9t+ + +XHPAgMBAAGjgYMwgYAwDgYDVR0PAQH/BAQDAgKEMB0GA1UdJQQWMBQGCCsGAQUF + BwMBBggrBgEFBQcDAjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSIjdYS8qbJ + 5vCllYtyLStFJ42ntDAfBgNVHSMEGDAWgBQECikuQVoCg4iOTz+f+0K8SqRdsDAN + BgkqhkiG9w0BAQsFAAOCAQEAeyRyz24bmQqWGYXkM02ZWHlom1FNXVtfNOlzgzjC + 8sUbFYJDaXefS7x1KJwGparNWmn0jopBrSjOJLCDDphqk1DcS2YPu+7CcyodXyGw + CxRSe7gYGx6I0Z/wReeb5rscJ21kJK30Tt3z2hLXWBkxfdcHit3JNLn3HA5HQRph + HUr3EUzoFHfNCBecY8lWkmLeN39I0MMCis49DTact6M1jT+q1c+MzjuWO+Bst6mr + 6RebdTn4monMOHvmbaVR7+klY05dMjatBF5gV7sf8mPJwUZP5NnEcTLe6zgb+dh4 + kDc7qJ6UvkuoDJmbHeSd27GdCJfK+nwc49UG/Fmd8+Zeyg== + -----END CERTIFICATE----- + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:11 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/order_finalize_fail.yml ruby-acme-client-2.0.6/spec/cassettes/order_finalize_fail.yml --- ruby-acme-client-2.0.5/spec/cassettes/order_finalize_fail.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/order_finalize_fail.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,219 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:13 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:13 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - kVLaKJxnOiO-VJSMXXPRnQ + Date: + - Thu, 10 Oct 2019 03:08:13 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:13 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoia1ZMYUtKeG5PaU8tVkpTTVhYUFJuUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6InhzRlUySjlBY1BvdFVwdE9UeHphQzlPLVJ2RExQUTlyMmFGRlExVmhSR0w4eE56Tm9VblMybnlSMXVmX2RpQW1fRmpoVVFzXzlDUjVFWE5qN0RVVjM5ZThiTHh6MTJMQmFnSzREZnpfVlVqQUxpbmZzYk1uZjFQQVdJcWVhRnZkMnladDROR29tNHp2eWxNcllPOUhfSTN3cnZidHluNlRwVlAyQ2RQSzVITm9wY0xiVjlwaE5Od0xVTWtQV0c0ejhTaXpNT1o0RkZhRGFRN3RzUW1qZEdlajVmaTFDVGdneVowMVdSY1pWbHFTbXJTSnhlWnk3bWZmX2FRR0U1ckxDdW92b015Sy1XNjIyWW5wTHhCR3ZydlNaVmFaM3hnVWdBVVFaYWVQbmFWN2x5X0dvWnE4enZwTzVIdjEtSzc5SlVHZnd1TVZUbkhCanI1aG1VSW1kdyJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"gnJXJ9-8EP2B6ocY9L3cIvKo_HEyOzSfzgEMpMLGvO_8T_letIULYQG0fUiExCVEq7CCPD1IgSRUFnDriqtwBRUiqwOUFhu9lUCj0WFa26DyPRhRV4MyMNVEMdUP4bvtjnD3zWwClOZS2Onr3R7vBM7zys93DDbl6Zn0Vxx3oSZBKXsc4iteZQu_1J6Ofu6WEOGoGS2TLGUgJ79DAC3ekZP1eX__sFueDCPgkga-mt6w0QsR0NW7LkBu47wsuO95124Xkmuh-KSzS0wwlUPVEgf9K5mwmGDJBINdQzlEzdaUw_JYo0f2RBwj6gn6DhwS1tgbhfEfYmfoFuvkVyyWjw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/52" + Replay-Nonce: + - X1wmGhynmQeR_R4OQNpKUg + Date: + - Thu, 10 Oct 2019 03:08:13 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/52", + "key": { + "kty": "RSA", + "n": "xsFU2J9AcPotUptOTxzaC9O-RvDLPQ9r2aFFQ1VhRGL8xNzNoUnS2nyR1uf_diAm_FjhUQs_9CR5EXNj7DUV39e8bLxz12LBagK4Dfz_VUjALinfsbMnf1PAWIqeaFvd2yZt4NGom4zvylMrYO9H_I3wrvbtyn6TpVP2CdPK5HNopcLbV9phNNwLUMkPWG4z8SizMOZ4FFaDaQ7tsQmjdGej5fi1CTggyZ01WRcZVlqSmrSJxeZy7mff_aQGE5rLCuovoMyK-W622YnpLxBGvrvSZVaZ3xgUgAUQZaePnaV7ly_GoZq8zvpO5Hv1-K79JUGfwuMVTnHBjr5hmUImdw", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:13 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiWDF3bUdoeW5tUWVSX1I0T1FOcEtVZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC81MiJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"J1m_XnAKLSUPIZw9eUH-nGt5KWU5hTHeRpBPEo3fad1M5iMEPLVSiWvh3ve8P0DDQXINva1a9PC9L8dqXqYkiRyVBcDjXiTfzGc-L_GI3F8yMgxRLc7BwAchLplHUyDLV8hZhXzu-1x3voEh33HGgdqzbUGVg9gn8RyABnKPEkIjPmT1Qq9plD9_azysIzk9_bm7ZgOH4Fh141SPijCr-NAidY0bKyOvEBjTnJXVHuxNtYHZQQ-zv9A161sJL8ivnF9hO5-cR27XrzYWUM3BwW3KplOcZS-CkFtYoXb2CPv1bOxqds-IjOha5qW7BiEha4vESJtZJhxP9FbJKPymFg"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/vil5ixnNBUeuUyCgpTVJ_9j-3Mf6CgmOn_iWXD-KbGo" + Replay-Nonce: + - Url2LmypRkL4HRv4fUruUg + Date: + - Thu, 10 Oct 2019 03:08:13 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:13Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/vil5ixnNBUeuUyCgpTVJ_9j-3Mf6CgmOn_iWXD-KbGo", + "authorizations": [ + "/authZ/pMOoDE6Fa1hXkXgyL_LCZC61buGx1eUJX7VaSo-C7GQ" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:13 GMT +- request: + method: post + uri: "/finalize-order/vil5ixnNBUeuUyCgpTVJ_9j-3Mf6CgmOn_iWXD-KbGo" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiVXJsMkxteXBSa0w0SFJ2NGZVcnVVZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9maW5hbGl6ZS1vcmRlci92aWw1aXhuTkJVZXVVeUNncFRWSl85ai0zTWY2Q2dtT25faVdYRC1LYkdvIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNTIifQ","payload":"eyJjc3IiOiJNSUlDaERDQ0FXd0NBUUl3RmpFVU1CSUdBMVVFQXd3TFpYaGhiWEJzWlM1amIyMHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEQmNsMmFLbjhVenpPcGpuUHkxeXhIT1RaQURVU0xmSVdIeFo1S0lXNU9WMHF5eG1nMV90bG9hU2ZjMXNJOGttRmRaQ1FYdURPQ0kyWVdXeDJqeDlMaldfSHo3QkxEcmFOVFoxcGFSakhmbm4wQ1hVZEdNeTJreVBKUk9iR3hxREQxN2cxVGtTUXdvbGJVc2tMLW9ucDNtME5JMl84M0ZjRzl1dzc4U0NHQ2ZzcVhzaHBmbVdHakMxNnBYbnhuMFd0dGQzS3JHZXVMUHUxNEM4dXRYYmhyZUxnaWhGYXFwN3AzSFdTOFppRTA5M1ZmTG84UXlJY2NIWXRsNGF2MzRIZDkwLXBmX2NPM1ZIOUxxVmQ3dkRGM05oLWQyelUwS015ODBFY3BvdVNnNWJ2Q000WmZTcVRiVGw4SnZYMVl4LW5SOUdLRXRjUXNPdDZEQkY3WXhXVGpBZ01CQUFHZ0tUQW5CZ2txaGtpRzl3MEJDUTR4R2pBWU1CWUdBMVVkRVFRUE1BMkNDMlY0WVcxd2JHVXVZMjl0TUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFCSjhLQ0tQejB0WkZERWdsTTc0WE5uRzhoV2c0aFUxNUNOWGRsX0FuY0JTdlBVRGhlOGNFR3JPN04yNlpzdURXT0FFcWd0UnB0UXVjeFVwd1Ntb3piaEtvNFBSTkhkNnpGbkU4LTA2VDJWZ1AtazZveFBlWlJua0VES202Z3h6am1IQVJyczVuVjJEWkFFVTdPak9BckU4WDVMT1NjU2xYTjMxOHlTTno2dGY0enVNcDNwQmx6NnBkbUs3M3VSMXdtUG11SUxMQnpsOE1rbG44TlVYTnMxenVyRy1rdzR3M1VuWjVWRWswbVVYMGh1eHJGcDBtMjBPc09IZi1yb20xbTI3LVpWb0pzcmxGaWcxYTc5UkNFRDh0QlpjTDI0STF4Y0tkMzEwT1R5LTR6bFI1Mk16eVJpMVozTDY2NUEwcXhsdE1KenV2LTNHZzYyQ19uRUNOQmQifQ","signature":"um5uQaqg0EptwWcwZZFLSYGPhjmfZVlDg-b697ua8suI5ShXoSL53DSL7o5wAZwzw-543REtwift9SYVBVfWhkmrbvuJs-EN3ZzCkLGsZ2EuMWG61vwx5NkbVCNbaoKN2rfwOVB6a_WTQaN6d77DgnUlPOOgRHd2r3aESepd4etu0RolMkoCmg2RTKASrApbP29F03fHhO-kc20PwPSXUJb3jCPAhBDZpie93ZwCDxU3YTHGQ-hMo04ikj9tS13nGTVimMjkn3ftIiFyubL0aNniYWzZ68NSeC4Qii-o_23nY9l6zIIeczagUE9aAziGY1EXADTqKRAIK7Y6wLW5iw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 403 + message: Forbidden + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/problem+json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - sBJfAMB4HHDijXIoHvtXVg + Date: + - Thu, 10 Oct 2019 03:08:13 GMT + Content-Length: + - '134' + body: + encoding: UTF-8 + string: |- + { + "type": "urn:ietf:params:acme:error:unauthorized", + "detail": "Authorization for \"example.com\" is not status valid", + "status": 403 + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:13 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/order_finalize_sucess.yml ruby-acme-client-2.0.6/spec/cassettes/order_finalize_sucess.yml --- ruby-acme-client-2.0.5/spec/cassettes/order_finalize_sucess.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/order_finalize_sucess.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,340 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:12 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:12 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - eXgdB5U8vwq3aMiy4fwRPw + Date: + - Thu, 10 Oct 2019 03:08:12 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:12 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiZVhnZEI1VTh2d3EzYU1peTRmd1JQdyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMjU2Iiwia3R5IjoiRUMiLCJ4IjoiOWtSZVdTVUNicEl4M1hQSElUenlsN2pPUXBoektWWkNLODJRVHc5NlNCZyIsInkiOiJKakV5Z0ZlUGhsRENQQnBRenZaYTNwMjB4VE1EaTNjY296bTRxY0wzRTYwIn19","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"6cXSYno0eMy1x3iNFVGxYoqiA_sRDI86EGAVZsixMQo5brYjr8jBj-Jcn38oOe97pjQcq14JoCQ3XZyj-0rYBA"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/51" + Replay-Nonce: + - y-XI6fnOizStSUGLsoWq5w + Date: + - Thu, 10 Oct 2019 03:08:12 GMT + Content-Length: + - '311' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/51", + "key": { + "kty": "EC", + "crv": "P-256", + "x": "9kReWSUCbpIx3XPHITzyl7jOQphzKVZCK82QTw96SBg", + "y": "JjEygFePhlDCPBpQzvZa3p20xTMDi3ccozm4qcL3E60" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:12 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoieS1YSTZmbk9pelN0U1VHTHNvV3E1dyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC81MSJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"vHUIiVY4S0zoV_nmG9rgJY_dfN1qi96byWQPS2-XY4TZ-Zb3WplqRfwnIoOdT1mopZOifsJMM-eRN5SQ_DGs-Q"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/ezztlDTlLim0DfYhBtnnHEHmn2RSPStum-0DgsjsFSU" + Replay-Nonce: + - FRIoCCA3rdd23u2pA8rGvQ + Date: + - Thu, 10 Oct 2019 03:08:12 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:12Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/ezztlDTlLim0DfYhBtnnHEHmn2RSPStum-0DgsjsFSU", + "authorizations": [ + "/authZ/pHqgtLvHeo5ysrFo9l0a1v6cjRs0Os5wEoXetY1qu2s" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:12 GMT +- request: + method: post + uri: "/authZ/pHqgtLvHeo5ysrFo9l0a1v6cjRs0Os5wEoXetY1qu2s" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiRlJJb0NDQTNyZGQyM3UycEE4ckd2USIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi9wSHFndEx2SGVvNXlzckZvOWwwYTF2NmNqUnMwT3M1d0VvWGV0WTFxdTJzIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNTEifQ","payload":"","signature":"AtkH7szzgwciAWZ__LwvMOXxyvY1P110xPhuOANKYAcEgjErA0rFlSD-IsaH3ydaF8P1drOrXMX6PbCoCIrROQ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - vYh8pu3PdWL06-1yBOt-uQ + Date: + - Thu, 10 Oct 2019 03:08:12 GMT + Content-Length: + - '874' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [ + { + "type": "dns-01", + "url": "/chalZ/BPyUxpHk9VBUWETLpef422c30YnUpQq1AhYwjBOx0ow", + "token": "Pew6mGqNbQpG0L2k5I3AUsvHhNL678x7cYTeJiwgnB0", + "status": "pending" + }, + { + "type": "http-01", + "url": "/chalZ/oWTgx1IFDdWMcUiMoi-kca0ivlxn7EBI57Gm0g1D4iI", + "token": "qffs3D2NoE6NWoMJNZVE1eK6K-LxhXgXMlQB71H67yc", + "status": "pending" + }, + { + "type": "tls-alpn-01", + "url": "/chalZ/XPg8hOxVlHEJCktqbhhcWbA2SJm-qynJJBJ5Dbu1bW0", + "token": "p9-aF3oU7ug-5H-CzBMXLJPBD3r59H0k9kKkuvuihhE", + "status": "pending" + } + ], + "expires": "2019-10-10T04:08:12Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:12 GMT +- request: + method: post + uri: "/chalZ/oWTgx1IFDdWMcUiMoi-kca0ivlxn7EBI57Gm0g1D4iI" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoidlloOHB1M1BkV0wwNi0xeUJPdC11USIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9jaGFsWi9vV1RneDFJRkRkV01jVWlNb2kta2NhMGl2bHhuN0VCSTU3R20wZzFENGlJIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNTEifQ","payload":"e30","signature":"dgAwKcDCsVVqsgKBIx2RhES9EKmuni1VDbfgZ3uxChv9ZUCMv8852fJmWe-7CNPkEKQsnNp44MB4V-2qPC9zuA"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - </authZ/pHqgtLvHeo5ysrFo9l0a1v6cjRs0Os5wEoXetY1qu2s>;rel="up" + - <>;rel="index" + Replay-Nonce: + - Vfwg7uOlfBhXqlIlHLo5ag + Date: + - Thu, 10 Oct 2019 03:08:12 GMT + Content-Length: + - '198' + body: + encoding: UTF-8 + string: |- + { + "type": "http-01", + "url": "/chalZ/oWTgx1IFDdWMcUiMoi-kca0ivlxn7EBI57Gm0g1D4iI", + "token": "qffs3D2NoE6NWoMJNZVE1eK6K-LxhXgXMlQB71H67yc", + "status": "pending" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:12 GMT +- request: + method: post + uri: "/finalize-order/ezztlDTlLim0DfYhBtnnHEHmn2RSPStum-0DgsjsFSU" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiVmZ3Zzd1T2xmQmhYcWxJbEhMbzVhZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9maW5hbGl6ZS1vcmRlci9lenp0bERUbExpbTBEZlloQnRubkhFSG1uMlJTUFN0dW0tMERnc2pzRlNVIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNTEifQ","payload":"eyJjc3IiOiJNSUlDaERDQ0FXd0NBUUl3RmpFVU1CSUdBMVVFQXd3TFpYaGhiWEJzWlM1amIyMHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDZHRHQXY2OXF5UlBpMXR6SlpXc3pQN0x3TXZNYTRFOS1RZ0w4Z0JvRjQ1Z0xiUkE3UzZITl9sLTE0UWNUYmxOdGRNcU8xOVVtb1Q4VVF1Z3RqSjZwai1DMlVxVFFVWDNYLU1Wc21pLVBoa1p6dmFzQngxT3ZPcjByc3RxQW0tNHRPaGhoOWRCcE42ZDlZUEJVRmZFbjhDcnlrckRaZ2xNWGc3cVYtSTBENS1ZZG5weVoxRGV6Q2s1ZTBKZFBsWVpFRmlNc1ZzbC1UakJLSTBfSVJqOU9ZamVJRXN0bFVHTFJkelRubEVBY2IxUklrd21tYjVXVkNjTDdDV2ZLM3Q5OXpEblROVGFFQmtxMGZsVGhMM1FEQ3Q0enloWFFxSm82VjQ4ckhZMS1sRUlEaTVmcXQwTlplRXlyM0pJaXVTOGpDYWJKOGQ4OWo1YUlpM0EwVGE1dlZBZ01CQUFHZ0tUQW5CZ2txaGtpRzl3MEJDUTR4R2pBWU1CWUdBMVVkRVFRUE1BMkNDMlY0WVcxd2JHVXVZMjl0TUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFBVUZvTFJiZnhUSjBPLU90VndyYkhlZllIenNOcjZlTE9YdGVxWm9oaE5ONlc2R210ZnNuOUdZVU56Tk1MZFlpdzI3UHU4TWhzYWpnaUk1VFNTMnFTN2V3UnpncFFLdG16N1FwU0VIZnFWd18tMzZqQzhteVJaWXp1S2lwWGRaOVFldmpqSVc3Nll4RUVHcy1mdnM5ZEd4aGwzRTlWNlJ1b0hWdmpWME9PRmZDRF8zMHU3UzV6Ylh4eGgxb2pVVVd4R05tekRfekRqRHZyR0xSQlNOSTVFd1VnSkdCUHBUNUNEQzRaUll0eUd6UzdqUHBRVXZNbEdfdlFLLUxkTEZBQnVsV2ExRnBaQl85WDFKcnN1R21BaEN3RUZmdGo0aDJ0bWdKYkYzTTRtcjU4WGpjSHF2SzZ6SEYxdEVBYWdXTU1FMksyNTlPWkRPaE41T3hrd3o3MXMifQ","signature":"VN6wwNrtFVeZMQIzLFMFvw4Yqkcf9NqRUW8DQ4UNe8VPN0wMxJ9hSVWAJgHbla0_lLmLcok9igKC252e6uKrOQ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/ezztlDTlLim0DfYhBtnnHEHmn2RSPStum-0DgsjsFSU" + Replay-Nonce: + - Q_rbNRH8Js2tydNzdk_gpg + Date: + - Thu, 10 Oct 2019 03:08:13 GMT + Content-Length: + - '385' + body: + encoding: UTF-8 + string: |- + { + "status": "processing", + "expires": "2019-10-11T03:08:12Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/ezztlDTlLim0DfYhBtnnHEHmn2RSPStum-0DgsjsFSU", + "authorizations": [ + "/authZ/pHqgtLvHeo5ysrFo9l0a1v6cjRs0Os5wEoXetY1qu2s" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:13 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/order_reload.yml ruby-acme-client-2.0.6/spec/cassettes/order_reload.yml --- ruby-acme-client-2.0.5/spec/cassettes/order_reload.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/order_reload.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,228 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:13 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:13 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - 2ef0wBf72l6wQkRtpUVhOQ + Date: + - Thu, 10 Oct 2019 03:08:13 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:13 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiMmVmMHdCZjcybDZ3UWtSdHBVVmhPUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6InZBNGg0R0dvaFJJcll6dFJBZU5wSlVCY2ZKTGlCSXEzR2tjdHhWT3NQeHRaUVNNbWRDbERwWHU4eS1rLUtnM0NqTzZzSXpRVy0zRDRQX0NTOGlhcko0ZWxwNk5BNUhNMXhyLTNJNmYyUDdCQjhGaXBzeDRuN1R0QzdBUy1MYy1ia0hjajk0YW9Ea1FCeWR1WUgxaHJCLW1hbjB2V183ZmFFbkJzVE1yeGJ2Zl9uX2lPenBWSU1fQnNmaDVCeWxaT0JkNW9iTDhwZ3JJTkViT1F3clFlRjVjMmtSOGRyckF6bmlpVXE0SUFjXzFoN3AyVzRVT19FLWpibGxJS09sSTNMWTh3b0xuMExrTDNiSFh1dXhjVFhDVEQwYV9FWWIwMkZhT2VHeDQ0VVBKOXI4MTMwdUpsZTVLNWt5cVdGaEd6WE1WWWUzby1HaE9KcjI3NHd6V3BpUSJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"P5b9rfG7CDxRmynq55dXfpqE9pqqHxqXJVjlk_7sdJRuTxUpTyGTeKk0pIMtRQs0h2uVnhSK2qHrNctULPhAJwhPEy3yv9QeJC9SpJxxVAChPP495D80GXW9mW0T2xslKs4S1Kwjx4A4A1HT2y2LDOM0b3BzfnnQLPww35PMXBLNF2x_oR8GfdTtK99ZYa3zFsxGbm_z8QC0fCxKsZrfMLGDXnDFQ7WFB08Xr04X2N9Ps4K0ccbMXNbU7zALw7xcmotRbFD4mBdd3p2BiaAm15nJE7mR5-GVDOVQRcYsOEnc9veB1icYsBNFA6J3AyZRAMDdQS_3PZt_H9GZXYjpFw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/53" + Replay-Nonce: + - Vmt522LmOWDMVsDBL9ihUQ + Date: + - Thu, 10 Oct 2019 03:08:13 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/53", + "key": { + "kty": "RSA", + "n": "vA4h4GGohRIrYztRAeNpJUBcfJLiBIq3GkctxVOsPxtZQSMmdClDpXu8y-k-Kg3CjO6sIzQW-3D4P_CS8iarJ4elp6NA5HM1xr-3I6f2P7BB8Fipsx4n7TtC7AS-Lc-bkHcj94aoDkQByduYH1hrB-man0vW_7faEnBsTMrxbvf_n_iOzpVIM_Bsfh5BylZOBd5obL8pgrINEbOQwrQeF5c2kR8drrAzniiUq4IAc_1h7p2W4UO_E-jbllIKOlI3LY8woLn0LkL3bHXuuxcTXCTD0a_EYb02FaOeGx44UPJ9r8130uJle5K5kyqWFhGzXMVYe3o-GhOJr274wzWpiQ", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:13 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiVm10NTIyTG1PV0RNVnNEQkw5aWhVUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC81MyJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"ikxhHNLXGAaCd5hDRkVooALz2JnJoYpl7fp1ZxUzFuOoCd-zHnWF6vL7fsiL_38EkCzKfw-4eE2f8rvUHx45bShvMMzPocfaWkc-n-NudK5Kgujp78eQnRCO2_CcaQtaUXiUG3u-hLnGfxd9DDQUT7txwtCCUrLpSTWm0oP6cd6hLX3rSm14XwJBPpI6v7R_Y4-mQdED-X607KDTqoIQvc8-3mite5hlMBbXfCbmEfLnmQBdKRWfdh9NtJ6tR8p_9h42IGy6GtKvFpCxskdRcRsAgidmyibU4OjJ_0cAWjviXDvBaJDOKcjvIJjX_ITdBXw4qvBUQODMVMl1I6cf9Q"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/2rltAtUQAfVWLtdgX_P7nl59Idogx6XtBfgV2tuXSOY" + Replay-Nonce: + - CltoBpsxaaWMmcCfdwjjqw + Date: + - Thu, 10 Oct 2019 03:08:13 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:13Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/2rltAtUQAfVWLtdgX_P7nl59Idogx6XtBfgV2tuXSOY", + "authorizations": [ + "/authZ/gJz0NmY9ymZdsoKXZm0NFN2vQICwDSozJCIwihcba90" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:13 GMT +- request: + method: post + uri: "/my-order/2rltAtUQAfVWLtdgX_P7nl59Idogx6XtBfgV2tuXSOY" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiQ2x0b0Jwc3hhYVdNbWNDZmR3ampxdyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1vcmRlci8ycmx0QXRVUUFmVldMdGRnWF9QN25sNTlJZG9neDZYdEJmZ1YydHVYU09ZIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNTMifQ","payload":"","signature":"amB7sMcuX0h69xUgWYNZJQ2_9IVK7QasiSpwN1jQumPjoOksg5A9_WbxrEq2i36x04JQprFCTBjk7QBn97U7KsMJFWVC7cbU120Kx7P7WSaW8zPCVRYUl7wAXzT0QPZXBvsT_axRoXO4eQnnDBge6oPah6HUQQ_Vi7VmKMZ6P1pwNgYrw2fgeLKINnLcO9Q8_Y7209iKURpDM3_4pqZAuIkGVSdytCEp_Uiy059MX6SVvUOaeZZuo8dK_PRVYLwWJwySKyvVKDuqZWlBxyKbPySpWqGMzG5gBQA0T5bv4j9Zq8h5kWM3wFHRVFn4FDuQVx-9p8ojZWHIWcb1DPcjGQ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - 3ShM2nwQQNYg20lAQ6xChg + Date: + - Thu, 10 Oct 2019 03:08:13 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:13Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/2rltAtUQAfVWLtdgX_P7nl59Idogx6XtBfgV2tuXSOY", + "authorizations": [ + "/authZ/gJz0NmY9ymZdsoKXZm0NFN2vQICwDSozJCIwihcba90" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:13 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/order_status.yml ruby-acme-client-2.0.6/spec/cassettes/order_status.yml --- ruby-acme-client-2.0.5/spec/cassettes/order_status.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/order_status.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,178 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:12 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:12 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - iX8A1ZF--iuYUR9_hREK-w + Date: + - Thu, 10 Oct 2019 03:08:12 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:12 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiaVg4QTFaRi0taXVZVVI5X2hSRUstdyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMjU2Iiwia3R5IjoiRUMiLCJ4IjoicWQyRVB2N0ZKTnpJcko4MVlFcFh0RWM3ODNfVGtWRk9sRlNHMlpraldRSSIsInkiOiJXRVlYUHFkdlhmLXJGVk4wSjJKbzZWOXNfem1HejkxNDlQdVZTX0tndllJIn19","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"gs03FTPoqqRRGSGZUqN4DWPC8fw--mEEGr4CJ4F4zvDxjzijvIJqIZFk-gad4Iw-vnoYgqVnfEMxYLpBQybrwQ"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/50" + Replay-Nonce: + - CWTu9fWwwRSx6S0rkmrlgg + Date: + - Thu, 10 Oct 2019 03:08:12 GMT + Content-Length: + - '311' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/50", + "key": { + "kty": "EC", + "crv": "P-256", + "x": "qd2EPv7FJNzIrJ81YEpXtEc783_TkVFOlFSG2ZkjWQI", + "y": "WEYXPqdvXf-rFVN0J2Jo6V9s_zmGz9149PuVS_KgvYI" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:12 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiQ1dUdTlmV3d3UlN4NlMwcmttcmxnZyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC81MCJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"PYswmghKoB1wfPrqYItB_XmUKElIW_1t8Ui_FOvEQezc_H8_s2c8VRCD4cEnT0UczLSNHmwCg8KH-HO9GlN18Q"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/pF2bujKOeAqmFbop2GQgy3GA0AahpSPSMRGikDcCjNw" + Replay-Nonce: + - Vrl3vsP3I1GJ6JGkHffvOw + Date: + - Thu, 10 Oct 2019 03:08:12 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:12Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/pF2bujKOeAqmFbop2GQgy3GA0AahpSPSMRGikDcCjNw", + "authorizations": [ + "/authZ/K0e3DRXwAH_XLhLKQSByTFf3JjEcbMMEFJrrA4XPUkE" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:12 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/registration_agree_terms.yml ruby-acme-client-2.0.6/spec/cassettes/registration_agree_terms.yml --- ruby-acme-client-2.0.5/spec/cassettes/registration_agree_terms.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/registration_agree_terms.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,175 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:21 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:21 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - 2ypJmsMoJqIBfkTovMJ6CA + Date: + - Thu, 10 Oct 2019 03:08:21 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:21 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiMnlwSm1zTW9KcUlCZmtUb3ZNSjZDQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMzg0Iiwia3R5IjoiRUMiLCJ4IjoiSV9pVy1fd3hGZS1NY1VZWU1TN3RuVklUMnZCenY0QWdhNHluXzE3QjhFMW05SzdGaUs3Wkg5YVhDX0pRakF4LSIsInkiOiJ3RWxVUEJmS1owSkJscHVFbkVMdGJFYTRTTnl1VmhObVNwTTVXZUJGZmpObUFIay1tLTI5aGxHTFBWdWpQdVR4In19","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"dcY7ek129KQXqER1JrSltKapkGiP6IEvcQ59Zck8z1RazEgjD7NIFkl25xNXf0hs_3q601DOT5iEX8t7c8WvWm3SpqbsjU0lLY61s1PofqEoFIGjIiaj0OIOCQLXgqTU"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/74" + Replay-Nonce: + - 9C8wBG9HcZeC-7pFjabZAw + Date: + - Thu, 10 Oct 2019 03:08:21 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/74", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "I_iW-_wxFe-McUYYMS7tnVIT2vBzv4Aga4yn_17B8E1m9K7FiK7ZH9aXC_JQjAx-", + "y": "wElUPBfKZ0JBlpuEnELtbEa4SNyuVhNmSpM5WeBFfjNmAHk-m-29hlGLPVujPuTx" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:21 GMT +- request: + method: post + uri: "/my-account/74" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzM4NCIsIm5vbmNlIjoiOUM4d0JHOUhjWmVDLTdwRmphYlpBdyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9teS1hY2NvdW50Lzc0Iiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNzQifQ","payload":"","signature":"QnlziDAwDfycTS2RpoZRqQzZwnVqwraV9qH0eDkgDsn-awJIFwRDlhLKsR3Aeuflj0yAstSPpZK9AEgmBQhD8isFqSJ32IdxwBKwYUKLWIhoyi_eekxaWX9gYjgtlTuz"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - LsGGR_TRtJ2fycbdvHvJ6Q + Date: + - Thu, 10 Oct 2019 03:08:21 GMT + Content-Length: + - '353' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/74", + "key": { + "kty": "EC", + "crv": "P-384", + "x": "I_iW-_wxFe-McUYYMS7tnVIT2vBzv4Aga4yn_17B8E1m9K7FiK7ZH9aXC_JQjAx-", + "y": "wElUPBfKZ0JBlpuEnELtbEa4SNyuVhNmSpM5WeBFfjNmAHk-m-29hlGLPVujPuTx" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:21 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/request_validation.yml ruby-acme-client-2.0.6/spec/cassettes/request_validation.yml --- ruby-acme-client-2.0.5/spec/cassettes/request_validation.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/request_validation.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,330 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - Pec3ptlYfe2MNbIRaIb-ow + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiUGVjM3B0bFlmZTJNTmJJUmFJYi1vdyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImNydiI6IlAtMjU2Iiwia3R5IjoiRUMiLCJ4IjoiLUtIZ3FhTmE2SjBSSzhQMlFtWVlJRENaU0RPRnpvUFppdHk1aFFDa1BTbyIsInkiOiJCbDU3WmdUaV9YYWlpNDFBMUxHbVhFSTU1OHpFUjhmNVNteDQ0SmpjN1NVIn19","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"ECeh07I7ootmz9Zc8KjyZ1IK7Iqx27UpO0d3NJWJEyZCUc0igKDIKtItnzcbJtqXkQ8-EZQEgNobK9ZEn-sk7Q"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/67" + Replay-Nonce: + - lixX8T7bs2d_gA4UeYHgFA + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + Content-Length: + - '311' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/67", + "key": { + "kty": "EC", + "crv": "P-256", + "x": "-KHgqaNa6J0RK8P2QmYYIDCZSDOFzoPZity5hQCkPSo", + "y": "Bl57ZgTi_Xaii41A1LGmXEI558zER8f5Smx44Jjc7SU" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoibGl4WDhUN2JzMmRfZ0E0VWVZSGdGQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC82NyJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"DiusmNQoDz8ckkrSv21HMD5H3BitPESynLrjtxFwRdOI99kpki8IDvltYqpsLbgzBYhnjn4st0pV-JdtpDukNg"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/OvusK_wkm_0tLwJ6Ydibbn7AmWugSGxlHsKwBFZOP6g" + Replay-Nonce: + - _DZ_JAyT_vCTJ0rQ1uEe6w + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:19Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/OvusK_wkm_0tLwJ6Ydibbn7AmWugSGxlHsKwBFZOP6g", + "authorizations": [ + "/authZ/XEJCSSJM-J6lXEHRxlHqcDunMLUFPV0KvDC0t9a-cIc" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +- request: + method: post + uri: "/authZ/XEJCSSJM-J6lXEHRxlHqcDunMLUFPV0KvDC0t9a-cIc" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiX0RaX0pBeVRfdkNUSjByUTF1RWU2dyIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9hdXRoWi9YRUpDU1NKTS1KNmxYRUhSeGxIcWNEdW5NTFVGUFYwS3ZEQzB0OWEtY0ljIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNjcifQ","payload":"","signature":"4L_Nhvr0oXvqotTtHXER38c4cVRG9ZfZABnk-PCMnm-5oys22xkGKq4S4pOaNbC9dgSKCpNVQNC75rcLq8OF_w"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - Q2ZYoMRA-ngVgt9UBu653A + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + Content-Length: + - '874' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "identifier": { + "type": "dns", + "value": "example.com" + }, + "challenges": [ + { + "type": "http-01", + "url": "/chalZ/vVJAA_BVZt6tYPeFCMSJKgDPyLYpVASw6S6ZXoMA_8U", + "token": "XVDi-tWOf7DZrkgb80kC0D7b9DaQRygePlnnP6189CE", + "status": "pending" + }, + { + "type": "dns-01", + "url": "/chalZ/eV39IguLzar50MDBWJXRu8o8ffPvcQeXBMRn12qQpgw", + "token": "euxMnb2N-WL15PknqfeyrleZdcbxYfwAno_1-yBtIdY", + "status": "pending" + }, + { + "type": "tls-alpn-01", + "url": "/chalZ/6iDQKtmlJo7PYISnC-p6j_dbzc27hrLcLFJEZGLFxoc", + "token": "9bYvWJr4j2LCztxhOLUrSxdWyzngr-epw2dR06w04Wc", + "status": "pending" + } + ], + "expires": "2019-10-10T04:08:19Z" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +- request: + method: post + uri: "/chalZ/vVJAA_BVZt6tYPeFCMSJKgDPyLYpVASw6S6ZXoMA_8U" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiUTJaWW9NUkEtbmdWZ3Q5VUJ1NjUzQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9jaGFsWi92VkpBQV9CVlp0NnRZUGVGQ01TSktnRFB5TFlwVkFTdzZTNlpYb01BXzhVIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNjcifQ","payload":"","signature":"i5GXqBsuGHL0R-bY2jYQ_Hub-10kJIXL8H1cinzx_9bokGeikxgB1PcW1si8bP_Ezxv3mv0j7zpmELUPshq07Q"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Replay-Nonce: + - W6zQbLFxBt6jPoL6gsbSsQ + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + Content-Length: + - '198' + body: + encoding: UTF-8 + string: |- + { + "type": "http-01", + "url": "/chalZ/vVJAA_BVZt6tYPeFCMSJKgDPyLYpVASw6S6ZXoMA_8U", + "token": "XVDi-tWOf7DZrkgb80kC0D7b9DaQRygePlnnP6189CE", + "status": "pending" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +- request: + method: post + uri: "/chalZ/vVJAA_BVZt6tYPeFCMSJKgDPyLYpVASw6S6ZXoMA_8U" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsIm5vbmNlIjoiVzZ6UWJMRnhCdDZqUG9MNmdzYlNzUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9jaGFsWi92VkpBQV9CVlp0NnRZUGVGQ01TSktnRFB5TFlwVkFTdzZTNlpYb01BXzhVIiwia2lkIjoiaHR0cHM6Ly8xOTIuMTY4LjU2LjkzOjE0MDAwL215LWFjY291bnQvNjcifQ","payload":"e30","signature":"Baj47lYbJ8MRsY70TUi3jpz6Nq-n4GVN12_rBRfzUSGkFmJndDzdCGLuMFXggSw4CjJK4jIkWMSMtzfVrAu85g"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - </authZ/XEJCSSJM-J6lXEHRxlHqcDunMLUFPV0KvDC0t9a-cIc>;rel="up" + - <>;rel="index" + Replay-Nonce: + - Nwj1HHNZmduOe0BKHBeB9g + Date: + - Thu, 10 Oct 2019 03:08:19 GMT + Content-Length: + - '198' + body: + encoding: UTF-8 + string: |- + { + "type": "http-01", + "url": "/chalZ/vVJAA_BVZt6tYPeFCMSJKgDPyLYpVASw6S6ZXoMA_8U", + "token": "XVDi-tWOf7DZrkgb80kC0D7b9DaQRygePlnnP6189CE", + "status": "pending" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:19 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/cassettes/simpler_identifiers_order.yml ruby-acme-client-2.0.6/spec/cassettes/simpler_identifiers_order.yml --- ruby-acme-client-2.0.5/spec/cassettes/simpler_identifiers_order.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/cassettes/simpler_identifiers_order.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,177 @@ +--- +http_interactions: +- request: + method: get + uri: "" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Date: + - Thu, 10 Oct 2019 03:08:20 GMT + Content-Length: + - '386' + body: + encoding: UTF-8 + string: |- + { + "keyChange": "/rollover-account-key", + "meta": { + "termsOfService": "data:text/plain,Do%20what%20thou%20wilt" + }, + "newAccount": "/sign-me-up", + "newNonce": "/nonce-plz", + "newOrder": "/order-plz", + "revokeCert": "/revoke-cert" + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:20 GMT +- request: + method: head + uri: "/nonce-plz" + body: + encoding: US-ASCII + string: '' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - public, max-age=0, no-cache + Link: + - <>;rel="index" + Replay-Nonce: + - zXfGZ7qMCxysCz_4Qg-DYA + Date: + - Thu, 10 Oct 2019 03:08:20 GMT + body: + encoding: UTF-8 + string: '' + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:20 GMT +- request: + method: post + uri: "/sign-me-up" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoielhmR1o3cU1DeHlzQ3pfNFFnLURZQSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9zaWduLW1lLXVwIiwiandrIjp7ImUiOiJBUUFCIiwia3R5IjoiUlNBIiwibiI6IndsV2ZQcFJwUlRsbUs3anpHYjFRUzRCYnV5RU9zVU83ZlFGbFRMRFRIblVIWG5ld0I3VDFVTXpqNjNFZEJyLXdDQ0lJNEk3ZWptcVNRbmZZeHlObGlDNkIxVEUzTE1WZEFyZG8wSmdHMF9sLUlmSnpnT3pFWVdVRHlPWTY5Mnh4ajdsRVBTVzEzYUpFNTJSVHg2cDRyZmJYYXQ1UEV1bnk2VElxSmV6SVI4YmlCVjdmRG9KcEtSWVdvMElrT1V1MkpfZjJaVmxIZ05ucU5zWnVISEgtYThFNG5YZUM1ZUo4Nm5IbFdINVJFb2k1N1lhbm9ZOFpabU5LSGQxNU9RTEJ0UnZrNGwwTkp2cU5sd3VaX0g3NDVPTl9ET3VPYWZ5NGxucGpOaDJQMklpeWNaZWM4NHNxZ1l6WEt6MjlrMmlPNHVZel8zMG54OVN3bWphT3c1TF91USJ9fQ","payload":"eyJjb250YWN0IjpbIm1haWx0bzppbmZvQGV4YW1wbGUuY29tIl0sInRlcm1zT2ZTZXJ2aWNlQWdyZWVkIjp0cnVlfQ","signature":"V8BzJKt4lURIVcblFYT1w4Rx7CvIoM04NlJSNlXyQqmMUmhJk9BlyWD9J3hna25Wavpki6yMskLmtn7r72lIuuOcbCavAzLSit5ATtusuIg9KymQ0yjjupyaViUd0-xdhmkq8F39GazoCk1QMQpXCT7g_j58uUDIX3tuMcaCR0Rbv-ay0vKvjssdRr96K5CmWeWddqEjNxiLjMXOw5CBTKXe_lrsX-UhUtrsykGjDwbbWVu4IZGSpIPsQWery_Whr1AhZ-0zf6diPAYBJhGyPi7VAo4t6hHT-NQVsnX9G3wo4wmwGVQ-fFQSKzdU2PLk8Lre60nPBmvUKYpzJG7XZw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-account/68" + Replay-Nonce: + - bYhTDj52cvycxsqvSYlUYQ + Date: + - Thu, 10 Oct 2019 03:08:20 GMT + Content-Length: + - '550' + body: + encoding: UTF-8 + string: |- + { + "status": "valid", + "contact": [ + "mailto:info@example.com" + ], + "orders": "/list-orderz/68", + "key": { + "kty": "RSA", + "n": "wlWfPpRpRTlmK7jzGb1QS4BbuyEOsUO7fQFlTLDTHnUHXnewB7T1UMzj63EdBr-wCCII4I7ejmqSQnfYxyNliC6B1TE3LMVdArdo0JgG0_l-IfJzgOzEYWUDyOY692xxj7lEPSW13aJE52RTx6p4rfbXat5PEuny6TIqJezIR8biBV7fDoJpKRYWo0IkOUu2J_f2ZVlHgNnqNsZuHHH-a8E4nXeC5eJ86nHlWH5REoi57YanoY8ZZmNKHd15OQLBtRvk4l0NJvqNlwuZ_H745ON_DOuOafy4lnpjNh2P2IiycZec84sqgYzXKz29k2iO4uYz_30nx9SwmjaOw5L_uQ", + "e": "AQAB" + } + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:20 GMT +- request: + method: post + uri: "/order-plz" + body: + encoding: UTF-8 + string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiYlloVERqNTJjdnljeHNxdlNZbFVZUSIsInVybCI6Imh0dHBzOi8vMTkyLjE2OC41Ni45MzoxNDAwMC9vcmRlci1wbHoiLCJraWQiOiJodHRwczovLzE5Mi4xNjguNTYuOTM6MTQwMDAvbXktYWNjb3VudC82OCJ9","payload":"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoiZXhhbXBsZS5jb20ifV19","signature":"SHqLSudSSQg_y-gYfZ1maiukI4hVThXgc5fWOqZAxwvfdcc0tTdNrwABeGQjL4def9JuHzCDDof2Pg43yhYpKZsUjfv41dKLTSB_Y3Q887cZeIw8wh6l4L44QTpp-trkLN4tC4ZpHpel8Y7yAsOB5-5Yx3QetA4TsSnxXJuVZx-2lJE8D5B81XFwszOJH-ngMnE3ap-WazG1R_DFu7VNl6UEUFH3wZW_YS-WTaE57pCpFBaJZ3CbaYITGRzrA0WmfMUI90vGwVFrhzrywFC191pIcXPqO_2dN8gwPC4yjVwyeMkWYPy7SqpWPPvX3ZfpoYptFPK5jnxodVNjsh7Wuw"}' + headers: + User-Agent: + - Acme::Client v2.0.4 (https://github.com/unixcharles/acme-client) + Content-Type: + - application/jose+json + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 201 + message: Created + headers: + Cache-Control: + - public, max-age=0, no-cache + Content-Type: + - application/json; charset=utf-8 + Link: + - <>;rel="index" + Location: + - "/my-order/YkH7utCEsPA9QutahVZh5Osw9Sg72w0HxJG1nnN04IQ" + Replay-Nonce: + - QOwgE1D5hYw0laVP8Re8ig + Date: + - Thu, 10 Oct 2019 03:08:20 GMT + Content-Length: + - '382' + body: + encoding: UTF-8 + string: |- + { + "status": "pending", + "expires": "2019-10-11T03:08:20Z", + "identifiers": [ + { + "type": "dns", + "value": "example.com" + } + ], + "finalize": "/finalize-order/YkH7utCEsPA9QutahVZh5Osw9Sg72w0HxJG1nnN04IQ", + "authorizations": [ + "/authZ/xtMqT6H0eM9s5PX4NJtzOx4DDBs1zO4wtbxLM-PkZy0" + ] + } + http_version: + recorded_at: Thu, 10 Oct 2019 03:08:20 GMT +recorded_with: VCR 2.9.3 diff -Nru ruby-acme-client-2.0.5/spec/certificate_request_spec.rb ruby-acme-client-2.0.6/spec/certificate_request_spec.rb --- ruby-acme-client-2.0.5/spec/certificate_request_spec.rb 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/certificate_request_spec.rb 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,149 @@ +require 'spec_helper' + +describe Acme::Client::CertificateRequest do + let(:test_key) { generate_private_key } + + it 'reads the common name from the subject' do + request = Acme::Client::CertificateRequest.new(private_key: test_key, subject: { common_name: 'example.org' }) + + expect(request.common_name).to eq('example.org') + + request = Acme::Client::CertificateRequest.new(private_key: test_key, subject: { 'CN' => 'example.org' }) + + expect(request.common_name).to eq('example.org') + end + + it "doesn't modify the given subject" do + subject = { common_name: 'example.org' } + original = subject.dup + Acme::Client::CertificateRequest.new(private_key: test_key, subject: subject) + + expect(subject).to eq(original) + end + + it 'normalizes the subject to OpenSSL short names' do + subject = Acme::Client::CertificateRequest::SUBJECT_KEYS.each_with_object({}) {|(key, _), hash| + hash[key] = 'example' + } + request = Acme::Client::CertificateRequest.new(private_key: test_key, subject: subject) + + subject = Acme::Client::CertificateRequest::SUBJECT_KEYS.each_with_object({}) {|(_, short_name), hash| + hash[short_name] = 'example' + } + expect(request.subject).to eq(subject) + end + + it 'sets the subject common name from the parameter' do + request = Acme::Client::CertificateRequest.new(common_name: 'example.org', private_key: test_key) + + expect(request.subject['CN']).to eq('example.org') + end + + it 'adds the common name to the names' do + request = Acme::Client::CertificateRequest.new(common_name: 'example.org', private_key: test_key) + + expect(request.names).to eq(%w(example.org)) + end + + it 'picks a single domain as the common name' do + request = Acme::Client::CertificateRequest.new(names: %w(example.org), private_key: test_key) + + expect(request.common_name).to eq('example.org') + expect(request.subject['CN']).to eq('example.org') + expect(request.names).to eq(%w(example.org)) + end + + it 'picks the common name from the names' do + request = Acme::Client::CertificateRequest.new(names: %w(example.org www.example.org), private_key: test_key) + + expect(request.common_name).to eq('example.org') + expect(request.subject['CN']).to eq('example.org') + expect(request.names).to eq(%w(example.org www.example.org)) + end + + it 'expects a domain' do + expect { + Acme::Client::CertificateRequest.new(private_key: test_key) + }.to raise_error(ArgumentError, /No common name/) + end + + it 'disallows arbitrary subject keys' do + expect { + Acme::Client::CertificateRequest.new( + common_name: 'example.org', + private_key: test_key, + subject: { :milk => 'yes', 'serialNumber' => 123 } + ) + }.to raise_error(ArgumentError, /Unexpected subject attributes/) + end + + it 'checks consistency of given common names' do + expect { + Acme::Client::CertificateRequest.new( + common_name: 'example.org', + private_key: test_key, + subject: { common_name: 'example.net' } + ) + }.to raise_error(ArgumentError, /Conflicting common name/) + + expect { + Acme::Client::CertificateRequest.new( + common_name: 'example.org', + private_key: test_key, + subject: { 'CN' => 'example.net' } + ) + }.to raise_error(ArgumentError, /Conflicting common name/) + end + + it 'assigns the public key' do + request = Acme::Client::CertificateRequest.new(common_name: 'example.org', private_key: test_key) + + expect(request.csr.public_key.to_der).to eq(public_key_to_der(test_key)) + expect(request.csr.verify(request.csr.public_key)).to be(true) + end + + it 'adds the common name to the subject' do + request = Acme::Client::CertificateRequest.new(common_name: 'example.org', private_key: test_key) + + subject = request.csr.subject.to_a.map { |name, value, _| [name, value] }.to_h + expect(subject['CN']).to eq('example.org') + end + + it 'adds other valid attributes to the subject' do + subject_keys = Acme::Client::CertificateRequest::SUBJECT_KEYS + subject = subject_keys.each_with_object({}) {|(_, short_name), hash| + hash[short_name] = 'example' + } + request = Acme::Client::CertificateRequest.new(private_key: test_key, subject: subject) + + csr_subject = request.csr.subject.to_a.map { |name, value, _| [name, value] }.to_h + expect(csr_subject).to eq(subject) + end + + it 'creates a subjectAltName extension with multiple names' do + request = Acme::Client::CertificateRequest.new(names: %w(example.org www.example.org), private_key: test_key) + + extension = request.csr.attributes.find { |attribute| + asn1_dig(attribute).first.value == 'subjectAltName' + } + expect(extension).not_to be_nil + value = asn1_dig(extension).last.value + expect(value).to include('example.org') + expect(value).to include('www.example.org') + end + + it 'signs the request with the private key' do + request = Acme::Client::CertificateRequest.new(common_name: 'example.org', private_key: test_key) + + expect(verify_csr(request.csr, test_key)).to be(true) + end + + it 'supports ECDSA keys' do + ec_key = OpenSSL::PKey::EC.new('secp384r1') + ec_key.generate_key + request = Acme::Client::CertificateRequest.new(common_name: 'example.org', + private_key: ec_key) + + expect(request.csr.verify(ec_key)).to be(true) + end +end diff -Nru ruby-acme-client-2.0.5/spec/challenge_spec.rb ruby-acme-client-2.0.6/spec/challenge_spec.rb --- ruby-acme-client-2.0.5/spec/challenge_spec.rb 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/challenge_spec.rb 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,66 @@ +require 'spec_helper' + +describe Acme::Client::Resources::Challenges do + let(:private_key) { generate_private_key } + let(:client) do + client = Acme::Client.new(private_key: private_key, directory: DIRECTORY_URL) + client.new_account(contact: 'mailto:info@example.com', terms_of_service_agreed: true) + client + end + + let(:order) do + client.new_order(identifiers: [{ type: 'dns', value: 'example.com' }]) + end + let(:authorization) { client.authorization(url: order.authorization_urls.first) } + let(:http01) { authorization.http01 } + + context 'reload', vcr: { cassette_name: 'challenge_reload' } do + it 'reload reload the challenge' do + expect { http01.reload }.not_to raise_error + expect(http01.url).not_to be_nil + end + end + + context 'key_authorization', vcr: { cassette_name: 'challenge_key_authorization' } do + it 'returns a key authorization' do + token, jwk_thumbprint = http01.key_authorization.split('.') + expect(token).to eq(http01.token) + expect(jwk_thumbprint).to be_a(String) + end + end + + context 'request_validation' do + it 'successfully verify the challenge', vcr: { cassette_name: 'challenge_verify_success' } do + serve_once(http01.file_content) do + expect { + expect(http01.request_validation).to be(true) + }.to_not raise_error + + expect { + retry_until(condition: lambda { http01.status != 'pending' }) do + http01.reload + end + }.to_not raise_error + + expect(http01.status).to eq('valid') + end + end + + it 'fail to verify the challenge and return the status', vcr: { cassette_name: 'challenge_verify_failure' } do + serve_once("#{http01.file_content}-oops") do + expect { + expect(http01.request_validation).to be(true) + }.to_not raise_error + + expect { + retry_until(condition: lambda { http01.status != 'pending' }) do + http01.reload + end + }.to_not raise_error + + expect(http01.status).to eq('invalid') + expect(http01.error).to_not be_empty + end + end + end +end diff -Nru ruby-acme-client-2.0.5/spec/client_spec.rb ruby-acme-client-2.0.6/spec/client_spec.rb --- ruby-acme-client-2.0.5/spec/client_spec.rb 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/client_spec.rb 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,289 @@ +require 'spec_helper' + +describe Acme::Client do + let(:private_key) { generate_private_key } + let(:csr) { Acme::Client::CertificateRequest.new(names: %w[example.com]) } + + let(:order) do + client.new_order(identifiers: [{ type: 'dns', value: 'example.com' }]) + end + + let(:unregistered_client) { Acme::Client.new(private_key: private_key, directory: DIRECTORY_URL) } + let(:client) do + client = Acme::Client.new(private_key: private_key, directory: DIRECTORY_URL) + client.new_account(contact: 'mailto:info@example.com', terms_of_service_agreed: true) + client + end + + context 'nonce' do + it 'fetch a new nonce and add it to nonces', vcr: { cassette_name: 'get_nonce' } do + expect { + unregistered_client.get_nonce + }.to change { + unregistered_client.nonces.empty? + }.from(true).to(false) + end + + it 'raise when nonce fail', vcr: { cassette_name: 'nonce_fail' } do + expect { + unregistered_client.new_account(contact: 'mailto:info@example.com') + }.to raise_error(Acme::Client::Error::BadNonce) + end + + it 'retry on bad nonce with bad_nonce_retry option', vcr: { cassette_name: 'nonce_retry' } do + client = Acme::Client.new(private_key: private_key, bad_nonce_retry: 10, directory: DIRECTORY_URL) + client.nonces << 'invalid_nonce' + client.new_account(contact: 'mailto:info@example.com', terms_of_service_agreed: true) + end + end + + context 'meta', vcr: { cassette_name: 'client_meta' } do + it { expect(client.meta).to be_a(Hash) } + it { expect(client.terms_of_service).to be_a(String) } + it { expect(client.external_account_required).to be_nil } + end + + context 'account operation' do + context 'new account' do + it 'accept the terms of service', vcr: { cassette_name: 'new_account_agree_terms' } do + account = unregistered_client.new_account(contact: 'mailto:info@example.com', terms_of_service_agreed: true) + expect(account.status).to eq('valid') + end + + it 'refuse the terms of service', vcr: { cassette_name: 'new_account_refuse_terms' } do + expect { + unregistered_client.new_account(contact: 'mailto:info@example.com', terms_of_service_agreed: false) + }.to raise_error(Acme::Client::Error, 'Provided account did not agree to the terms of service') + end + end + + context 'account' do + let(:kid) { client.kid } + + it 'load account when kid is known', vcr: { cassette_name: 'load_account_valid_kid' } do + client = Acme::Client.new( + private_key: private_key, + directory: DIRECTORY_URL, + kid: kid + ) + + expect(client.account.status).to eq('valid') + end + + it 'load account from private key if the kid is unknown', vcr: { cassette_name: 'load_account_unkown_kid' } do + account = unregistered_client.new_account(contact: 'mailto:info@example.com', terms_of_service_agreed: true) + client = Acme::Client.new( + private_key: private_key, + directory: DIRECTORY_URL + ) + + expect(client.account.status).to eq('valid') + expect(client.account.kid).to eq(account.kid) + end + end + + context 'account update' do + it 'updates account contact information', vcr: { cassette_name: 'account_contact_update' } do + expect( + client.account.contact + ).to eq(['mailto:info@example.com']) + + client.account_update(contact: 'mailto:updated@example.com') + expect( + client.account.contact + ).to eq(['mailto:updated@example.com']) + end + end + + context 'account deactivate' do + it 'updates account contact information', vcr: { cassette_name: 'account_contact_deactivate' } do + deactivated_account = client.account_deactivate + + expect( + deactivated_account.status + ).to eq('deactivated') + end + end + end + + context 'order operation' do + context 'new order' do + it 'creates a new order', vcr: { cassette_name: 'new_order' } do + order = client.new_order(identifiers: [{ type: 'dns', value: 'example.com' }]) + + expect(order).to be_a(Acme::Client::Resources::Order) + end + + it 'creates a new order', vcr: { cassette_name: 'simpler_identifiers_order' } do + order = client.new_order(identifiers: 'example.com') + + expect(order).to be_a(Acme::Client::Resources::Order) + end + end + + context 'order' do + let(:order_url) { order.url } + it 'fetch orders from a url', vcr: { cassette_name: 'fetch_order' } do + order = client.order(url: order_url) + expect(order).to be_a(Acme::Client::Resources::Order) + end + + it 'fail to fetch order from an invalid url', vcr: { cassette_name: 'fail_fetch_order' } do + expect { + client.order(url: "#{order_url}err") + }.to raise_error(Acme::Client::Error::NotFound) + end + end + + context 'authorization' do + it 'fetch authorization from a url', vcr: { cassette_name: 'fetch_authorization' } do + authorization = client.authorization(url: order.authorization_urls.first) + expect(authorization).to be_a(Acme::Client::Resources::Authorization) + end + end + + context 'deactivate_authorization' do + it 'fetch authorization from a url', vcr: { cassette_name: 'deactivate_authorization' } do + authorization = client.authorization(url: order.authorization_urls.first) + authorization = client.deactivate_authorization(url: authorization.url) + + expect(authorization).to be_a(Acme::Client::Resources::Authorization) + expect(authorization.status).to eq('deactivated') + end + end + + context 'challenges' do + it 'fetch challenges from a url', vcr: { cassette_name: 'fetch_challenge' } do + authorization = client.authorization(url: order.authorization_urls.first) + challenge = client.challenge(url: authorization.http01.url) + + expect(challenge).to be_kind_of(Acme::Client::Resources::Challenges::Base) + end + end + + context 'request_challenge_validation' do + it 'request verification from a url', vcr: { cassette_name: 'request_validation' } do + authorization = client.authorization(url: order.authorization_urls.first) + challenge = client.challenge(url: authorization.http01.url) + challenge = client.request_challenge_validation(url: challenge.url) + + expect(challenge).to be_kind_of(Acme::Client::Resources::Challenges::Base) + expect(challenge.status).to eq('pending') + end + + it 'request verification from a url', vcr: { cassette_name: 'request_validation' } do + authorization = client.authorization(url: order.authorization_urls.first) + challenge = client.challenge(url: authorization.http01.url) + challenge = client.request_challenge_validation(url: challenge.url) + + expect(challenge).to be_kind_of(Acme::Client::Resources::Challenges::Base) + expect(challenge.status).to eq('pending') + end + end + + context 'finalize' do + let(:order_url) { order.url } + let(:finalize_url) { order.finalize_url } + let(:authorization) { client.authorization(url: order.authorization_urls.first) } + + it 'finalize an order raise on csr mismatch', vcr: { cassette_name: 'finalize_csr_mismatch' } do + expect { + client.finalize(url: finalize_url, csr: csr) + }.to raise_error(Acme::Client::Error::Unauthorized) + end + + it 'finalize an order raise on incomplete authorization', vcr: { cassette_name: 'finalize_incomplete_challenge' } do + expect { + client.finalize(url: finalize_url, csr: csr) + }.to raise_error(Acme::Client::Error::Unauthorized) + end + + it 'finalize an order successfully when authorization challenges are completed', vcr: { cassette_name: 'finalize_succeed' } do + challenge = authorization.http01 + + serve_once(challenge.file_content) do + client.request_challenge_validation(url: challenge.url) + end + + order = client.finalize(url: finalize_url, csr: csr) + + finalized_order = client.order(url: order.url) + expect(finalized_order.certificate_url).not_to be_nil + end + end + + context 'certificate' do + let(:finalize_url) { order.finalize_url } + let(:authorization) { client.authorization(url: order.authorization_urls.first) } + let(:challenge) { authorization.http01 } + + it 'download a certificate', vcr: { cassette_name: 'certificate_download' } do + serve_once(challenge.file_content) do + client.request_challenge_validation(url: challenge.url) + end + + order = client.finalize(url: finalize_url, csr: csr) + finalized_order = client.order(url: order.url) + certificate = client.certificate(url: finalized_order.certificate_url) + + expect { OpenSSL::X509::Certificate.new(certificate) }.not_to raise_error + end + end + + context 'revoke' do + let(:finalize_url) { order.finalize_url } + let(:authorization) { client.authorization(url: order.authorization_urls.first) } + let(:challenge) { authorization.http01 } + let(:certificate) do + serve_once(challenge.file_content) do + client.request_challenge_validation(url: challenge.url) + end + + order = client.finalize(url: finalize_url, csr: csr) + finalized_order = client.order(url: order.url) + client.certificate(url: finalized_order.certificate_url) + end + + # TODO: find a way to record fixtures for this, unsupported by pebble at the moment. + xit 'revoke a PEM string certificate', vcr: { cassette_name: 'revoke_pem_sucess' } do + serve_once(challenge.file_content) do + client.request_challenge_validation(url: challenge.url) + end + + order = client.finalize(url: finalize_url, csr: csr) + finalized_order = client.order(url: order.url) + certificate = client.certificate(url: finalized_order.certificate_url) + + client.revoke(certificate: certificate) + end + end + end + + context 'prepare_order_identifiers' do + it 'accepts a single dns string' do + expect(unregistered_client.send(:prepare_order_identifiers, 'example.com')) + .to eq([{ type: 'dns', value: 'example.com' }]) + end + + it 'accepts an array of dns strings' do + expect(unregistered_client.send(:prepare_order_identifiers, %w(example.com foo.example.com))) + .to eq([{ type: 'dns', value: 'example.com' }, { type: 'dns', value: 'foo.example.com' }]) + end + + it 'accepts a single identifier hash' do + expect(unregistered_client.send(:prepare_order_identifiers, type: 'ip', value: '192.168.1.1')) + .to eq([{ type: 'ip', value: '192.168.1.1' }]) + end + + it 'accepts an array of identifier hashes' do + identifiers = [{ type: 'ip', value: '192.168.1.1' }, { type: 'dns', value: 'example.com' }] + expect(unregistered_client.send(:prepare_order_identifiers, identifiers)) + .to eq([{ type: 'ip', value: '192.168.1.1' }, { type: 'dns', value: 'example.com' }]) + end + + it 'accepts a combination of dns strings and identifier hashes' do + expect(unregistered_client.send(:prepare_order_identifiers, [{ type: 'ip', value: '192.168.1.1' }, 'example.com'])) + .to eq([{ type: 'ip', value: '192.168.1.1' }, { type: 'dns', value: 'example.com' }]) + end + end +end diff -Nru ruby-acme-client-2.0.5/spec/directory_spec.rb ruby-acme-client-2.0.6/spec/directory_spec.rb --- ruby-acme-client-2.0.5/spec/directory_spec.rb 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/directory_spec.rb 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,19 @@ +require 'spec_helper' + +describe Acme::Client::Resources::Directory do + let(:directory) { Acme::Client::Resources::Directory.new(DIRECTORY_URL, {}) } + + context 'endpoint_for', vcr: { cassette_name: 'directory_endpoint_for' } do + it { expect(directory.endpoint_for(:new_nonce)).to be_a_kind_of(URI) } + it { expect(directory.endpoint_for(:new_account)).to be_a_kind_of(URI) } + it { expect(directory.endpoint_for(:new_order)).to be_a_kind_of(URI) } + it { expect(directory.endpoint_for(:revoke_certificate)).to be_a_kind_of(URI) } + it { expect(directory.endpoint_for(:key_change)).to be_a_kind_of(URI) } + end + + context 'meta', vcr: { cassette_name: 'directory_meta' } do + it { expect(directory.meta).to be_a(Hash) } + it { expect(directory.terms_of_service).to be_a(String) } + it { expect(directory.external_account_required).to be_nil } + end +end diff -Nru ruby-acme-client-2.0.5/spec/dns01_spec.rb ruby-acme-client-2.0.6/spec/dns01_spec.rb --- ruby-acme-client-2.0.5/spec/dns01_spec.rb 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/dns01_spec.rb 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +require 'spec_helper' + +describe Acme::Client::Resources::Challenges::DNS01 do + let(:private_key) { generate_private_key } + let(:client) do + Acme::Client.new(private_key: private_key, directory: DIRECTORY_URL) + end + let(:attributes) do + { status: 'pending', url: 'https://example.com/foo/bar', token: 'example_token' } + end + let(:dns01) do + Acme::Client::Resources::Challenges::DNS01.new(client, **attributes) + end + + it { expect(dns01.record_name).to eq('_acme-challenge') } + it { expect(dns01.record_type).to eq('TXT') } + it { expect(dns01.record_content).to be_a(String) } +end diff -Nru ruby-acme-client-2.0.5/spec/fixtures/keystash.yml ruby-acme-client-2.0.6/spec/fixtures/keystash.yml --- ruby-acme-client-2.0.5/spec/fixtures/keystash.yml 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/fixtures/keystash.yml 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,1602 @@ +--- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpAIBAAKCAQEAw7/0NxjZLA+ZZtadoRZjPadLgCia+hhpFesxEkw8YLKo8KHz + IgxFr7FqWuz0BVmFSk8uR6PTWCsE7IwiWgl0b4f3Jo4hlwR6VqqjS4ydz5xKow49 + AJ7MHJ68HajcTRNx+F3PMbFmzTVNUxrH+YrjAdaPAzhmDGwQHlA8CKfOJblNktqZ + jxQ/et6ig8/YyuquobX7j+PL8YRtHvBaFQJezyjWIwqAajWSF5ABKt60/3I7YQjB + /xdp3nbdQJLVwxtU3+zUkwN4FEfwryH1Bv3p8jR5EDZ+HiUoXg9X3G6XQJISbeyO + N6sQcm9FNjSxhRsNDASPsHNRfrr5AoSk7pEsPwIDAQABAoIBAQC5+tRSzL75R9Dd + jiaxeA3N8/adyvaDi1G8S3qSAfCThutPxO61eKd058E+pkaqFoW3NkeoNRSFfknt + XK7+kGEZ3jqJXRy42L5LPVBsZStCpyGajdqTjkwrHP1pyJeWe1UbPjWu5vffHDdd + L+KzSqungWzbCGicgMdHpb+EEbqgxyLTUP6IPgfAvLXlVLEYIqAXoWdR/OhxnxYo + QmMcAQSnLuyYDwZrm3vVhN4roeTUrJfRa3eDpSTWf06/tzMqvpSvdl0arigUFvec + hZCZkDJ/Zp970fixV5hw2DPC2UKTn2cY6YqMP+Vy1YLbeh0kBLrOTKnNUNAKKs2G + sqorHWSBAoGBAP8dryKuqFFwn2wPtrI7N9zi98yZIp3XQuPosGUl21z4Mu9c9LsM + S6QlhevmFUnS1cEWPAKdy3BlQ/gwNG7tSqQNxSd6zcfyiBWBLSf8E76E+AP7TIrm + kSvcYEmyidTQiX+cW/8yOa4f0IDtauV1KZTp41ccp/lz/cGyA72up0qfAoGBAMRt + mwYFpNLFJiFvlvlVJSwz8cC7UcJymoHnkFIWqY7Czujwx4En/1PUc29IDyd5Rk8h + d3+EcDGi9Bm37LfSWKHUokrBBLGLjlLGGP437mM+n/MNjoTQBOTyTOn0U3+Gcup0 + rW5ceJamSHhJB+0LF6LUe/NoRtxsvjhzhgn7zlphAoGAS7aJlad0OMdN6Qo41GiS + ybFqjYQdK+8I4Q7b2wkDM3JN25Ag6apagJrKRhqA0uoJmkZ5BOXDzNWg+HWF+i3e + axXTH0Zo8CBgltFBj45WZcKcwMHCE68eAoBi6zxbf5dsVz0WaISFbdHvVXQgt3yw + HIvVdrMAfx4Xf3bPeWnuKE0CgYEAruMfeVchDv+1GWPvOYMTm62L+xtMiiHbavmv + R0ciJBdSfZeTKW1hKVQoitXPmEejz+RuLrzN34PEbfmR64B+pWdaL9B2y1UDnLL/ + oahOuVISuyZA1AMZuHX7APomNY6RVioYGACA5TCbqWzsf6K2oqUozujy3mJ7YmuI + 1e66JUECgYAsNDhGD0Zp4ujNvsOi90MxtRXcd40VkQ0XGmFqxOPgJtstl7zmBYAo + FApFcvQIApb9rpB2rrDKF8YzDdJ5sb8fqIkVFPEtn6Y2aPv6NiUFBYVn0v8eYZpB + 1lqA86uKOk55IccoUwKrOsuyK24XFBP+DdITL74sX8q+NnMc5af6/Q== + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEAoGSnQPPrPQEj1KJoMv8jm+dw2RECiTj9vxYgPvGZSp/o9Bf7 + G3zTV1Aa2uMgXIO44bubD5Rrb35Ht/1ymBDlzfXfLXMB/YKDN1XSyytqFTpQfAMl + CsEAKm3h9ClS0f2EXgeLZNH/X/NLbxSHQXAZF5Bq7osVPynOEy4zvnJs9Q10oYgD + S0OzNH9Mx1h6ayiPRzp8a/hK1zLQWrgj22X6c0Ou0mDGkUQipMzygl7JCft8pQWE + Re4JJEajoxSofUMmXdveJpzabenTEHZYLi1SqgBiUOPN80ed5HrN097dEvXwxTEo + jjtj+fi1fiXungsXlpHTYtESRXnowucHMTdMdQIDAQABAoIBAHvZXOCluDYx5CXz + hfwi0K84xgWGweuNqzna7ulLiu95jNq2jbpK57Ia87GjAcEOITuErpYYJ+E+pEhp + Fwxet+QSf9NLY/UJyyJ2Tb999XsQvUcU8oxcPTGGCZyMMBxf4s7sinE+SjAf4FaU + hmA8G9P7OuaZVL2iHTLoUSI0nveUxFKC4Trx5n941beIeenj46NSZzloHcHHW4Qd + rqtCqYAceguC17Y5+CiLfz+LJt4TV6l9kUger0Yy8JR+s/7wYN3JfO1awfoUQs80 + Rsx/tZ2CCMYK29tS8mB+OQlpO8v93Z8OVR9vZoWqW8DxDeb3NYhmiYQzGhmkNnQn + FgxaPV0CgYEAy64SCZvg61wMKnuJI1lZ1aMyceU2Xa+JMa+c9FXU5CzVbPMv06T8 + qZ8t2pQlT0x31ES488r8lbZcyLKJnosVzEa0yGAVQHrpa9gNimab7aN8E9apVYLr + AnV3YQ7UyQd9AAuOroYYCOEyN6g3pxx/305M68o0qiVqq9WYjZxNuoMCgYEAyZgO + wIbYFOOT0BLjMERM352yldYWdToM+lyRR3Hukc/XuioyzJ9d8m4nJ9xIteX0A8Yu + kmylrvTqkx9zq3mVd8Oze6pVZr1sOMNdH4FjzeNTGSmZJW2mtwHCwCppO6oC8jAB + aLTkodQT3mBGQevIayaAWyFNJjC2IxcDdlJVC6cCgYAjeFPx0nCP7D6+IzdVrZjE + aKA/T3BxTkFxIqkNr+jcN6aPS6Z3kBLkIzFkEEqTDbkMgU9IPYBRPinYVac7sfMA + 2QtgncL1sLH3su9gu8/JyZ+xAMAKgTsV+YjpoSCTRbeSC3E0mWuUGEubf7L5ajAm + nkctBNC5FL0H4bGob6DlqwKBgFiWME1cNBIh22+BDULFkL5nLvX3CRFkfBV8nf62 + Sy7aFaNiLcaLdZ4115EFlRIRxcPuz8JaaghS6c3S8WJ14D+ryPBb7oFiVe8vsnlI + w5HTBk41YG35HFypMmp9eJbWY8sHW2cmrp2Kc1yyE82eDgk/9wGUxbE1kKQk1cml + 7mdbAoGBALk67YIlsGcpabQ1T3PJI70QKj+JbNgC6nE9fnpXO49huiARmlPJ2lPn + 12QthP4PL6jGTCm0ZbcDkqHIdRZL90AZ+mU1/Utvcylx+jH82F8dOszwyIbdP1pg + Crqef7HMiGqjffUq74qMR69SE4YSdt9Hsmp4JUTnnUotKffTKZ+R + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDB9RvtH/31P9rHXDuuwxc4GXcyp1biI7O0GxItdsgm1rBaDeS0/sYwp + BeTQed/Wx12gBwYFK4EEACKhZANiAASm3yqhZ5J4PGzQw/wwuePCpTFf9AL7lSfT + KDrDi+lSYDtOoL100eFMPBeuqoK/OdFsJmmW5mzhhxckwIjRu2ybe+vKOr9EOO15 + PvQpc9MuO7oPuFDuPg1cvjj+hLbKKFY= + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpQIBAAKCAQEAnEZmqyOXyxbM1vv0lah+pB2Idc15wm36mjrxO2h/aAC8OhEw + QXY9JMhesOAR1MYIaolGPFD+Rc6UxxISTbP7iIQ15J/7lC6T8V0wW2WIshAJNooS + deppriszUwsoqNFI4sFpHrK6qM2jaGA6yc8pdGMKTV1NFkRP7wndgsEGC6D3P80X + utOKjDFEfLKvlptAz9WSH6cE8GyGaasxVruSft2MJHIPVFcgCjdc4oJOW4uUDwm2 + TVn1RlU154lafr9cItxrcUnvgyKhvdJ0yu7EfjzugE0IHgI5F+qh46iJxQ/5tMUe + nS3b/RJg7nJ75XBvAbvORTny08aMYb8dE7kW/QIDAQABAoIBAQCTVAfMxjR/wZIC + B+zQ/tXNsQ4KSVnGBFsi9fig0mZyzWams7ezr137hG9I/yWwW7ZpgdtWV+EwPI6k + kpPw74JudH4+eNj8HWFaRkmlkLZrcJTO9yJqSkGxcobjfnypkwzMwhxxVXyGUcAB + Ud96jLR/RjPbNd/L40EckUdk0sb5RCFAieec8N69Og0HngdV3x6VAAU61wuKSKHz + VutR8TbKRkkkbg/Z3cFqNRcOaoEyNbmXkJjMJaFJfDfI4+cp5KHPj1Y2bh9tcays + xcky3BbqMcWxUHBbvJm1FCoP2hc7Ro3JNj7gm9j9dhQ2tt3OJH3FWF6sKYjhtAg9 + dnQToxidAoGBAMveMqenOKDf5LA48itfHk9bRCmJ/V4Rk7TPtRbEKV2jd2MwSX/i + ScQvnIsoyeyrtf2XP+LSM+CA1JATrdRQIwTcTj9VT9tjO/w4H6/zkP7c75YQsn+Q + wZhD0cLD3PSq6Fz5XWWkCKApIjbQVvLycuqRZkNFm8EwV+uveR3gLEf/AoGBAMQ8 + oH2dHDNc7uRETYdtpQILhrJnbfO/+2cajFUdf0OShk2A/NV4IuYwliYGZls2Px75 + pmpDvL7tlF12bvRTseq1nU0BNHjeeetKh1Vxepgr8hzFR8QlRAUUVCRwZ4s3+LZ7 + +DX54DXgbiIvEPApR7Fe2kGJt3S+co0/1X9HE8EDAoGAdMbedTJQObaGJHs6HKXr + ksFQlgq42z1uQlAIBvZuS3jrViG+uEZCwuIS5ZODttHU+WG98os9tAeXur/K/qa4 + qHwZRiX0DFMXdS4g2ITINXUQuADwfinI+xM+ADZ5RpzvZPJiEWqYlkV5l7RXWeqO + 8NZAoaApy8uJUTO+SOKz+rkCgYEAhkLQr4DZtY6k58qPnNP4rJCERPWc9cNpV16D + mwyGcQ4EE2zoD4mVnxao9DU2vLs9royyPkxADAVymAua2FGXDfXaPMBRTU0x7zjb + pSrx7MFMckDL3Dh+9Fa3RwMc5NSTtw7UgOGIdHQsBflbxmUH5yP1gheeTCKtL1T4 + Vo+jxU8CgYEAvdJ48Lu3FA+iiFNFCQtmwiqCQPbP8Rcwa4XHh7Z08GoNcoLOzALP + DT041NwNbDpJ/xWG0RgW4G2EY/aZ1jnCWxmq9PWH394BhnjIV9Ey3MXklJ1QhBY6 + hnNbgErcP8kw2SL/JoWVFipO5HsJHkcL3rzUkIhk7t9A7OMG46fBI/c= + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDCUheWlp9sIQi3A0wStI3GO9dVVZu37SmysdUqVI266RRZUn7pXbJTV + 8FjyYTdRs7SgBwYFK4EEACKhZANiAAR17vBot+i4eCTiLYa9chlM8J7AgQ286EDP + NTwtNB3tGseMmKR+APX7CKMBsTz3c0KQ++TQMdwcigVIV8uKIQq5gtvk/o/wReHV + K9epwaEVu+5Mfs2Gv3LnVKmr4KQzRAM= + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpAIBAAKCAQEA49bzmBNMog1WlIUHQ1viC42TkHMzktDwG0BOfOQix5Fj6iF8 + XLUxDL1LQdUbUkAu3gBBOej9CTPYx5Yk6zZ0O2fclzyl+sAfuuaHHmY1wl3z5hk3 + 8LSlYeyZRqNbYEFrmCvHOWsWDKbYKSv988xk6M8dwCH/W7QOy6In5etbjrDiNxEL + Cj636ZMO/4xf6wpPE2LWItPCIyWuCEUrm7QtpAmzH6A7m6Wd5LHVq9EWs2sy6BkV + OUYxuS76c6MlVdZgPzl6TDEiQGfek93i/TGQMvxfOpDnnnS1nS17n44JTJyYOyXp + S5YxxMvSNS4YPavJPmjTk9Z92DN8x1tIWXAKhwIDAQABAoIBAHFWZzy6NP/T9MLS + 3gcS+QJYPhS4Sep5x0c3GRQlhGuUFojMeYnAlJLKw1oPQZUL2oSSyd+d1+mxAeBe + /ySGpRE8HE6bW9G9qssVjBeCLrHufLp0xxAVPMPWp3StJHJgeL5s4KDedUx73sG0 + YZLalUP+a8U85ENg8Y84rfJAvv3ebXrPMRRs+EevLYFyUk2gO9D/80nbPBZM6Qut + UrmAMyksdgxWgLTAF0lJbN9al4bpJthRq0kznVVmR0GosEJnJrMBE4Vu3aihO/NH + 2ZJyB7cwwvPex3VZmEppJIuWoNVG0s9BRDXi5reWVpGjUKlU3xTEdpBd0IHSQK5b + B7nfm8ECgYEA+EDkgC4n6k77Kuv/M2tk22Qk13ykHIUvD0Qvr9RlGEwaKQ1izUX0 + OTOOpv/HdY25awdt0BIIGRE13MQrRDTbaFm3yWUorea/TShwB3w4O2iAEbvclpd9 + 1fVdc0l7o82Ru/LF8oKz9TZXttEin4BMrQqru9ftfAEmi7VBpZ1Gh6ECgYEA6vL9 + CxwuUuErDbKbCRWL84eStJf0B/Mv0LINODF7wk7achtgP6xOzf3Du9KjD5DAGQug + SZ1SWgM27wa30rf/LS63qEK9VCaoPdVYcdyNm+zaL7KQg6jD3dNqDV8t7pQU/1Xz + hl/rEN56Z0sfL9z/TmHuRTuc3L9ii8CyAV3RwScCgYEA7UDPYDU8TnCnGBEs905W + uFmP4CUtjlg2bmejD250I3FvuvYhC78kNZqxZaajUBRfNQuHhkgFVzece107YFcH + rUW5II89/ly9TRctYen0r8oiQ1B/86faSiXR5sE+mYB4G+BcD3WcWOhTkdNzPG5Y + WTQOhlpJi65p0TEsCQQzCKECgYAFIyUHTilxJH1FgmdDbpYt0AQUMNJkLhwYixwg + 42waVpEON60GF2VtuaPDApsQJxEcOxXZJjh7wWA9H797Owy4VzIq2rK7GVFKcNTL + QJBUHXyz2EqypkkKG6pQ+ojNk61V2/JEOOqx5rt0cL8Q09s9QoTsPJ50cTbdaWw6 + /WsttwKBgQDZQSq0HKiLzTjbefkKxQ1eAouatiqxDQAmQhw4yio+YU4pUQmcxb8m + cS5zHvD7U1rmnz8+k2W7uiru67gf5NseKTegH5gI+b657ZVTiE38xvuxUR+DcpMs + KkIn4a1HJ0HBD6mFtbKjTJNdRDlTN63DzXumaBQLNG0XJZ+D3LjnKg== + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpAIBAAKCAQEAySHExcVBCcJG8ZtKEa0kXB4Pld/pWkqdwB8zanA8fFLVQekm + ScnQLMiv4lZZgd93M6tyTpdMbwGUulJ87jk9Il0OnV9x0RJxjsbnZDx5iegiUy1j + LPoLefvjF3nDA9Cr3cFi2wXDsgOtK9aBAJMW8pC/6NDJNvrzwqHwMQlQZfqKQ0A/ + JEW0nFWi0tAymMvef/0aBl4XjUtLpWNcCZ2PZWG7MgvulM5vPlMhsqS6R5/0w33+ + 0GC+ewd+7VAjlwdAvEsiiMenQmtk8/t1IRbsR6xK4abgdbpek/pL6ZZYABQYzHyU + k1rRV1i4cJ3iDXSeJUyYzjtnWnAyPTDCiNGQTQIDAQABAoIBAEkeVpuTLyauEv5o + ds/gQtSeNQpGQV4KvDiI3zc1oDeOIWr5qGqwzFZLiu1ceOOm6n3FOSPrCuVcDMaD + kFlGQ7xHWjXJ6eWYr+G424vsFD8XPctBN8m1CREKii8Rm9y6MpDGafq3qMIBZiYG + sBUWZARArROlO1EagB1ko54gBbNccHsydUVQBhdQMrTmzH6b5181FIyQn+f+slbo + cY5UZmYi40t4kw0Ju3P5pf0BwQtfsgHceYleSJvmZjQ4iUX96Clbjkih9dnzWh7t + b/5vpmJrrfy1CsExFKskxh7WsuOdPiu/LNl1L2fJ/sWSG4lqBa9rCHo6oARaq/ZH + u5S0BN0CgYEA/dhQ8A93pjh1HvRAiRWPzskeKl2Gh+L2gO5Uocjh//QJ6VdiuFqb + PGn42iRv9L5vmqBxlClqWQ5+/3Dmkw8BkOEcLmWjGgYY65TZwMq6CGlBx9NzGYwX + NA+9yBRpzZZOA3y7rFx9Jw07xabcxk4LYogWdwlYy0bGnfkEX1AJTN8CgYEAytbk + AAhb6Fai0+huL+rrc9XPxw7U9LGvYSZIEZc9wrZSrdJ/BXL6nuqwwXueukjUOyGt + v63fmzNm4C85E+esIuZ1PZwTR32eEITMNQriCJVyKzM38OxTTMTtaEah7tJtxbOq + 8BgoACy4nbw3hy53LcfRhwb8yCnwr7AnQMIC3FMCgYEA6PfFWHypj9jSzKTYMbej + MuHrmHAbTs0i9LNG4vBNUi2zhv7XMGCfhfOwGuxD/7djD+NeOd9EphUiwuboBmFI + S6H9zisjZHfiGRuUOVcVIzEO2Qkb4n9qsDIeN+lcLP1b/eFVEFwV1GhVyhFZH3pz + AmvpSjg+0NjU4hivRZZb4rsCgYBp8wT032jiWx6CAY5MiTCjOLNnDmA9z/IDlLNg + PNeNtR5KnQCsH/q4t23MIn4uX4w7tsPCs1dxAdBimUf/FavcLvReUf/f/8Voa3Ue + 36hhQ253EjHOLiL0nohDR2GeFVwxQD+xWWzLapCkE4QNoD+wMgdHuGahRwbpPeHC + +ZP08QKBgQDSpFCAZTt96vTENAFQgvEDfAnfVq1KygZy3mDkJ/pIO2pOeRKHb3p/ + lorvbbY8OuO/f8QWnLWq5/vau2pZwCpsT5vru11hAoDsy/6ExbEfTO501rGawFNK + a7u1FyCrEDoiyj0Yj+bFtN2Hx35tzkbPFZcUtFwaWMDffz3T0xKetw== + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpQIBAAKCAQEAzVgMt/Kl3JVx4kiJMyuDn5hFiMljHwnlE3y00Kese/6e9Q6o + YRILe1Btzp5JoA+2SMEHvEr2PDGzYqnVqUdopmstO4zCCEfaF5i39gkNitb3PgSb + LQKpUceouEdVDTtQpYsz5hE+NCmk8/Y9ciHND2bkMpafPZFj1REjLj8Ahduh496U + mX9bAKTI3pB47wuY093qAmd+i06ihsm9dpHGijeGexVLWNz3UTBTelKxw7CucEt3 + BApH0GAUQflyDyASHNd8ThhqFH7NiTaVRcA/BZdlf6oS545sSWi/NQppDeWmE4le + mQ6xJx2dReNh1JDqghwIMfYgkVo/w1VNkoxrGwIDAQABAoIBAQCPmAQE2jzcPPFP + gNPYoZRAlVYCqnmTKfM0Jl+3DZnTd6Gm0mIyx1CaIgs3kn7/3BznUXzcUjtQqpy7 + 4PHVl2b6ATa3Tt4ctkoveA8kkP4UWfC5QLVWy2amFo3Il7FFOHZT3T0kpGgwR/Le + 2xHq7vIb1CK9sZCXmEUMqRhF7a6q60MYiteXV3BK3fV3tkc9CTRP3leZdVoA8+72 + nPpjO5EoOxBoskfMsKWSUtgOtTVmcVz/7H9qEGjX6yoeblWTJmnxkeqCrDR2dNqK + o363QT6LVbX+wvtQQHwpQCm6SDSYYKcjhW8KyQfA/hrLNpcZS1Rby64M29Y+OjjE + C12rbfYRAoGBAPYgRraNbhaup9bHR+j53pVFfs4flcnX9UQVyc0bTSrgdvgRIIsv + wyCrUYS9RIjprXT/buaOkn0LW5VJ5nUOu20TJEYhDpHUG5QGQv6nFxu8wzDpNP4r + KDJ74J0n2PfATT0Ek7PWceoVb9NkiQ38rhjUz46HZ2In/nAw242ILZZjAoGBANWU + 8H/ZhQyxfuyNLr/x9LGulnrr5B1bnERhNs9b42d5cX/5t/js66+EroO+XGbef9yn + 9Xyv2oZbMlhzSvcjnlBX40i9jhS4vzs8Hv1NfbJfLVEXIW40j34jPcRWrsU300zu + mjiqUB+t62oSxRc1RpHj0VVIHz3OHEPFMhEca7npAoGAY2XHiQP2+LwSVj/mv6Th + ikElo9LHqFtJ1vRBqk6jTHSYNzibfvqMAA6P/l59ZhmRDpX10LC1YkCK/PB6XL3V + XYiEdrn061nQxWf9+F+8ilwiLAeSei8tra2vmWg1TGDiEIlfqRoqqRF9Ns78NqTc + HnUbWYE/dDmYnPBuSms7lecCgYEArAA39h4Mof5HQuUn4vhNoNIC6ZcSq/nczMyl + QTS0293XY8KNP/A8lar6h6pD66v/uImijvlnuI+06bpfgsuycO12YlwVEeb+SgvO + wRsowP8ZFZbVG1VEwcZLtdRBBx5AElKM7FlsETcUwOXAx0HmRRL8v/tG/ZUA+irS + eSk0MBECgYEA02NUmGbk7Gn7hNM1L1dSJKGt6fbdMc/FfcQpQaNNiLWYuRN1pSMv + iPCLBAcm85GA4ryqxqNEh6Kui+I5HCR6+y30CaK1x/BMZQBZxRTOx6YENngTecXs + 7W81PFQ6gzjQf2bhDyj1RQEXdl7dh5M7s2VN9dWlTpdVQaf7lKNvtMs= + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpAIBAAKCAQEAkZ4wPUdX6hiGtILes7Mhl8HmSPgdkqZwzaibn3vC3WUqfWzJ + bmFOOOJNQz9vW2TxesptcPUlOaJ3WLzfwi/w+OF7m0l79DkE9l2BHrsW5pOZByz4 + wAAg5GgjSHpW4WT+Lp6LS4iHVd7ri3YJXSlibp49LDkKi3BaCHIZ50+eFCPZOJ38 + flCsSiR3wl77TBPOTKa8ygVd5Fe6BZQ2eXaI7B9+cztKl64fISC/MdynI6/3+3DN + xSXK/YJqtp2ow3j2FsBQpQo+ulxwYZ7/KdV9DUffgt/2bIFsCbyk1ivsqBq7lNlk + fW9+gjnGLyTr9MS+GzYYIATF/2+tj9YhSxL3kwIDAQABAoIBAEMepx2XxO4iX/TU + XdJ2vwU0WvFHbFosXdJt5U2dvjRObUdi3XYDZArURMi6dJmr7aKrq8ZlOMNYH6rH + ZFwdvPT6+f6Z4Iixv5fPgbSoh+XAIskr8XyOkpq1ZY4C1gkOhBr4+TvXsoniNrAR + uD841CYoygmYQUQEhXtfHJGCIVsmePvERV5NDuU4eN2IDQBbBYKhKSK2iNxvwvrj + G75ZM3Ihbzcav3U/K2M9NgdM7AHVZtVoArEXuPr2dh/gS/9rPGORzUSU04PVCkwh + U87PF8xeIziT7aTVAluNuaAZRCr1jOcWU0WYtDlVKw6+6HMkQ/A7a8v+vNLWQk3Y + ipeaAAECgYEAwTwCWmTqemulLgaXrxgBsRh4fPPRPb17N58UOEphGNngroP2XdiK + fdFGy4ZqktRgXN0xVleeWX619MSIc/esuMBES7Ze2Qqae57aaJrwEmU3JMlKDgxU + LyQMCeSJWJ/7VLaqQ2swrvya7B0lByVWITLCID+j8HhNEXu3yckBKNMCgYEAwOq7 + n6MBeQlIQN57jCHVUZAOa7xxljpzBdXn78x3L27QbY6kdl+xdIu18Otrra0hKNtp + BmbL99huNtdRCa4KpePsa0BHZXpC680+5MtYnWgmkDoz9Olf44lZpWcrfcI1tUTv + uCgcJrDuRbK6i2/d3/0Rj62Tvg6RExg64We5vkECgYEAhCshiOahot5h+tszgOWw + sosETqMOKWajEuZSFDZ7t12/Wl6UcpgcEfbEr4ze9FMjHiGFD4OaoagTmLmcg4WS + tEN98zNoKJgiFhAPX6EqN8rXLugnKPix1BSZz2Jrtxyl8cmHJ9n3UJki9gDxRLP6 + 93YaZahh36bJP/4ZNYGws1UCgYAL77oyM2zI52kgEmQElKdVR5uM0PkaOX2ac9TJ + ApaxSaL91GCarmsVcfuM75QXB+pQU9sYuU2PhUW0gPgTqEAiaYrcS/re7YSsgGOO + 1oIiIyqXq/JBChuTwZDZahvHyTd3gs9uTpUHU9U6XMesDvzkeg0XHb9ReCdDzjD+ + d2OHwQKBgQCYs9lPS+cLvbiMK2XhCbSWdx/FbqIuDjTvBi7gxxIZ+u8qHaeP05zv + cHCTvAqHKNhwae61YyqyQWm/o2qnG4vp6fC/o+wcnZTIFTkLJwbh4FBVMKMO1Kf2 + h3O1euP569iDSUS34MkLSXZR4IDORLZxcK6HGyCgbTRBvQKFNYSRsQ== + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpAIBAAKCAQEAm/gxbDoZOi8I7UPi/oETm4lj1lHUGNfh79JqwpXyoIZQj/9L + wbRCqp9ZAeaYfJrmF4gIHVD10iQnKdrk6WfA1qSKIXkeBRGK8K8hg5rtzuxeolHU + FUotM3C4lSVVc/xMmleM7JCQbFp19PNJBDPkjWKCAbnyS16epmR8rgsAC89S/3yf + QADttmdBOE2i5q3ShFuj+Y6J2lFZiAevRYhV7655wF12puAhF1UByLomAOeRFlMd + FoYiqxVCoLpF+61t56vu83ycv+YEeIBQirxThPfIoj/vmuEzmu4d/g/E2NeM2Cgs + HjgslrPKc0wAQAkWMz4Ni2tmYPwKpj70Ue5rLQIDAQABAoIBAEMMTcq1qxSdFZxR + m6pGuLQbOsTuRlwrqd/bt7NQnI2vT8CnQdzSbfpFKBEuHQ0r1Y/2FW7s18/vZLqU + c+V2iap77zl2hJYvNWhEEQcvOd3DNOdYf/BrA8ViRqcu9m423oNW8ajceIlr1dto + HlJlMHIrD7JISkVmNpNXDVYQOoPYf4iiIcTq40h655TSoDaJaKYMZDCR7e3KyV/G + 6W2739JA7JuIQvP7S4EZDgeVsluSMynn23HiTe/jXb6QG1TlpQ4WGC75nePSONek + qVItn1lIqWOEYbQMrlocCbrT67DfXsBOWRq6eouHpjxbF0ND9LbGF0spfvKewKVz + dcEXzcECgYEAyjMDQ+kgaLSuitZJ+2yXzucUXkfnoeqphlZJ1yLvFkP9/ujhqPhh + 8/5paWN06WUhxxS/Qw8QqI0iYxoT/3KL7KL/PJNAKotMq/kaQxVWz/jyTWOsfl+s + Yqjqel9Ll5dsZ+OjjG6Tx27rlgMrPUidvwUD22t26KJ1bDtw4ZrVuVECgYEAxXgy + o+xwOV/ppyWc7bc5j0XkH/wEPX13JVw/IyPeNjp4oli79de5477t8pWh51FygwK9 + jndkLXNcb9UtodbEmlKhY/T6dancrmnsEqYHdim/ndz6Rk+Q7wPksPXwNyJ6S5qY + VEGwCGFFnNp3gb92GXKpQMUy6CYLX5ADnDOGXR0CgYAbVRf85xeNb9ckR2FKzlwb + CNuU/w1NsuXlleZ3YW6GSPydp6dRavn6vIpNR7d3EUemnKRaEUBEOIfMc6r+XeKS + Q1pTOuhyl8/uc0bciJbqmBFQ6sdXceFgmMrRbe5O+JYb2QazpgLt841/AsCmkRlZ + x/jEgVtaiRNsZQCWTpLTcQKBgQCnb1h499TcQUAr8s+SHIbYvelFWXn67XRmIEaE + tDgJgSCif1y4gndi7ZRy2X9TVRMklOFHeGJfy244gOhVTnabZ67iw2jO9f1hgfyi + f1baUWHhJ+qqTXLVx1ZU2eQZy8koa+f3oU7yfA/7hJ5KTJ6Fy1xJyCt2/jMsjz8Q + Zfvq3QKBgQDAe8ZHb6SbnGxSIkPAF+K8Px6tyWRrh/xsCCseDaWZJW3c7lgRiFlP + 8pHp1o7D7yZj8dnOQg1aPkR27A++A/WRy8Prn+epexDKGnoD3dtVW+CcpluB3MSB + NzWgOgndaUN7OysBMp3c85BRfhZM6WMkMuFeGWoFbVEQweRM8NnbBg== + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDCDZKKtsyC/TLquI64OSemEORfesiMzVLKz+Oa3LxxERaPzQLw6WWOk + xUkiECsI8nugBwYFK4EEACKhZANiAATdReHw9D7n1prDhcXzSTeNs+PWbSDkmE6c + SaHUioBW/HKVmdmicboR7+VwAjQbE4DxcseVI4i2ak0+/5eqj5sbrjEyDteD0bKJ + xgb7vzhC4Q7mOlzrqogZImAq+bSBeDU= + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDBbWnN26sGF9IafnzbGdbXmGRRKOIdCjEjcSlKWUVoud/QzGA56tONx + MP010a60dkmgBwYFK4EEACKhZANiAAQdlfCfEKIbQeB3MKTvbHxE0VdSZP2rvsQu + lQRo+12Ltd+IzM0A9qb4Meq4uOwdTbFAKbFdogS4UWd5ZfYq5CaTJC2l6Slsy1NX + QznxbsHbKwcqoOyf92uu0+4wQVvWLgc= + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDDu5j7jjdaq4CfDP2EltZpNzB87eAgXUrW/isxQUqE78xiDTXqcJM1m + 9u5oJ4zVGCCgBwYFK4EEACKhZANiAAQshWIUHZxheNY9ynlB3JGciy9Rbvf6ZmWu + b903faihTrkLoTwQqIWFmbzuYeTkc18RQCnAXD4LelVK2LY1K4xhDUjswQ+rJOpD + lQlXnGaZVQb1jN1Twse3HqIVuFj5Ixs= + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDBFR0GLE3NieDuGzyk1c9ZI0ZITbVWJQbVd02S8FXGI3jYbecOGLV5H + Vuy2VEbZspKgBwYFK4EEACKhZANiAAToW8rf+C/TP5+Ce2gRABp8+WJ26pDC0FmX + SCMviyyKa+cHALyKVdU9v5ww0+qFDSJ6SIOShcxhY2GgiXa7hOkfpLPb3JbYWLaa + PPEBpOwuM+zkfbE9iYVs9AVq7urfPk8= + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDAOhlC01VrrBi3+EUxNvCUsnYBLWUIBuOz62+GhVx+V/j4n6E9/4Hsk + kVkH6D5r6lKgBwYFK4EEACKhZANiAAQsRiGMdHUWcmrl6q8rkS6F8nfR/fcsTpZV + yPRX+GdAg25h38Fportj377g5t2bsJAqng0VComlVwT1jagPHkuNV4tZf10KAuwV + LAd3RRPS7h9LyNMTeTYE9BFr2+M9Jlk= + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDBXuUPV7Mh0EIegy3aq2dF/Xeo++/YzsprHJsZcar8/SPxkYq3hCVOH + D/SmD1N504WgBwYFK4EEACKhZANiAAQ83k0cB2rQV930RKDLPjzxmPoP2IGYRM4d + XRxp5XLZMtZA8aGJLO7IV0ag9LZdvUKKlHhmkpgxbtnxU0BRAUSYXLSC9XycPxl+ + MSp+gYhgaPyIeQwC+isjuLAI9gcC24w= + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIJKIzEqjzpXWNp8+bZ/g0B7pV2wZ/gV5K6YMSjPkiKfAoAoGCCqGSM49 + AwEHoUQDQgAEisBW3dOHRn7MvlwkpIWkEWHne3z24OEP9qwzCSAYUgvwSvCfaCGY + EDnBzln6J/66dn1UBWcxiM/M6jwEee3EGQ== + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDBWFUQryhjbTrZCtYDVmmQ2Q54eSsr71l/zekxhpCzhMwoL73tQPb6s + /M8blpEK9ACgBwYFK4EEACKhZANiAATXvmPpE2MWBOQFEetCmfV/tmxw+aCAnDzo + NtCqHzSoWlUnOUadM76YzGxaFDYgGlEVvp4ZEo3qeIfuMQdHIBelFjeRH0Ek3kq/ + vNqRBn+oesp5i34OSLlM3kGAeBe+Bik= + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIJ4NZXFz0f1haATspvmn1rN/bY81icUDDiMe4Incq8CXoAoGCCqGSM49 + AwEHoUQDQgAEMdzJXIRjey1KgxjFKWAz7xqj/BDw32zYC+dyvyNxCeltzos3QkTx + p5zkfZgOIhCUNljxrDq3llXU/VT32GBZHw== + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDDVgLLAo4ttc3JBKLWsAm8QddfgCm0J515mmb00EX/Lf3TTLp9t8GvG + U1LLhna4DWGgBwYFK4EEACKhZANiAARIWBSvGLtc8SbsMOw7ocYE5lWR6Zw/VvzX + iiOSjh7TfEkH6O0Jh4iQVt8aDRX7lRwIoC2bSXNH3wPZYoGOCmMg/mbZr1RRPacj + OG3t8ksa1axxTzQp4VYMsTUC1ZNPna4= + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpAIBAAKCAQEAsYLWuV+uOTglaZqWHoIunwMh4/HtDJH7NNzKnKpc0qYkrhCw + qdRv7UxGQeJdTNlIqWoFd1/qtLAC26qzGfo5wz/uhFMIsCMMDs9ckHHxO4f2eyQI + NKnrZDZ5JLqHCKcLbNKY3ab61lF3+oB7l42zTX1x8p1foH6qNy8qDoYbWwg120UH + G/nwkm4XL+r47FphZYT1CvKC/iK1naQWlt38kOczC97Fv7X3Tod1U6B0XaUHHBRO + gPE/mJY/4F9g/CXTFyCHxVfR3+elyk1gRUuPQT05vCu2THWKg8pEKilLgop4pOhy + RJ2Vn8xuU8NtVIoJ1/LyJoxOm1EjczYPDxf8PwIDAQABAoIBAEi+bpJPBI3MVYCe + ahCcltBxLy1DkjpJhKGYLavgIOPuVC/FBTDDrw6W6F/NjSCWFrHekdjmxL9BNhqh + LH5jzdIW2/78LB5KboGPNsa2+v3DbR3vmTFDxQQvUpvbmMTR99ujviNvb3HutvVA + O+XSmv0RgGXFWk/iOI0e1eRXztQRrWo2jm2MGwmJCodYcaQEOmQPT7HMAl9Y/m5y + rMLEzahYKcEQCYt2GeOYhHG9GZ6AOGWnqUJrWXTsb+/bb3+YSrrq0u8JGaBcZt5N + FZjIFT5imO3is3yMVA0JA3O5bcp1BwwzLUzHo77QvPXPi05L0cWPgbkLehsLJrdR + ujRda2kCgYEA3iiVYQIz9Cs3ERdBwvZlNRF5D0GPQYaGtqy6WYO9Zf2VWcqmFHwA + GzOcQxWi7BedU8D8ukvOCKeTIE8OodQbmKkOkiHIFcB/6vc/1Z324S4Tef6bt/76 + 8bJYQbjuV1VUEsusQoNg0Fwo2n5qUSyEOfUA9VaniqVirXORuR+sNpUCgYEAzI0o + t75Mr6VLvuX9Q4ensYZ2wNb5PVYjnmgZh6TRaV+cSthVbO9Cs2WizPP6nyUA242m + Kx3r4fr+QPlwZiMYSOgyrLYQDEDmdvDLB03u+7LfZ/wOvIK56X5E0FhEZ5TJ3yGS + ME7fmaHPaFfkoNVSeh0/6J49XRik+zZ+ggKaVoMCgYBzIADZNrUJsWNl/fFcQSeN + arKbj1PXlwk0nSosvTJnKhQ9ZeDO+LttXT97HDlDs7EZ+AZ/3Ey2+3Ao7A8fGbX7 + VJBydgMkEo+3ic2Qu712T9RUAfdcUExm+A74cAdDRrq8ysNH7KE9GKUrJRufWTxk + dGy8tt034iDS1fMMRjeOSQKBgQDJkUyPjEo7R9LVggPJuPLqAEwjiXPAGpMs9P47 + aZImmV4Fbxr3Jur+p2f/OWk9zBQFRpd5o5mfbVuBIYy+SVUT+yR8h0hXGtlAWdZo + E0ct5r051eubneKgEZq0CFcYD0nCxG0vh3nWBdrBwuL8DlqhFRO2IcDsbW2eU7vk + V7ZJCwKBgQCw6BwDcH7kQrJlVRi/t8wZQdR+FoYRpVUrJZXfd5DYgUOgtykXogyg + uUjrM8L7lS9wBUtEmgggFtQHeGJDegQot1p4mGn4+QdBRtky1NtgYrsrH06Q9hX1 + oyyTCGeCbzgKpPT3aehrb+rgPX0MkBkXCEzDckiEtrv9NNTLJ8WWmA== + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIMP9f47KziuNZGJLaYmWmm7CjaCg6A63RvTr+ZLAKi6hoAoGCCqGSM49 + AwEHoUQDQgAEghP/AU41zS7WTPPPWkep7GCBZX1pV1B2KHUYjNJEfehsEDAO11KS + RmB52+t1QKTwp+cQvLodR4Plj9luL8L8Sg== + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEAo8Ned3FldkA6SkNzpUdjqvyHiiTjLSXLlK89+Pzh/zDMLxnC + hFh5MUtOs9yLi3sOLbla9FimfVmPQZ8sUbTbo1i4Cbw0IIYVqE60IBS5sYHe/KYN + lNGthoXCiZaxfhgMKRTODm/ihrBldnGzmNwishAU+PoJPrvt4ydG10ihX17KtBi0 + PVlEnUvTNLUYxlllJOCrGHmIjzYXDqaHr2SEDHJG+VuFWLvD5wNNpcFjbMxliTE4 + JNIHib9z5bWOWlQJ+qV8mFerzMAVbJ9KyKBjDZD/Qks6IBbUAB1Yw6uDILQt6+BH + r3Z1RXJBSGk3e+S5CueRp3T3KCEjSspS8rp+wwIDAQABAoIBAAxi8Zk9NXxtPTty + wKOGs84yDZpwUdKPYkebvadAkWN48Gi7nQ/flUMaPBi0nMVvCFKDC5MhxW4DwSco + f/SqJlbDlh/+YT74hVjWox8uEiGP/irD8JEKDwL2yREZGdG8xeaxkShcZBjl7La5 + wOjV9bXcK4ntd5eMJWEiDmSoNLR+2wJdV+Zzzt/aBlJiGi/53/JEnYkXzTwMlU7z + FDG8l5bt1tjLd5l+DxsyGm/8i7QioBs/YjdSF1i7o858vBMvjYQCwkqvQNkIEpae + huZ0NXsmxIct8rfNt/10+xnThW3YMKHQZWfizOiwpz7eEHtdmKrlMtaZ345o6B3+ + JlKO8jECgYEAzu6t5UGq3pvyTUJ0NfO0CB9AMwxFucPqRN7uGtKxbQlD9YLDKvHu + vkdyy37LBgqFkpwiCqzBKuu65uNq+i/Uv7DMJwWdkDvlSXEiPBFg/C5eq9SKv0UT + 53EvhUlHfDnR3f9IbSd4LP0vuX70OOLymk5Q89iw9PER6CkiX8imV1kCgYEAypg1 + 3A9E+dQQIMEeNA4Vy/I7NHXmh/9qHiCezWT/3i1M5zLSYXqZI+zdbOv8UeI73OZf + M7u0LYBFfcRyAYAxrzlBy3QtWZNjrGRfLisHN2Rs9WMxHv5QPvkpmeejOehMUCFs + dhGdQOxoVlYr2S9UWHMN0yqalPkdQD/apet433sCgYBjtDrTYG2M7sSzlxZZPH/8 + /dm3/uzFkfEZl/RPtj7I05MMAyI4WfN3eQOFqyT1VzJ+rn30eMJmBMi8IM1VmKBA + cFYdYyZE7acPWNRu7sy1FT6GOlVTzVvGwxFrfiBUaaOF/E+QUFkmDCPnk5Tmp+rO + kHeO1lSE4HaJTvCCCDKlmQKBgGlZMxCmhAihZG2T3n/VHzJ5WJ4T/PeVMnpOHiXS + Mlc3GTlULR/xX3bV8eJ06DUwPk7FIJZHMg9DF1+p6lqrbaqfTH5egEKHKRp46yGX + 0F3Wg+4qUV27gsDsUdytHiy7hgtZBgxzZmFfTXYvwwdh3CtOUM8Q5Wc4DyTcz3bd + 9nHHAoGBAKB7Si6KO8zbCWNYY4P8GJqWjLmvjqJ8/wq6Fsnefb+RuUledZdL86gm + ibW81vj9iQlWBJTXcujAsPiXxUyZ4m+bAP28+5wyMVHiTrrEhOxnJ6nenRjrlsqH + btneeXEMFzvO2jxEqh4mbd1KMhKnDEOUuQqaQxmbuJRQ00TgxHkn + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIJNnpofLxhJ+QgtB20jrqOAyOBj9QS9AFo+rpMRikcr6oAoGCCqGSM49 + AwEHoUQDQgAEK53eXt4avIMWDYwBkFBFjgIYyHOmZlQ53xO/r0X7uS2peqrUztD6 + ZP3s+vYQE443Sg10pwNBpoqGn8PXJb4/EA== + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDClermPflZfvx2pGHNJdDDU0xtWidXIhpG3vSLDNaGjMG2yaNRboiaG + TXLFn8lsjb6gBwYFK4EEACKhZANiAATVSm3IN/xAUIdeEWGbB4NoPQzPh7TNxiO9 + KtweEmuffzLeeIbk4rLX8MIvJCwlxtk3mNxxZBcJEEOafxK2rAt8CN8rOTCUiWFO + 543dxEl7ZsIc8MQUBL6lheHBd6y2uZA= + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpAIBAAKCAQEA3YH+AHel68TYfHpJOMXt9P8z65FThPeXtqcgbArd0owExVGv + +vIR3usGBV7rD9vFgP6fIBZdjpB7RYU/x0HU0njub5PVvQedcanYGgNOJCyDF+fG + 0ZjFCzAIawGok+peGLLw/iGsroWI6KKrP5eqsXt9ZWlE0L01IkWrHPT7gFm5ikq3 + 9LnxqZadhs8ChBf9OSXbTygnnVq4PzYmw4aP8y3DH95ap1lAwiM9Nf/2zi7qQAFd + kc15hd56bahlJ/rqQgp3z+r6m5vbBwQX234oxnmG84cWfZrPNhbNC2Kh5zy6NTT0 + fj8ARh0olbHs0GufH+ABvG4ZLzucYlKoE2bD7wIDAQABAoIBAQDAF7UwrpIjLmgX + Ou044N0FdDOQfE0TqKvW6ISDbcEEkAyrGbYlR7wbt3FXQwNSk2JqBWX1q6+irMVa + er3ejMaFZ/5OoMPg1DPDmGkh1e/0Cu380zFmHrfyhcsnER8id0L25Gd927Im/wLF + zBv6YArVM6SBR5M3+n2TpRtJV2Kr4IZhOepIzVKQDsf/cmzeCzl85LIHy55TBxx/ + d4gOO2XfkmoxBcgOqTMy+7hy2Gl5Rpzvugl5FoYeHVL477rLsCnnPHH61fpDaWai + gyznI1odItXOGLwapgzgyB/Mzv8zh5DQaNlEXaWlga4RiIbAi9sqLXwvnEWKcZl7 + IqOzNoohAoGBAPezYOUhjSBfSJUnju+ksr8lrzTa4GXZE6Ih4fn0RqkEHTMekDpY + ly1FGibGCuW4x8grUCzujr0TVccCXXa94im0Nn/IVSgeGDxufvzstfhV+No5sJPc + Ttc0AW0hfwL8WTnvaaXbv9CVcvia2F/tykDGUwuYXQhPT99fUZYbeW4HAoGBAOTt + 8oBItpcfuUNOT+HvcIYCiQqzY0TXG79pjRyz/eUZyFmTvdjd4e52PSIntCYOp6ui + DVo+Ztr75qpmdfwsX7KMVwo0EgLXuouYyoLD+LaheDhmyMxS7fAtA7AfcTXYxxqn + mmHmHKh90FK4j6jlwO1jwSpL2NQW/q8XCfnco4DZAoGAWpO4ofET5zuQkiJGDXG/ + f1Brcjt7hSLNICOdu8ZMtG9xsgjCGuPcXEyBlJ4ky/426AaWqeeOQKu6WSyPOuWS + t0dUCoQaR7JBkI+jVh/FJwthFYO1A0yzc9RrlRmDlXbrtdjLXEAwMzkDMs+Ewgd1 + Rxx+r6XGl0xRW9BCSE7Bp68CgYAPrVvV/STD5KBDQ7Gkv0jtZG8OFIrPxAtaaFgJ + hynz7ngR6lQt7cPzGJXHKQDlOkuxLT/M1kkk5es98BZUVpWXHJU5VaeGGk/kD2qO + 2ezGVPhupFtL4sH4mJyQCxctoNLBuIiR+7gqsbL6dzkfT9yOZS5tPxRyMcDvLJy6 + R6nKwQKBgQDgZSGQvbU3JNFMLXUow9oO2ssHzztgrVTXuegbup775u2/f/oZAV8a + RvVCI+X1i0PiY5DfmtQWGuVdCBpBpgwe88VQJroLks61p2/FhODI0rZ74YsUkwxT + HDiDkRpVdJ4T1YbUzqabi39ZcrrORCCT39lHPhzaArsXb3RhOunxjw== + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEAphylJZrs5HDspeRGqisxByqR0TeANPukdPHWSAMDxoEMAYdO + tg4gRnlbpjn5yq9paOmh2NNbn1z+yhLE4tbc3IySFaWu8O5GIrhFcBcP8pLgW8of + BdUtnMI81q/XMtPp5D35YvsrJneAM+wF9WSlZP0p4tQ+mGz1v6m85NDUny4n6/9P + rFbGJ6Q7J15B+E3ygZLrkOPoDG4lyF67ZNnSWeXCM2B+Mzt1ENxibFaktPQqj/Tx + 8OuYZp3wV60bsFe8/x5/vRVjwko0dYL9rC9LEjinoHhhLevT8F8aa2m0pWBka+66 + oQvhziIKCfzE+UelQCdAJ2tTvDTYr13LjTlaCQIDAQABAoIBAGPPpH/zFlKxc9C+ + WKOZbk1DC/ktozCy3/+Q7NO6VANruR4WAnqsBEK0WxiHj4t1WR47/A7/+PbJ9yLO + olU3C+DN6l1tf6+vTJ9CIB8ZDHESRhOBYKCtlkmyAMJzSBh3cvu9LWOHTkc/2N3Z + /T6VKjiDUi7En5QRLJzszd6jiI7YQZ0qiYqRTK0hGNLv1w3lvdZ0FrG22FrddecP + XHGjxctlxku1zveKo36/1po7gJeBSnPHOJPNTf7j2fAMeTS25aJ+8kcmOL3AbUzI + k3y7t3arcQf3jXNjOQnswVBDXreVlg1YHxMzYE/K64h1KPZhMDK833WhVSVAbvc6 + lF0Hkv0CgYEA3WEy7zMGRKdvcqMRP3e3M04X1ncAtKnDzzIGKlsDS6ub7hh3Guf+ + 4zn4XZGIL7WzIpbF1X1G4e1YX7fomyZpWHTWbBxQabSGr+ldMJjodBilB7eh9TJ3 + LFZsaTKRFK3DjX0trirPQeBi90JSem+JFPYmKGiGLUe+JfgMVFus7icCgYEAwBbV + deZ3UJdvev43ArzwM4wCyc8E8lN1/okMwzFtXuuHqS0lZmfS4JvO4Ctl1Q4DC4q8 + Q3GzTVvlIZ1rBzefUC08i6XCR5PWd7aX0ASpS4VhNJVDrh+BZMv//4TjvC56f19C + DOOKXAaBxHr2d18XQIRFiIHq81Pt5CUTilkKxE8CgYA1ak+E4bXgeNnuOiReQP+G + NJCR4dLcxJ2Hb9WHAMDR0E1mbKbIajPZFdK0mPnYMSpQ7To84eZpewA40EIitWjz + u/VEzqwkZTeeWFtw72QfJxcivo8of427t/qeg2H4MFkf2ZVdEd1CUubuLCWEf0b/ + NMlONLIzWL0roicvb5NRPwKBgE6NB92e0UvzoXL6YiSMfu2VY86DCdLOroHYKY/o + toEKb/+Opqyp6GJRVNf25z2o7TXbFgG+jUQlQB3u8cWRyWRQG2I/9qKuohVyZcJ7 + JX/sm0OVhoe9+nvtsFIdVcOufgl4OtpqcjoPryFZ51AJYsjPTl/0QNAgkjepscPx + haWhAoGBALvoWpBehwfhthw7Mq07fhEHOBnESq1VGe7UUAgOJ/gGIamPhTVijBXA + kjr2dYmNjuWbDwzqZCGPRs4sVJJp4vUY/+z9aHxsfcPJK5l8DLQaZOti/5Aj5ruX + Zbkle5wo41oBM6lzSKyw8aOoAtm2mLofP1w+qeIeZYwwXPA6zNza + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEAkO3LqcPiWs0twDBT4GaJ/N/sDlaC69DYbdSmKmtAkn7FtdxE + yVXyY9+RHWP7NRjRc2Tmssqp3tQxqf6O9E9fedZ7EpKwPArs/9JUZ/TevpWpNW/K + Rfi4XbhwGEbtPdvvPjEIfOWQcHYCOLRfvxACzxXKrAYhx16HSI74E94WeN7a4bL6 + xRA6JyWp+AwfxXzScAidZMcKfBzCPLQavgSqkf40o1ibA3fVgunjYbLc0rK0rOlr + DMAsFyygwDIV7ug1iRc7KatOZwyyH7gUyBIAir7etRbAPtXBbj7c6cBwGONHapwU + 0THqHzOVz6fK8m+bor6CS4rEgLxxtZjKTJSbEQIDAQABAoIBAFp77Nz4DJmuYnMM + eUGwI1S7JTEqeCDsykOAMaJoRe9wsNXDSTr+qxAJ5BsachuLfDF0fMiB2Z7ikoNV + CEGmULDL5RkKdnd2RtPNqJ8i9fK9k+BmBD69c7Yn0eyGU9Z8Oxl0GZ2I4i4kr2xh + ySmLwIU0UM4oIezMqt/1SxN0ZElfwXlAgyTQwPRfis6rbWYzHgZIXDg998Ywp1WR + Wqj7DH2ZM+pUuGq1+nBJ14/5V7xikabxCbB9tXutVj/pM5k21O+IB8+58rQrtKxd + t57INJkSU2vRbw1a7BJW2wE0i6iAwDyXNeI39UX/6nt3lzUweSrWHiOKzFD5NyQ6 + wpftykECgYEAwQwJksZhcdmGLr3CimC1gUZ46lnZA8ozduCWvtdAwA4HePRjnFmq + ys64ePMNT6pIF672E7wRw0S5Lapks8VvTJiWnotrERrzEVHYPJaJ4/0LjSD2zmNY + K9Sz2ZIF0H+xQKt54Ew5veLfFDyN/0ydxdCQrnkR4rDsRpcRK1NfF3kCgYEAwDDB + 6SWrBg+eBb8s6/sLrMZXnl4CdCitVAFIpZIHNXJEET6ym6AYM3a4cikElynw7259 + SC1d4Z8ZIu5DorootL6xrg6GzF8pS6oT/9T8UZOBzRUWCQBywgHb9vKzZEX5Z/JP + PkOzr3FCbYuBPMSSnEI2rj23Z6QlLpUmDqLqglkCgYAVAtdj5z2h45gMLFEpOH9o + 05/DegX5uJ9DWAxwNwNwI9bCXm8dDFFfg4Jmf6W6PwFbuopD+ZtBUpCJHNubCWkk + wBLcrLX5haJhBzRu27+kVd1U/fp+2ic1lhABJTiGye8j58X7GLDMLw4yqKiX2eHu + LtYgd0LwFmuQ/046FffqmQKBgQCjBTiWMPNeksSxjzXlfO6sQRl1JbzjFtXfGa+r + cbBXr3L5Rbtusl+U17EgdJaGOnc6QPhXztOBW9iQfpY0Y7+/gLlqMLw6gsWefse0 + C89yyrIhaS9lt1GgKr+QOtHbzlb9ytVYtUinGmUEUn7vMrZBgRCsv4DgkqVPXAgK + BjrxEQKBgDk0yfryvXwRb8eXgabar+tInUrvdZ6o6fnptNTcOB9PFKycDbhicWmX + PG+eEtgNgjQhMypD5AIO98yTOTY4+uEYuYkIk3M08xuw3ZvzrPPGTFt3ANm4h3SP + 0mieysmNVkT7YeOuujeOT9o6dqQDBcJ+K6tCbVGGO43/YUj8VBrB + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIBeZzS9iv8DGW2RUklxpWUqHWLY2ncW6mE6qBgF+VOBjoAoGCCqGSM49 + AwEHoUQDQgAEj78gEPiZLt/XmzseREmpOaMmjUDDjy2LzCZ/FGqGWd6kpnMtYof8 + sWUY5KGjn6xX3wleFfDmrUQrh3BMiFtuDA== + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIC27m9Nb0JHigOO2XyVhfneh47I/TqZH5zbnryFXP2vvoAoGCCqGSM49 + AwEHoUQDQgAEwzR5PUbLQtnR2eWrvwwpnhjsATvdQLaTH7ZirkqqyJ4UyJn8Ab5P + R/u88YRJKri+l6TUyNInVsgP7ftW5q+5Fw== + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpQIBAAKCAQEA9a4aKY7FGV+yLTahkiYpSniHRBuKXgPc/wo5Q8F05jHj1Lya + 2P9XG/TAjvnIpRjmvy0oZAvIKjWRmi5S6oU23U4lLzais8FK99GhIvd8vb2w+nW+ + k6D8WXlSOt5CaMH/OfjU4FbsQUZ7J8VCLeT9yrvcm2PnuYd4/DSehAjXQCdeTSJi + kcWmTvvcYAuPtPCK29zTDcl0QTlVuo0eM/GDS7Q61VpUxser2YlSqvyv3SaFhx2s + mMCXFvQwT070RR5H11qanQ5r8TDWoxkwBe75fpqlQkB70X6ufx/0q/eodSz0tglM + zRXLVlSzIPq14xFJAjZVtAfowuAp/C9B+AcCjQIDAQABAoIBAQCbX5MuKxuds3a0 + v3MpQbclYNpzCVPVp23RYb7bifKLTov+05S+naWSiZRqF7B8MSZlS4La2tSpVR2T + O662oK8VAMHlfREiy6DE36+ftJMQUHInw+VV6h8N2vtVPZEUPXRTTnoasv5RPejP + OyJicgrLd0nKgEFhhTrPjdueNxUifUYTTS4QSvJjP25XDIgejMtoBpZc9coEG2+N + DhoLBKGFewuInjzAHdEA6VwNTY23Llvnf3gxaGl/8Vuo8RrNY3HASC4cloeQuFjC + qry5yNczNXXjR3FA7No3rVP9X0asn4wf2HNJqfPLeJshgWYE233uXLoXbxuJcnCk + KdZ07+mhAoGBAP9+H8J4owbDOB5rj0sduxhvGvw1NfyXOHCmqeDcTqbLCx3GUtOx + gzHaFtrkylGrpkZY+PbZZog9q6WhFBsfN3HVAtpYuqFgJDae2gk966j3IWS50spt + 036UlQpPEQVdLuoiqqJNHkT+A3qwSGMBxwipElGqiQkFDUZ09njW5yz1AoGBAPYq + /XQObmMNLuoCbT1Dxrt7edlYGK8Gdr7qdRk6K3iiD1kPVu0m90y2hKoMHi04lcPy + Q/cbzhXWpANNAyGL8wioncQg8anMY1p36X+oqD9W6mTNpa4gNru+foPXCN4H9noB + LengevpNGSCcQBwUem4LFu5WfDffF0Ta0ZJLlgA5AoGAA1xHUql/i3E55byIb/Z+ + JX4gnrycbywWA/VNOrXrGuqExOl84WfuT9OMhWiI+LYHQ9mbvLNzU8tr3IvX1dt9 + QTQKC5ErM0AuecFxILn9xYUqnUaMbTkwlPOjWjVcBfQJz+6Qy/2zrjihFxYGfbbi + RUzj/sr9bm7wk8KqE0DQXZkCgYEAqAZN+7KB/FAaTpYbdC7X7k5orEaqioUR9lxY + U0DWPT/40+RZhAQN1qnaQauFyX4PE7FAXOH4uAVK7Anb8kDxQV6+WQnXifu9cRna + Ik2/kYRE90s7JHBOi7WJ63mSTuMGhN5bNYEIz+JiHVUpmUENFCGzpDkaDpTS8Cef + 1oiLOVkCgYEA7TPLHddDG1NDaUVR1ESj9J6KfhquB7AcNbtSK4mo566zt37GgdD5 + xscGJpMClPpQ5D9zQ9ckLTNmnaH/Onel3UgbTIsi1Dq128K30Qzk6nTenpK83sYJ + B/lh5T2B+kliwO1DGXzT9SY9TOXX9qcFL0VJ+A5QnQeZGSrTdq5/9hA= + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIBzjvzcMllE+DCS0+E0hN+0jZO/93iSQMNpHPeyhwb4woAoGCCqGSM49 + AwEHoUQDQgAELXn5eRjlRcCHmX7MbVX2N+TlETbdiUyHlMai25ajK/YGG8l7FyWA + zkkSK3PJBqZri7lQvA9YLAb3D3dGcPmImg== + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIIowyHkTCgavThihEPU7xp0DeZ3PeCTiv0m61t0q/M/OoAoGCCqGSM49 + AwEHoUQDQgAE+gAKIZ+bzWqpaZbiW3ilcPmJhCI6doj8TMH5DWSjepetcheYTc9v + cZf1rJ1VSnbNor/ise0zssnnQf/gNeTiIA== + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpAIBAAKCAQEAsETvm3v1deb3q7Qy9ZieAkZ/5RnwmsZIeXaIRLIqMaTaq4ld + VUOLUu88/Mkkx8zDGwobsGj9ewFiiqAWEQAgvAb0vxJzbrwRNSu1Xqx4RaoQAjPl + CfUGUBgykxKkiFWy//QRplU2uhINBdxmfkshSsdYbA3A0CU7LyclaOXdcV9/R0AI + imTWqcfgL/IhfAEuacWRYR9cfRQ0Cn0x70WsL+P3kBcRBCHiI4XYzFqi7UuQh1Lp + +e7EfBjxAR1huexsTGjkBLdEJvKbRrAJ3WZ1jmrVg6d6tmoYYBXsKM5NpYu2IvSD + h9kys+4CkLaCRdVbpmk+Z1VUe5qJzkTTvFEotwIDAQABAoIBAQCE6wavfXLj/E2o + yZJfxjzoRFcu4DehzoFaLjqlaqAMnV5TWZrqr6tA16xqhhbZHxvEqQOmLBVwiuPO + 2tao7SrB/pDSAEzRJLnpGVOD15Q+G/ZEYvOEZaLkBMsmQjmVoOIAxgAFKF7DQtdV + IxSaiXbKV7XijSBnFJwje2ZnSmaIlRRx73y4KHzOEcCHKneX00UyQ+8xwlWV1XxC + sE7SbAPk39mYEs252Bkb+BcmLWqIeki18/JzmMMI0LR9g+LjiT2xhpEjslnLWCcl + qM3jonIJbKi1leKkgOEx4w1zqj7V9mMXg7yx01+i4+oA51zXbSJRY0rmgGeWVstU + wljNgwJBAoGBAOKGCEwlpN7KA84zlcHhSsgHjPc/SPUPI517L+yOZ/Yix9WWFYH6 + OCVCmarOh5groGgmVHuzSuM2Uj8dqF8R2FgRElP3lYMYUvGrwzQC8T5K3us1Befg + LAuxdj6XvO9yUNje5Y+0lFNSj6yQYuQZJGg/b3rzmW8hojpVnPNgpwvXAoGBAMc0 + 1GMC2n8IZtGIw8waHBZHkX3oKebbLep7snFWwqXuV0MgAtgvVJr+np2yIOLj6nF0 + Y+nx8A0r9Zw9RPJKRloD8JZOvzAjOcABW8l/Dop7/dO4YbipIBgTF6JNHEZdbov9 + NwfQDpTt4jLFj4SMm5lvY+oePQxMJwRLIPM9mC4hAoGBAMFq/rS+Q9uzlLJB27KT + gv3vbI9FKy+MQLXcFJyhL+W75vPZ1f2IwN4X0wxEkwT841dquyJwghYmMO4Rjc23 + eAoicYre0XwBjfkq11+Wz5SH63XcbXGDOTi2y6dAeyPdcWjsUgl1gFzxFxqaosXv + LeYRnEfYrn90sYeryHsLYTc7AoGAAxKykBB0NG95vpPAiX6BnmpeOTYCp3gMHkjo + OM1g1VR27icpRBJ+2KFC6yXbUgS4EiX8gJhl3p4l/NIJJT+2FB9pb7gpROHWOzsK + InKeU86T3NdEUqfxQc3RmIReAkvgr7IpTiqMfwmoaqYXj7DnmZdZUDxFLtJh67QI + /xedKGECgYAFiMLb364NlviyR8j8MtcdFvuehUuLuMCwe+9PW03SC2rBppHECD7i + g+bp9cqoHobEJrJBwupyMQetz28t5ev8KUwxY9YV6tI0xl2KrKefJWxsQewt9luA + 5brZO28IxPYtfZgssazsoe+D1ISKwHz+Mpkbxhs1pAMC+VEruZFlZQ== + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDD0YH9MT+CRorrNlklfX53G9mxw1IjJGwggPNBzvxUrPKVZODwUwQgw + KEYPZP8endagBwYFK4EEACKhZANiAATSbwIWACbzIHnQNDnCjiC7KNUGO35xz5k7 + SkFxB1IWcYGtgqFdR6ChDsi5Svf6dGWv8XTJPJB5pAkbY3Co0t7rTZbj3oXJvO6a + Ykq6GeHm24QjSLrWKCaGWLeb+u2Qnx4= + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIMgXyqUOga8xOMxjdOpHGs//T+FTtFrhpr7BtAxHlNcgoAoGCCqGSM49 + AwEHoUQDQgAEwvZsoRzivWbMqZ5JSalxqd3zznb9UdEvLTAKWefEN+dCUzsnnHlH + TR8bUyJCZ5JyhC0dJkdMIVt7OqzRc3ir0Q== + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIPZLTrferNPOKvIFwGPbC5N7eQpGSwanQyXPwri4D3sioAoGCCqGSM49 + AwEHoUQDQgAEIK7tHjh4HbaArNNtK/8Gql5c/MPk+RF31mdCFzT8khnCfrkATMnN + /2nVnBE7mQ2ByN5oD3Enkul+ZJ8yNy479g== + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDAynuLBhYaDzMN5YSq2sTfh9QU8InJ1+Qfpi/fD70pzNKvCzoD00RoD + Z2rnPu9W6MegBwYFK4EEACKhZANiAAR+s5lIX9rqMpuyw59Vi5yqPqu6N7ttI0tk + xiIvbVsnutOsSquqOS8ezLmYW69GC+CEEJffixgei+cHZvxUHZxK2CKcZmY5sl5b + 4b+y5XeyuVijeuD34pMTxuGVL+UnwKM= + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIAQvFD/aQf2C/phNLdBn7b426xF1f8hU5dsXIh4bVuZyoAoGCCqGSM49 + AwEHoUQDQgAE+ftrztnAlMnWIMKKKa389jXAJ/jG7Ei4C3bYEMzq+HkRGYLckw6/ + gCEkSWgu3nrROZFsrzOvrS7lsQFcENXT7Q== + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIP4lgf7xDH0/D4Uabbxm0o4XOU5OzPrQCKmtrI+dtDBHoAoGCCqGSM49 + AwEHoUQDQgAE8KgbaHfV8SQETK9M+G73pSehD6xVAIFXQSr21mu2zZ+ArBN9M3oa + ivfHwqDNOFuoOs2udjQ2t4EHrdpntfi1IA== + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIJW2iedsLhjfSiep/rmGVHzi5Yqbr5ZBnazqzDFG1B6KoAoGCCqGSM49 + AwEHoUQDQgAEv0uoeNa51KhlDOrT47baG7tNb6XUaV/YU/CdjjLwZBOryr9PoSd5 + xXet0xZDVEIEzOlwHIqN8hfXhW/+djbsYg== + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDCLV2vlo68Nkz3jpNLrlS0cSaTVMnTC3AjYwCVTxJAiZtsu/qNeHsna + jLZie5lM0uegBwYFK4EEACKhZANiAAQbNkZ/DhhTcNpmSbeWZQNRDmZpLF9HdaOQ + lzr9qcOaQd0x5WKpiRitGbsp//tfIPKS0iHlDPahaUFFgi5ENVhAXPH63Ost69cW + tDBMWJ61MCvCSEXCeBjSzdKbcTsBGHg= + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIC5NTQZuaorDdgc9pi2IKIOYwIwJn9zOlx3bq1pK5pCQoAoGCCqGSM49 + AwEHoUQDQgAEncu/iRC3P0Ta+NrvInH9CHAmVOqhinVUadTmyPccogzWMjzsr/+P + P8PklbDbITpLDHNylViKpEM88diwcIf7Rw== + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEogIBAAKCAQEAzQWaV+6t7ryBAXOFCQbs8kvfsPl5v83RDyPSAYSYCr/Rl+hn + FbRwVAhoLLVIXkLPto7BWiORUfuKN0GB/zQWz5lvnhIWouk8Itx41Jk+zTr/mwbI + qmFY2UTjF0NeAdgFfU5UCLJPXcJ0kxkHx/SUKn31AMQwMJlrc4WNiGvH0YZVIn0d + WkuESiGYJxw4w2Vki3EO8j9MrVpibBLdC556rT+RFK/wIWEVjwKXEKkg8N7FKNc3 + EjB2kCz4erVG8iUoKrNWLdFcjkWWNuylX/aZEuRljg9KOt7keK4zGspnv7Jg5E74 + Fm6LdC+HQcQbX5yjsxlCg5nF8vOakOCnnlzZsQIDAQABAoIBAEYQvR+B7SUifL// + N57PJBjl/ytfBtGax/BxoGpuYvuBdGKCxP/w61Z8jQWCapn0IUJVZRSmBRrMaP7b + P071ATqvSCrwKZZBORD84bpeKM1AdWwIlHlNzWxrE2S23CCrL60UILncHi1/sBE5 + Q6R9HEmtRBaf9YwWUldnc+gEVYRv06jSl7Oh+NNhcMpaY+q1O2n3cd+pQEa+7qkh + OQurXa2JfsQeoHfLIeaVqQG5BrxiL7+n9HDsQuKiOsUlSGxCMZ7NQy4tqFrM5A69 + +fxEJ2XYLCamsZ9W6gNIUMJU3lxjRXT4xZFUzzzXdK2C75LqVw2FzvstCHpcv+Bw + Kxb6PAECgYEA/hVy6BTyLZvC7HplR7ItfyeIF7utm2TvmWrvLjZ17ZpL3ddZmRPc + ZcISMH9u4Q/s2avMlVo9Of8nhlvK8TtJxVHj6STxiDd+opr8Rb+9SPRlgDq4cCSN + VLvUkrCRSIOots1s/jSFlIJ6GM3yObUdTEiMKS/IabUU+GHNGQ5mk0ECgYEAzpFu + jvLrNzuetiWhsKVlgDKCv4NX+45DnAyVDl3egL33mCeXvINVO4CjACwMQs/BSIUU + jUtbLDYSFTZtLh09pAKN6KVsQOtyGJzRlX5AhIyMtBNDjgT8A7pmerMbEHmvOzEW + 3lLEO7NCFZhdxgebp3lmhD6pGJUXFYXdWWwRWnECgYAHYLoQcSNDHcXANiGgvlTB + 33T9M27sFzc53jgJwH0WJCfVzj4EyuXYcpUyoVCn6l13SJzNLWyftYABT8MJ1C3l + M+aJS5BT40CjGhr/L30glDAqVAos/3K3JikbBVOCpogMntRuYToLwOootDo3YMH0 + CBtByuhn4WE1gSmCc7+YwQKBgFEMeuaXpXasa99n8IMQwjyElQxzimfnL9vgi/Nx + HUZCQw1uK3kJxr1sAYilv8HPJjVAEgpGUOWN6ZZtHnWDf5YEco2fqlPmjYPes9UG + DmZzhxl4nX7xsbf8wQzPjYTvWbPN1P0yWFBcS0eR2ulCPu59EZ49v7cneEE3ntvh + LQXhAoGACz1vqNW5nJauttk1R3Y7cExO7TgPHve6gkBl6T0WErwdGyX/+xkHTKRM + qKfSHRgWWIj/6ZdQH9JJkPCZOhnlDlkEmOlsnVfICOCW2DJTQY3C6s0h0sqgWy8Q + GxnEU0q7vgKPS/0DagjvEm/ydtXJCzFkOdCZSuMk0hA45/jKcsc= + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpAIBAAKCAQEAxNteHHdjp9m2DnJlgAcxg6Y4SJa4QrYJTeShOnMXBU6LwmcR + x4RJqbJcnPTlvOaN35d5G/EwuZthwFAxaYTjsb2nYyTYnIqlP3yhUKZN1hijZ3YT + M5dXSBYHPcOq+rVMbZ6Lo4QDpD8hTq6M97o1heZ//c+nJNmXB7T9Iv2hiWcid4qN + Njr4KMhpC/CQ2Ctw3VhjJ0UfQnJzPRVdzticUJsGk0o66OJezOBSUfa294S5r2zZ + ucSyJpv56dHx9/Q+cxtXhDivUhiKx98ezCxAOxZDWNXpDgGCYKQo7hRV1OOKf4Q+ + hf95DTuGw/HvfBQmIY3jLnxiSM8MjTQVq9iuPQIDAQABAoIBAQCf7cRAhjIdPH9u + rzuMzstINDNHrcMW14MpmBPwQ24xboWWs1u7Ztrdlb0t+rvmQryCKTJIJCO8tuKs + dbofCspdLUIfBuFAFFd6A4ue1O0pgazHMiMZZ9uOAe9yG1P+CGqGKCcz+d1ng65Q + mPiHje1L0l6rWhdllazgowaAdePVltgnx+Uo3bGXC0Xj4tBJEae3KqSsBXzp4yeP + 8PuZEcQJuFrvzQM5nwpm2FT2+f9E5redWrbRRrkWY4BtbzTOyyw+N4J+sSMeU1tE + dBwuGAbttbVpxIOa6mXST0hf9jSqjO9pmY7TXINY/Eu86VyK2Sv+hw1f44H7qFHq + 74c2xYEVAoGBAPxELdHeQdIsXSoU29K96KwlN+AVCwKmivrlSrZ1bExVuFUGRVGD + HmKU18SSmHaccbpUsxfKEEou7JhJnnaeNSF3t4lzu8XTzrsVujDfmCoU0MXUzyAY + UkZH45NziQkeQHT+KKtb+dv+4grSKga5obzB8MF0XfSVD+CwkzAb8mXjAoGBAMfF + PvIV5AxNWuYJq7U2f9P9ovjeFjM11O66hPiz7gpZ2C9CT3xjmId0IvET1nuPFX7H + i/gCP0N5IcSaCytQcCTifCA8D6SjcrxB6SbIxW6xVtF5Jpz1VCVOt+gesP4T0OQw + vpi2j/WptkXmYVvjubeWyXpMUhZ8hhYW3g47ldVfAoGAQdhB5W+P2p39y0gagI1V + N+mXBgQ4FX8G86n5sFpB5ELTlE3Ithf1TGHxV7uz0/HNtYb6IBF74wEQfEdq9ycg + UxX+cAAnWOGKKkbnjG4wN3urape7YHM4tmN5QTl84UZmKKNWVjPxqbyDn7NviMXX + M3+jqbsH8xkdRdaQ9JO212UCgYB4hezy+vgJ4AWOMZlxi77VM/nF8Z8tKDYeDVO6 + BDwB7LB72qK/5gqY9h06mwBUrT+HrHYqm5h1abhQt6szZ6Uw6599hx7c8mt/Xrh+ + WLSckstRN6lvGqe4lmRn21RnBaeKdEoZMlNqIAjC5TopyRs7wvItIayIunnfC87O + gW5lOwKBgQCt1eFk+rEKhVEcqniquX+AIAgTXqpYyJZgM8ayKNPfJTLEXTXxOD1S + A48b0hsQVJ/QGMC9tfZDaKKEYFMVCfxwXptVGncHDLV4538a9XG8ZSxRLO+yFnj7 + /RgS/fabfJGu13ZiU0TaPHQo6BK9ck8MISMSnVtKELuK3OvBimQgWg== + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpAIBAAKCAQEAu3SzNlVEWda11HqDD0RpXqBmFyNDupQATLuoBGwCnbOiUSSC + zVjwLutI6ZFg/nypgPrJmf0yV03L/1ZiOFcP4GZ8KwWlTKQpjdTkj2Z2XGKAFWIA + ry19610cMhsyxx16RkVx7sZ0pv0AA12yGhZPavOwBpEK89Ct2icmzOVBfer7yDWM + aS7IEkU6YqRGaRaA6C6Pb87pEkoFc4mEDTf27Tfn0K8ZJYQP4QBd3Ymme+CDkywq + y9IF/R2d+8aBG3s4IB3KJTbzZrLmUocxUtnQB/Cs9ZAZ5v19n2WI9wkdcfYBemYS + eWoneNy2TgJBniGWJpk/l/M9deFbcjNI25lLEQIDAQABAoIBAQCwWWs3VCQHOFy6 + 1b5yIHPYV6FzZvOSlSVrCqdX8ZzMa2/qUiTTtjXOjf577Q6ImxKDimsaeP5g74lY + XxXr1svS2dc6SgdmAJIvIfcbiNMUun2woA/wvSVWxLN/1+J/O5YKgc5bSUv4xM68 + W+rva8mu3i3dH5pkIQ9MycRQweRI5aln6ErBJ1LFqW1Rub+MlLQaFjTuemYpbYaa + 5X5yfcYJQoKvy8qMrfNk4gw0PWimx8pD9sLNDd+MucTEqO1xVrxmQb7b8pixlYaS + tiyVDmPhzU1xjtTIDgkuzzmlqExxpB7yI4z/1l/vFvkDdZQ7T/853mMJ/sdquwSI + 9/hhEOABAoGBANsdQEHVOApTu8WbvPMFWGrsnX6IHMS1ajs4/N8+zIo+XbJy7hMe + LwEK4/xbfX9c9sL0bDJrXUCzsO6IbPMkIdkmgfo/mvFFIOUqOV8zKi8sKPF+keWS + 4QKXlDLFUnThKR19ig0/YqLkt13nFKgfXAg7tWQlLWDaNSipdvEeEA0BAoGBANsD + IJiXhq6LClyF9445mLrUiN+oNiEw9BX2ka/xTjc7RxRYvHRmjGxS7a5BktrcT1X+ + FqpCCudOt6BeNUOMnr9CsfSP6QEPIjW9bnOl0JfMMBrv4Q31YSUErU1OCCHxb7iS + OpHW5vlOxF/TDI9JDs4pN1zSNTnvYRiqtHKs8m4RAoGAS+hmSmhDcdBwTJUXcFl5 + uBEgvqUI0lzG4J1tfSmUUpAohZmrQJREVGghc1t+rpDWK9PhZ9YqCDA4K2q308PA + tinQ/ZDrbIo2Sy3FkmV3R8BUrtTaVl379ZntjWkul68pPz4uhUhgM25o1+8mCNhU + WcXVoUv/3H27zMpomj9/8AECgYAZXGpY4SsKaTVg825wPMEv2U6kP5FNFKMfK/dA + 3XuGL8oSVBg2jm1yWcQGKre7uklBlvO+8XjbwiTHYEFguhbj5PBAdq2vnrYCbRYu + NCRMf6uOYvq3qBOAuuLqkb+lVpTuVZiMrMsAUZux0PmiWf5p5yHvELRzKgIfXh0Z + LmfAUQKBgQCZNewiRXThWGKs8aziFwTSXULSyw+gAZ5MHtiR5VOrjibu01lXT+CE + EuHO+vEPFBoR7qeNvxEhk9NZGDPbxreewb9EUNyDbOlTP1Jo5FVumTmr7+zYp+7/ + p/nY5zjMT7BqGUpAPk46C6Nt9KjA4++yEHSHJB2yTYMFcDxEvS/kNg== + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEA2JDsUKINcqDFu0N+bpiw2OglKQ3E64fNtreBVnurQilcQDp3 + 2GcjRJpbfYe5z7ta+y839ruKKEYMyUdC6nnsD2I+CH/iNtcJQp4YXGw8WCU0YR50 + Q7gFf6rrKwF/RPye7fHH7DQNtistLEb+JgQO2BBvDwVAMzvtPt+u0P5zsTBCu941 + SbHXPPN0zIFgyAz3v78nDXR3VDrU10pZq1GoWxizkhYC9sum6aXt0q2oQ9bapE+c + IvNeQFV6Fi1RubwFCK4Vaqh18KqKB93YkbiCJ5HDWBRhi6jMGRi1yTBuiWByMmxl + +IzTogBvPRoWgGv8NP9H3oTXV9ZNoxTi5YDeGwIDAQABAoIBAClBqpNN2+v7bs/W + 8s4U7pPT3chtZBdOnsTxPoWAN8b55CYkPVKPi2t1UHqgkaheU93ISAwL/Czh82ug + 1MGginT/zTuHSUwTOSNkxNVOlUxhghICYDnKY9nHcNeXiGxXB9vilKiN3hLXNNrb + h20slrtYnh+pa2qXPwIcUMxlvRqC8mBqFH5iX/WPs6dB99R3G8rQk8vT6mdTRost + jXaGXevLEKGBo3gOZbeqeOalL+7N2UuYcBUmPnCYPHkdsQx16EojBgOwpqtmnYvh + lJpMzVG4Pa7+DC+rZoLLdv32IGTcaO9QCgwde8MGPCshseQrrx/8OSx3hCFyvdO1 + ZtrpLbkCgYEA83GCVFLqDAgHsAAMhfuwjKBhu2D27FCNGwgoxUMh/dg3Fq6koqfB + /7kRaZwth5unRK3bDOh5+ikU7XQC9EMKGXxG8XEoHoPUgAbJRKjcfNni1hWXXR1q + jue8SfhxjlsfK1kXCFOy8/LtuJSR4TpOwq6FTTIB+Jv5mJ+klILXA88CgYEA47yE + 6Q3E0EXNn2Dq5dykluGD9OxeP41vZP4lcSMxEl0h8pYDD9rcga9/8E+OKU9iiaad + qEXjeEAK3e1PvdpJactduc7Bjy0U2IQ0aVgw8CcKiHmMeV/LvNR5xIJ040byUVUe + y7BiYB1D0W4JBH8F7OgHvqnKW3wN7tkCjdH7d/UCgYEA3lRjL7nNsJFA3BcfWNoF + YlkzCJtEx4vFYtOv0IBAMgHeRePXzgkh3vdZFLeiyT95ovqYnJBQngwY5cfWztfP + CHl8nRK4Di5dy1LnS8JgI9ImHVj4tPyhjcPMLU4t/1HvBHrH0z4FqE/LlZByLl0/ + AwO6EEdEj5V7fU0HVO6tifcCgYAsXGaPdy0lXNOG/jwDdo1hDqDDrt9VBdnzFEZ6 + 2V4Ps7CPLoV+KyXU5TjIuNZ6WYpaQehoBOUgYWk8faOQ2dp/Dyw8q3esyh1LZ8VF + 1/YAcbpthy/D3NM0/zaQ/tCCDSnaifgruToQeuLhAswi4hNnaHNJwo02cN3N7tu+ + gG65mQKBgDKej6AZgxg15uOeuLYnwLSODgh7xR4q3HXNZa7/BuMSlIYDG6Fl46vk + u+NfkdUVWAmpQM0E6Z/ny9xo0XqZ6Kj1Lbe5a2jLBXOYcNWTCT42JBGr3+xjMvjN + v9oaxkSmqBY2q2VmW1QStmiVbzwx4rhzPYZPalF8kMQ8lpPJEyOi + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIC32gyVx4B/pm12b218jjtpbuUyai/nWUp2bSCWTB+LBoAoGCCqGSM49 + AwEHoUQDQgAEIgl/OOW/xPR+WNNqd+WCJ0ISH+Ipe9kkqYCsn9ExHcpkkEC3Y18o + WcIJi5KJdacgcAaypwv8p/0ALCWbwODhUw== + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDDQ8EL1Ql3Xa+E1IbporiXSx4NmWELf4ua/xNOzaygxfso02+cx/T3F + AdRwsuxWcXegBwYFK4EEACKhZANiAAQE8Q6/jWC5GF2FlgCx41/7BSrkFw7MCQi4 + qtQ4S/MGuYeFl2soeflP8c9l5jdY4RoIQH6E4IrIdgFGBmcBpg6LhfsbbqYLD6Fl + YSag9a5NqAFSDs5Fl1Vjr9KiNDVvAtc= + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIAmwnnMH2TH0m0NQ36cpUy2yUh0qw3xsQP4dQsM/Vz41oAoGCCqGSM49 + AwEHoUQDQgAE0ZNhx7qh9q4WR8yqIZ6sbOQ79yUn+QBl2LVZWEHwLBd4kSREOrv+ + wL9/1cZSnNoDs38GP8gdN7WcERZE+hv9kQ== + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEAosE/jdcUBGBg+WUXt6LGktd2aJdJb0DbOZ4hm5XghOp2UpbE + mmsoNZJxvG8wMb60Wt3liBZ2WdwdZqHpC2HbHD6+7Lt/iGoDoHsSkt/1NWiVbHtl + ChZzuQbH3wgWUfsvLFgte6wX+1Gjgg74t58zGeQ2DzvX6YoYmsYCeO5hNSOCs2LY + NZD/HQ88B3TTo+YLU7x9lDNN5LsPTgSUx40AuAyEE2LCti6tzRJHWNlUz2RWhQu0 + D5mwaikBfK6wUvOV99X8du1JF71Azv9J8lqkswBgi0mSSmMEOO4quXLlY0CKpSHf + 4qOlN4HOoIF1onKoxhKMtghoMIdy1A9tJL/FwwIDAQABAoIBADseELS3xAiW7YKJ + SuUkFhbudo8lLMJhf3/dRX3bIfOFqrbzFrS0aaWT7QYyKQJYr/A1m5Mj/ZdEUdWe + yCSfRdRrojQhIwDs6SZYrfV1rf7ZXzVJWPkiEKTLprwHlvvuTkNAQD0k1I0wKUEr + qQIhrJEiCNTdut6Uj71gYTOF+v8us18QNcwqxqptpgOxYqgiNccNaJ9MdJS585+A + 9BUyCGNUn1JXLeqdtD4wN7KK0UgjR2Ee3VhM8l+XGzd/1lTdyslmKzBENez6IHOv + CB5QEjNjEy2MN5fDeR+gimvoG0mvAbKEfFcM47ziWS4YrcCMphD68ubngVO9bGAF + oK3t1UECgYEA16OXEdDSscVhsunbe11a50UAYl9ap+5JXQEJZ7TwKROElCduz858 + /RJvLJOevfIG7oQqEG/0MrwpxfRDa2+JCT7SGcm2fyYLxbWTOaxRGKMHPk4LZWcg + QJ5DlHu5eb61wkRKwcGKBPkM5nMMkHEmfK3GCRElP0f/fxzUPqJNJmMCgYEAwTey + r/Ie4A7F2IJRK7HIxfIzyqEpAPjhK0zgz8Te1WmnCqgZq9gznIi7wQqQvenCHMDL + oaHhUbYcdA90+1g5rSIi7RIzcTijG90QswhGWE8bcZ5vBMk+/ZmCLvRYAh2WIojX + 5340xXzXBrFYgZjPyMvLYYXpTEEVIT5bD1Pd0SECgYBPYtNX5LfcaF0KX9vEc97m + a1mz3YTjc+8gRSRwQIV1qdDSNh4udMdA58tz7rivFu4EWzWdLYoKL4l1bfJwF/Ss + KatxgPgloR0OYUVdIxoL5uDgyByb7TZLc7hPbqker938MeYPpK+qGwHryQkkF/Pi + TJsudVhwDpJ5+mQM1vVuHwKBgQCjAdR0b7XwnUX4xOiqDlEt/ooHNzOaqF1+5Fr9 + rj+4mGvep7cQrVPNieWslLdMIXwsOdMRx7qJ7zPODoRI0EPIdvY0P5i6umeRSE2g + XSjLs+GZV2qeBRJpbSrRZj8heciB1iUgHe9zdUELWm8q1rrl0lkBK7KJLJcg9rRo + F/8ZQQKBgGnq53Cj3NveUQn7+iKZrYTJM2lzxxaqqhxOqtMWe1ZLDasTl012+rno + g4jknK8gmUF8ARO3xQiKEE91ZstZ9rfpcC1u/piPzSfgQbMUs7QSJb1XkotHX0n6 + hTyxoxRBLf1DN6amUh5/Do+6kFKZ6GU69WBOMhyklQI8IEIHshA7 + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEAsoD1TWDBOpYujE2RAW8e+TEMFRRAK4fb0gDIalpGolmwmT5f + TlkNPQA5TS26TTu3fe2aTiT4ZM47INBsOglv/ytUG8qCnS/HHMBlDzfUl6tXVQec + LD7Znv6gOpc/ZiV8eo0f5DY2oynEazdjXM9g0OHViWWaRtyZIS7eIfF/gyOZiIJj + Ri251PifdoHfrOvngKDM+nUVr4vdj6QTy13sz8kdnoP7fHSxPRsJpnBhJtSPmUlc + 0WnfH2PuBUP74PlR67XsDfigo3xXc2U1Y5wONdAVZna61MJNnaDFeJgzgmrv52le + E7+nRe5oGnoJSjbXUGuSRlQlas4c6HwA4tn/nwIDAQABAoIBAEXSgaFBvnOPOSfy + U00PTTtF/ybjo/IjE04CtmI7a7Onh5d5uUfpN29r/f39bAk32Z9taFU2yt6LeL9u + J1dQR7m1FhJE1XBstuK9MwqP2R12jROahXEdKHyztrMUZF0tPpKlTxsyRY7vEICr + yrcL+x/ZpnA3CPC86zz6mzMFxs3hYDW6fBmj3j9nLsm6eop7QiEgcpEKCYDaoc5J + +dE6icWcWDBvQc42jV1nZgMls5WfIARnKPWnQx1MnZPEK4lBn8mwy3p/z4Ny1Kgv + fwQO/iRhFJ7A6jQgY/pIIJBw+14nHcP1+te47Ywc7VOIKETtwSx97mrHSghgZqN+ + FUZRcHECgYEA5ztENMZ45whXRtf6IQbKmkrQUeZ/cZa4nePZ0vvomvJnHjhjEOT9 + 772wauhH3SA/cHwYlwM8ZNDwusR6Tk+N+BUB+XejUjSgWWo/KtQsb7ce54DfLHFx + z4Z08zOzp6kV9uystRBYIJDKbmNz1DS81Syd1ai28sEwyrJfSzt6aJcCgYEAxZ/Q + JM+T1GT6SFzEep9SR03vhXqX2pLWRyle2+Ll7QLcQzLN5cDp5IUw4oZRRc67VTmK + PJrV63dTqiBxzhv6ceH2MgHxdnc5dqaSZB9PKVdiNQ8Hru7bkkQmDQDM5oibgcgZ + Rop41v9Vl903mhCiCufI39SXgfABA8J7pvCdujkCgYAzG1lO5NMSFTjdEp1ZMVwU + UBbNE0n1vB9f3l1lkYHuxUbfWg0jTcmGdIGKj35atGbxIKx6rB9sFPYwAX8a0eCK + BXKjRbsWT0VlneMKP0z3AB1Xg5dQBl7mREyS+Elr9CZDpjnh5xPjVr03Osn+DA30 + e+ECuUB+VQ7IrjX7tdCvTwKBgQDB3fQPmH659lE82Zx5en/5qS/Wbpw3dKK2bpQ6 + +0x5hLvVRCqOQABzCGIbZo6l/5bwlSDSMUa31niBxZA/FF1MiNG+3v8kKvN5PRER + HVHICYwy5sqvxmwqAaaeTPG1GcALweNhuweuSg+Kih44iiacsiLxyRjUBEDKkmhB + LXxdqQKBgAWkaaogCItYDGvZuk9f12qVVOFrLxPuuXcKux2i3YY8wj5887aKaG4A + jjx3GNdXvXAwZEQz2dpLGXiWMgqCxr/njhuSAau4JQU3c485cNVocBj7ssaqdPsE + ylZwhyECAGQCGhCsQMXWcRCPwv/bb+JABkwJU83a3wrum8gfIiu0 + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpAIBAAKCAQEAuJIGced0a/qVKq+E2Wd0ckYKBNCevG+pAMQtp6Fttq9JL8BI + b7zUSLnXSIVOo/KxzHPab4hs6K4tXU3XfN2367txdxdfmQ+MW4f/v1bcgrXbfKLM + HAae0YEQswjdJcyBdMDixk54dH0ZqzYD2TbvWsCWS0AVM0p0pyQwIiUfiHTF+8FD + l0rmGHnJj0HahGPa47h7+hpgR7R5/wu0TZ60s1AUz/k+6tpZtKpzjIGXKT4qok/k + HDLGsmiMLXVoCFdToo8d6HpBmgRJ7/cPl+RMG7qSzuWU19pPRmnRL21Vt7/FmpuU + ngq9VzgldhPGxkZU1FOaW4E6Vm2oKMO6Xq2P0QIDAQABAoIBAQCw3i4S5Ouptb1P + 5FZ4Ry1NfFSJfKlAhff75gKiCo2qbJrDiY1gliEPeBcXRbewYBeFhteh3agP6SlL + qhZ/b7CZ00vOBbX0ZPPpmo+3ebNiBodIDnFtweJbfUTVa/8QA8NicJxf0D6Z0m/Q + o7hYZM5FtxvPDJ/EQOs8Z+9AKTboeOseVu4rXJk80s3xRBb7f9ouYpkc5LgHlh4h + 8TYB+L8tH7sRte63X46mZXDev0BW4TsmzLxxCSCVAQr+RxxPXQ1tr0cvyf8i7CNR + WcD0pXdlFjwspUNIjIwT2hPoQBoB01pdxIjUX7dyMK0BAtqnq1rBADoMu1moAnCU + lV2uyCQBAoGBAPN8qvC0jRlsoyoM7uRNsCO3ujsOPmQS2xe+ZV4rcbaX3J9Afjk+ + E6U8IxoVvuyeWHbSps7kkpoxg3ND6fssezNo80X/g3QBJmz/8GCpc5FphVmDn0LI + wSTPdpfkZCOtjh8WSkmPZ7zF/7OUcBZvs+X0dArvkhopcYWJYBLspd3xAoGBAMIO + PyymF031J5NJvJgV2gzlQgto4VZyR0g2fokfjCtrgYN2g2B5K0iYgLuH5Y4OjBz+ + +HOb7dALU+Qo106q9Hl39xV1NWMMBnIboUnBhIxQTgTWKi+p9S+VNkFpaZlXf+Pm + w8cercfbrYDVpcLNO7AJbmfrF72KOdLYXjkuSm/hAoGAM6Nt8WypPAohNIrXo02i + nICbm2iy7LBfDNMRVn5qOGpOnOulmWhD7FgrrZ2NB0uxwUl9nQU23kK/+RMfLWjK + nCWW6nJ9I34W8yj4hteJLf6uDETw4s4GwFLLeP00C6kEKi2lBaLHQm7PgvtpJij8 + gzlr3uHeH3RIoiR3XqwXpVECgYEAimsVHuj+OIpFB2eSUb1MguRI3tCZ40qyk8zj + JzZMinAturMfdQIZILg/IwUFdfXkdY5ddEFmOX7LATUslx2UMsyifzjSsurR8jTJ + ME4MGPXzILoO717A2IcLY08olst2Gv7w6Sh19tg4g2xhx3kTOTcQ/KkRjw54vm+9 + jfX5/KECgYBoPCPT3uPnHZ936QTO5dFawn9zr60xk/4eUy+gvgkUbmm5ky8lSQwo + RQ3R3T0pbuFtgNOPSjMubbaPuJQWPK4v/VV6/z5hwDB3VILIkMJ/gWClic6NL3mg + 8r+qiTCsucvubzZJ1CpBaaICFydVHFyLsXR/+PjQSx7LcZDHQ6Weig== + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDBZxZSO/kEbKdzkbvKRcrSKhIRRpvn9L4Y20MIo4aefFebCRs0ZGzIQ + A8IcTgQBnGegBwYFK4EEACKhZANiAARI4+Y0v/PHtjRyOUyvJQcrImokM5Izk9YE + HcNj0JJS5dXfHEdqqSMTqdr034XvkTTV0poVNj7yXPR0YYahDBsO0cllDFQ+AznC + GPNExFLyAJaVldrbRK4K26Rm8KpL/rs= + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDBWzk/ZNT0C34tqlCwn4NkTsSyu6DInKJZZfPR5tfhlvIB/YXvQeoBp + AbXRCwlYTXegBwYFK4EEACKhZANiAARC6Z+kwBeK/Zk+OF9j16VfL2iRapuJK1eV + rgp+mhlDh607tzTIPlgw4glG2TYt9iJhSiFuAEWqUGUgdxEZfQjdh9i/k12lfYM2 + Yk1phZ/A6yKnajBlSBb6ykBmfHiALNs= + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDANCDH5oGrrzN1/yJSU7ff3MaNuV+294Ys1//U6uLwHeHJnhfLU0v6l + RebFooWtCdagBwYFK4EEACKhZANiAAT7RxiUunBnWtd1uBnw2H0uHS4xYjJGRRPo + ZqK80wNWsH/Cb1CntNIRTdGMAmWPmQ+GeYPCO5Rsrz4fRN73vg8BslEUdN9f7Pqu + rRijqbrwFSVowVzsLQnC7gpajrXeI9E= + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEA12DFVXhpCJ68V9rq2Zd8naTdKxEXLEUVfYQ/1jlF5RaVasEJ + 78Ri2lwyifH3g0K6JOqHo9VeU+SAM6l3NRgfKl/3ckIJM4sTOJ4RzYaQ0vBbcTGg + GS08n3AR2kbHoIlWK5nktZLqsO1TdOLRc90cTmBKM4cGL1R3X5C1/r5BlyA2lDn7 + UdV97qyZlZlctLs2AUoywFhiqf/TVt0CX50yDYmfNIYow2IaS2TQFYuMPHiuaP37 + abKDc84lGSZfTZwebMO4DCvfjiqXHzpr7Bvh+Z9mhuEgJjD1NjG62u2AarBALg9C + uWe8ZMrglHIDL//kk0lHWSLFFVSbsaYVgjM6OwIDAQABAoIBAARHYeQ+zidjr+42 + 5S+JeOpQ2iv+3Oz+Ol0SAYqp/J9+gV1rlFz1E9mutzpSWk57RuNw3Vz94i/cfEeK + eFnPrt7SpUHZ2gDyJGGdklD4+WuXZtmq2LlnUqsAOPqTKWghElsvZYHN92eob14F + G5AntmZAN3kql47dKLn3UAZNlVQBQHc2UCFmTHqbnsuVLnBt6sFvF/yBAXPI5+Md + U9jH6+9zzZHG36fjJysFdcnQeKdSssNUWvLwmCSEKtAHgdgM0/JmXAK/w+BZ7tee + izThr3/zGF3omtmuk42UFL2y80TX6xgXbUz4JrmObUyMO2BgHlPAuvkh0C0rngNT + PMRjF+ECgYEA/6dJ9Ng7Ef0tJCfncjz+Spswic4Nn1OhZjkcqqmHZQ5vC7B5YhAe + 359BsI3c0oTgEEP6DwtZ+mNpPZjVLQi+FgbHxRmYCbAFGeQiZjHgNQU30pMqA8Q7 + 91HyfQwPbeExZk2Z/sF0fMIZP2AADNJOrFiN0Yvzy+WNAfgR//WcnYMCgYEA16uB + p13974A5lEIMwBL/iZwA/+6OzWf+ijZJZQ9lfOX84dp50MZfVcWTCaaykNxLhotu + b9mFJu26Xp1aqLi9yaGyVQo3TP83V/YBDU/h8Q6igHxfRNSAvif02yXVn8BQ2qlN + RkAFZdZgD4OUMHI9d/W1BoqSNMQSehSQhuBgSukCgYBuYkPrhQWUUdWQ2+3yBGXj + vrgpeB+noIt6wMQg6Av+1UmbKXpvnfhGo9PQMKCdASRhwYgRwNv74bqKDxhUVocE + qa7N6qwb2rWJJVi4+WYOXo9oy4QDllIyCl8CIRf0YJxcyLrqJYtvZrtSAthisNep + UJ8DUENW0Wmd5QeYlesmkwKBgCLx9DklPq8e7LV8GkrJCUTH1VWi1tqrfg/xCeVp + ID2jml0SJGjSq8HfGJsYuphESayMTSGscinDnU4VWwo5nO7d12J2HE3KkLIc90Cr + 7+U6RNRi0qD5eb7WBJO5xqpy4+b6Rb4bQ4Sjvr7kyA8tg447btCXhWctWf0T9fMU + yiV5AoGBAMm2CqW6X/EGbAZYdSHkPCqvmp4zimzrb6/iPir7FjLoBg+R4xT4P2jS + 3q2NcbRm/pYAeAsXZCNNlrijVoLh7fHBUxez6FjaKWTFKrvzoBOxi9BAnkpcKBZ8 + UCT2Q6wqtOUx38N45uN0tGvFE2qb/Qtlrt1pcwv8e51ZqnmLEMiw + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEogIBAAKCAQEAsQbUNzgjVSqrSSIZfj6v85/JnhMK08kX6HzWb8R/t2yXS/zY + DCAjc5gOTKcSsj4hB0rJVDfOiKkIWyRpm6Wu41X9dNV1XT9QKsozO15FcNiDViuL + rdANdEchi6S+GwpfyXFnjkqDuAsELgpUXC3ijAkoF+gs21Zg4tqHoXQ29oloO9ka + EGVvAo6e2aFuVxHAecQpLMJCESVrsDdEYrpdmdf3iWVi7pS/XxJczAlHUmhoM48H + VgR87iKlgV4bqK0Ppv1/abSP2NpAa1zAE7Im/ZLMyroddGK0qriUk0jn8OD7y1GO + 5TxJrUauRN4oGrzwSYvUTmmPoLIeQFiCPKIMvwIDAQABAoIBAD8raqrRs3n+oeSU + 8HfmMq9Cw5VOwjxUs91YPsTfX5u6ejq5XPbmuP/UsLWVoMxN80dA3prY1zBY8Qxk + 7/KEquWgl7MLQLgnkZnTUXjL6QedmzAylcNOTJ7DiyrjfJr1lryxZPyXhm00MSek + s/m4vfCui8oMJYWXSzdoN6HbcImEYuehpGatDP5CCwRKg8quk9GrYGuFiewKpTIs + GzfqMXP807fgv4Oi0fKbnU9ZOkWR2n1i2Nvr7aKm3WcqWg3KDac0RV2NpXv+WkcU + etm4gRAAKF1UwSgn36rGzU9rk4s1jWUxza4yktNd6t1k+peZjDkTtOpgrea3bEor + oyB/fVECgYEA1tt9JBxTq41rX7xLw7haeoHsXipxiGjO3aYfCaKSf/meQd4ycwYa + eSoUxHyFExqBV0ldylMzuQ2E7VD4c6s2J/cgamhIfb15IAqS5UKgK0EihQfvlbqB + cmfnsHzMWorWUFA1B1zSlX6XT9m4Rp5ASJU1n6ALTQ53MWT67XF/prMCgYEA0uzX + 68qWWpLbja+9vzsCVybbYe6+OGzY8EnKUUG/215uvSBu6PEZmO06jBViKfEN1rVe + 58V7vGItDiRyKnk0fIbWDEs8WoMzK08iU7Ar5YfWUldN0d6ErGSuFFarG/AtYt/D + rR+3N6GYdzs5lcW9qJ37+6XVjenEfho48HW4p8UCgYBwVAoF0gVwYBwtzgyyQ3SS + LdC8nmYC0gCs4sfBSsxauc8iUp9/gUZf6D85RnxwM2BBmSq+t2cILWg8hiOOnYlP + taSt3N1hV6i2trB7yaxhUMlSUYbRedNpU6dOnsBb6dAH5xcCRWYXIDrNVV9BFEU5 + bUC+tnaSD6kDGu8RKlB5fwKBgFYuxALqIgkcHG2GM0ehutEVZWpcfIjdoL59yBbv + gI8HxMOuLuMrMERWGigGzLdKcVcbgI2/GVHd43710Vgdch63kVowm5Z4KT429VWw + lB8TI7U9SuTHwPoXoTFaQEwIFONjfraMUPaAJqYBIwRZaact9jnahqmXrNvBpyZJ + U4vpAoGAAx4TFmWlpa9SvWMcmwBt2NR/U1DOBi8q7bOlI5lo19XuvSQhoXjEmxog + xHlJmJQfBKSEBPYVgfjYVfmJ4VdB4SSWW4jpCLXxsJptY2w8yAs9PBzhqjMJZD5o + m9XedByDUC69cePF+m8GGJKfnz7l8Nbl3hXKNTAP2u4phEzuf3M= + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDAE1+hoBAZq71nZjMYkgWGyf5yVU/LFG4NZNDbQsksrWdMP8SpuStyK + 7twGvONHog6gBwYFK4EEACKhZANiAARm+35E988WwwJ5UFZ54HNGc0mmDljbttNZ + lvICu1RL/sMhmfrgPY7lLjs/ABsLggU8EwbLivO7vq9BW/QgteYOdQrxC3BKMmbF + YPLOV0JuP56HIjEKRUhxi0JqKqnDjaA= + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEAsJWuaF6Rhy9V/MbGuPbZFo4wvus4iPcTIel3eqyRFPqcj42O + dAhhSd4jMrRQjfBT1+Bgynk9uPVhQzo+yvORp3RqdYA1zHhHqj7ubcgKojAa60hG + bJ5tXVLgMz22q2rmAMf/bOsyntk19EQs5h3QjiQqw3BIEvXBTclLoTVxeDDNalGY + 3gqd+lcWgNAq4BliqrfCyPyA9QOhb1XaJxePYlD0+8IeVQBnxtXjO9vJTVOx+hKl + Yv8udoNV30tiC7CQLoTAKX4/37GH50kSeyYdFWzpcRdYreXzmRADFHjA6Oy4qPX/ + EJ/IHMg2fzJqgu+c1AgHmXHbU/gNOQnLPxdIowIDAQABAoIBABoMCizk/ixlpBZk + L73q03zLPo963Nz/LPhMms4ilEf2648VP1UIQ2mE9cYt6M/3CjcGpuBW3+7faxhi + iA6hvPNpbaalYcomV9PZ8ouI/WCNHftkrtaoy9L/PYjxaneAjirBVYD4dIAP5DCC + uei7rx64YQJxFoCNdZUGwzwlSPaEZZ5bNl9660wjHGPljDDelbjSmqmKv+kjSlTs + R8sBVeoG1WpyWzN9bUNkvB7+dMGK1uWpvpgNMP4u49ElHcBv+lZm41eYBwQ/C4Jh + ksrbJmjpkAf2zEyNPGps190BfP0YP3knuDtQdhTZCM8bxGxZYeOahg+x8woI7SNa + ur9QQ0ECgYEA1moz6+4C7ph8ToNOFAetm60hVaEUdBQMkYk/na1o2JGkoleiN53t + FWGHHJ/EPrQuq7OphNKzWT2jlv5R5STwysGkvECRbQ/zA84xLl5DqtDAj8vojF23 + Yrk5kiOGJJzEK2FhroZsaU8st8/Hcf1wtR9S1Ki3Ze2fXqC2FB6XfwMCgYEA0tUx + fbqHabT/LgZNQXGSSvBWihH39DNfCzt5f2ny6DG1lGoiqie9NZ1erYMaswk5/Ir7 + TNjBmLODuKDPkeMFtziRQ9nLTsrRI6PNlBLFH7kCO3fuCwNRQgwApUX4ul2M+4NK + ck2lEqjfv2cvxRBstKz9m/YoJ0ddEst+UmpUjeECgYEAg+qpcTFpimQ0rpVodzhW + Hp6BEM7e55/iL7RSeG9VP1E0ClGCU1eNowby+rBtK+rtf+Q0mqyLfY9H08E6n5F/ + uC81bEEJeCFE8YVtisqiNTjkEFRzCdEq38l32yqSAHqW0t3CHH9FufDlYV2rpr04 + F6di7cWzuDlfQPf9rhk4OgMCgYAKJKmh4+R56HRScYkr+dvQ8SkosV6diA8tiin5 + QE6obyPORSDv0MOgnbadYG5baLk6djFK7C68Ov6+VjZGTYbL3tPWUNcgLk/LiCju + 08xaD1uVItr3+qvhIpSxXuFtjeyneRSO1T9421kQa1V4BKdGNgBpjXk3Eo7exZ2J + N4Zj4QKBgG9Z9lvTiCoGywx5r5Takf13jae/mw0SPiKseCzecUwiKJ6BWAG40E1u + LQHYm385FYN5IsNJG5/2Xovi8Hew3zckVXRLFy0mBiDV+UNb+izQfa8nZSNF0iRd + iQ+5aG9z6qE03XJCLN9N3jksbrqjeBamJ+yEUkUUaMkucJH9au6g + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEID14JJZW9NPBk9OVH1yXv/ryi8+H1aDmB85TyjDqlJAGoAoGCCqGSM49 + AwEHoUQDQgAEKJRspdYi9Dlbd+Q6R4zCS9SRVcaHv9kT9cHlnnD2vUw0psQkDH7i + 0uoLDuB2+CS+6yPJleXoQ9d3YHGKOeKypQ== + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpAIBAAKCAQEAzKDabPlum+9MWh7ANXOfYZGgm12z5xj5HVk9Nn7DPRlOomFr + n0e9ZJtTZXgYqOnvB1DXl+h662MGbUl6+OffAs2myAyrOKoGfaOXHEjTkBh3WwmC + I0kFY+/uJfnCJTQcLokQNaCrjC8rkzf4F6xAuhVuQ4Xp2XXghtnOiYAWPcN2XAvD + iwJdAFaEKEDiBg4XGdXqeh/DrZdACCf291LEomyqBEN8lOfWOWSXCAi2QbNy2DOt + dj46PNWI9EeKT+H26ahgdD/EWi6bSd8LRzdPzdiXUWH+ihprrlubT1Bs7RrVkIFi + ZN/pl7qZFpisU9OZ09UUBUktpp/U1d8I3EC+fwIDAQABAoIBAC+wxXdkYr0A9oCC + bjWG7vxkXlQXcJhJn7WRWMzcmlAhF8yMe/KxW5iZAsTBSq4DZ2wDEVwcGJnHiHXs + DDb6g2U53Mb+/ODF76FUgSFcb8JDkX2sJ6JloFX8UzqSjQbysCbAVwDIo3KWg8dZ + 4f5SbPtxhzNBgJDoAh4roRE2wvg9rSUt8gti1PU4MmzyIJeU2stPNU0Bb4oJRTVy + BSXsScOm/D9ZBCxaeZZihTsYAsyb6k1XEgPFjkbziIwMP1fEZOea2EQWCJtHBTx9 + 7XjUbCn7uaU1NWw12d0Vk91zHDXdJOIbOGVYegyBTHzOLJPVGvewfl23kLCbBS3X + yYia5uECgYEA5z8NiiQ+R8YuPBYflvzTQ9iaoVWZGuIxpzTKjUEWXBG03rd/h/mu + 4k+1AoWJ7iss7iYE9yNduAdFNm/7KJaNMkoCnFC501UZHxkmeQskDx1g7mpOo3rv + rZU13PN4Wx1rH5co7trz1+9+3rgkM3WvrYw8cHAS7bLkhSE6GlmJVIcCgYEA4ohg + SUSgelNhGwhu5unlm8ZX75q+BuWYw0BSNPv4GQ3wnStben/1gm4GZ+7qN97EnhV7 + c9738GJicMKAA6nqdi845F7RHhVqN7cNv60tSChfu2P+frw/hjyOFB8wKyMHyqKx + I7c6Wccmj0Jab8iO4Af7fdWsieWGDNEWYJN4PEkCgYEAyNPFmncnb4X5mU1NWf9w + Krfucra4JNTUcnYygsJH/OWTwuhx5VE+RGUcunfm9eShPKHgJhGczrnhrglKglFd + hpMn+UFSYOrCynM5Kl42jrng+K1yZh/aD1JKWP1JRTgjVGgesHGO27Wu5RXeuqI2 + U+46fxuWFMEMHWJh54hi7/kCgYEAxkPT+exdhBKbx7wuzF1kP11uM2A89u5WMHWI + PaVWNB92OyjqbKG3r8s6Qhbh2bpYXX+xx+0bFcIWJFinEA3UDlIwOfgekHTvvQmy + t9MK8b+cYfcXk7aQ5pzzQPs2/lovhJO18+t234Kk5feODY38NmnmG/E6jIpdM7SA + IFCRiDkCgYB5BAqs4JNyAxHHnZq8zokkVFE91CBZbAJcmpe4NfLz9roMAJ86VBD0 + Z2UEtFpUvzLf70BSlhf507C0b9KQnbs5uelDGAovIJ6DXFOyyPpjUOZmDWGXmMz3 + 35s65gvXl1lsGUIXQXIQv0/YZcvvi79yNKdvjw/gGNiVtJ6hdRPc0Q== + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEAxhsL2jkULsj4vU2XdusCe7fc7RJrHPdpFDMTWDLwE6Gt7XO8 + 2bkSokiz4h0vBdMcwbi9whPm/cYMKSclHqnIQTT+hy78fHErD58gtfoqURmxvXsL + 2zVGBa2/gh7TZg7llbz6wwPzc5b5pRzjfqkZgnRIVXyQQuHHqourMaeyeq1NnKdC + 6bHNG8ysfJBFePtG0t0npIaRYQONNxpcSoY6XWzUTCoUTixjPJygDs8fSc0oMiHh + TDQYyypW3Q6Gw+f2xFJ0EAMTzDQ5raOH1ymSiw585Jt/ToGumwVZpNnXftgZ/K/w + c5WrIAh/KLxu59YMYEFdXOuuFs0rBvizKp0UgQIDAQABAoIBAQChsWOcKuhpQ0ma + oSEWQ7zUI/7jVRwuGVYf0YxhebnwHA+s9sFWZ7No17RSwwUlWOloyJPBO6NW0HYO + hM/MVkGHz2xMBDK6k1fVOUlmnpg5d6JWCH9l3PaZHfZoiyZ6b4A+FnAKCkiDuN9s + P8cDE5wpmSWM+M16eXQRpEwHjFuluiwsyL+uRnO1V8pl7gVDmVNarOt5G4tYBQ2u + Fg8dz2sl5aQVAwl+HK6l3OCx+w/mydnT4AkN81ZuhnHswgsvqxNEhTAxcIbvnNtn + VluNcQGU+hbdOOqOxYhyqFaz0nAk1XBtknq8Gu4aoWDDoFCd3svbOR43SNFPQofO + 3Fj5C80BAoGBAOSM1nctxJf3DZJrzisyYHtBMgyDxkI9yuA66b8331Yxxx64IapA + b5TO3O6/P4WD7YnwF8jaHNbKsjzJIpoJWBpqi+UKE84iP/5F9XunakjhJRVBEHdN + Ksdi0AkWyUIPn2sZP9DrMJNuxxWFd+nkwzinYgn6DLD2PPuy5i+MWaoxAoGBAN3m + JAnpaSMmVAY/o28Y5tjuXT6GInXC8UglhFiKQxx77lR0sc1jWc120fx7mzYzAG6M + ky/B81LlhAzLzcFGTEoj2yTdfaKTY8VijPL9bk5lojEvFdE2qIA8l9ba0Jeey3bH + b7g94rSvT2ZZkK4yuqTtDrLizmhh7xaGuGILKCtRAoGAdcZNzmR7ZoQdLlL3jzMK + nPlfvSs6w2/sV9iEE9HK+TP1lFL2pjFGTry7BRzwsvDlO6vJ1erv6Y/SgZh0iERA + bnxxUrn6ssLbj0Cl2+7NynibD3TT82aEoPK+mbBwTeaXFC2SwSoxgggX93Mr9A+6 + ujsnPlTorVh23I24KNB+dEECgYB/TFDucr4DETDw6L88s99zIcPSY6cPQcejqQo0 + tRTtGVfPkaaS+mUBTyIGI28Wd8nOocyqgCy0KMFJif2+3DJV8h39FyfFBaMeEHxl + xefrB7k1WBq/DAk8kAZXlu5FnS6CNMWtv6r4Fv6I6+bpWGbkyK4/B4h8L3q2xJCw + hlAEEQKBgEN/mckLcJZjwYKiauLGOTgqFb7jqPDhVRJMf1YnC6ir36Us2GeDl5df + GHUY7M7mbCgsEKovnHy5ixRNNDxT+ggWoDDbSJDvy1NEXNbbQTyrO71d5vjkOjtb + qi5J9kK8Q58qPx4qrxqwVg2MyuRbf1sJ/mw5zkkn9344tKhU14hI + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEogIBAAKCAQEAuM+Z7R0v7XaJQvM+o0zz0A9dm0gAgGppVGtpCm31raUkRL/g + gh30xAIh668ZAoBbUSuRk3zP0aBclAnRHxID24Nd0/6QnTIFhj5LrcgChlSskItv + 5vU3fkw+4SPP2O+oGGz2KjT9DpxNlaae+y+H3CdG5ii84A2/HpMYO3Dea6u8nnnx + DbZQjNLAgWXbSVDmYXmYhhSXLF+xnfyEJztOgK8xshEwiSbZLS1mI6nnXEY1OULF + lOGRLO8ESPS2pxE8xxhNELK5upVJNO9p81YpH3tVs2r//3RfTgUT5Rsa37100EW1 + P6nr0oa6Xh2bJVHS5H54EXkpQP9y2Oh8gj2QXQIDAQABAoIBACe7qnJKFiXNmFEm + js75GmofA5cA8eqp9h9KQHkXjvxYRuXpAtG2swr5EmXjbVMWWYun/FJjQSLmgUDq + o2U0sFOfeKq9TkYdnQZxmj+wgqpyxe8Fq3dSPS4QImyxEFypmdA2jO4iGk3r2NpV + ylRisajpYNrW41SgX/io00rkR02Kbw9rq1GVWlyEcRNAa5GoYB6YLfLTddOEySEr + JSXD0O29HStRO8s2SEgk4FDNCCQjIhUhfb31iREWhZJ2JZG9kCSFlDcSbc2Zgl+g + eUNUl7YH7SIwcEWDQfIC6a/m+canC3BT2gzavaunqgHa29tQrxyOQUy5nfXdV5m5 + q9L/8hkCgYEA4+6ArHk8ohh6DYMv2F55lKWgYg3OldTr8iUlXDPP/M+WbMlndUdY + OceNmgkB/du0iW3VeRW42lSsWyTDN3LlF+Xs27szfTHH7x+A6L6Cz0i6u7QA9EwN + 1vRGNLZKxXJ0Ka294/n52eVqmYJ3wLSLKQ6qZjX0k2I5ByoXzfqhpqsCgYEAz5G6 + NVTog0mZPhmL05FXjzxxUCRz7KXJDrB3+0ZvA1G1jOeHeyYnE/9P6xstLqHCNuQb + qw7Hfe2rvNreZEeOZ1cEsXVahPSFHN7DoMmYZF2SgQgSBvEAbuQavUPOFitkEqQW + eRFGNVkwz4rtAguso0WddOWHzppdFkUDPGFixRcCgYBnR6sGe+j9ihnEBa2oXSa6 + NFJ4G8mAGvrOvgYvwUp9Q5LluF0oxyszAzkmku5UGTm1DA+uzij0xWlT41SRy34D + Viv9ZNXv5J6zu5Kt46ViR5JVezrzd4LN4+HsAK3gyfvY5uEkbCDKmymyZWvd5fEo + qXyM0+X+4oL0vB4NN4QIAQKBgCk5cBoXevZYL689s5+ZRiKUhoy8MKnXY08fjTTC + kFnAaKZLdYTn1usJ0f2HsDmKtt/f/f7DOKuyAGHJtlGERKwRhEUaYZf2WFmbhI7y + eum0C9zElY/7XXKoqwbb6JpOk9l/7VauL5t401Dk7p1xZCApO1R0IbzOu54oprPf + Q5aRAoGAbkw9AbO6ZQuZHpUSRxb3uqnymRIiDW4L/gwFJKklt9K0WdcNHwInhc3k + C89wzKIcAWug0+mpXBq/CDO02HzgUUDKRi8ppuHmdw3afmMAmnx8WjB684NIzdla + a4EMNAOlT8VdRpwaouDMj+8diFlHzP0v4kJ4QHocl7Sp0lCrUbc= + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGjAgEBBC9HZ3eOPSj52xe4prHMweh9M4y1Jt3pNkdnLl7DAocibIiwy9hvrRfw + /h6p7RUZ2KAHBgUrgQQAIqFkA2IABH6lYDCvTARku6uJI9Kxck5d+eEaVL4KTKRo + mdA3C+1MbfccG4NotZbRljOb35FIUsMTEUca7cffR6vr40tAJfjVcN3ElzFQDm7W + 55yGUWy36p6BAh6RHKW5E+pxldbUCA== + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEogIBAAKCAQEAwjs3VJNBbzIH4v9X1gb6z43G71KJIpElRLFgho17e7gmGXCU + wVe845weiYkya0OFwmVBjcs88m6S7CLHd4DePn3AXbbibPXhJuAJkXi6jgsc8Mfv + ScBsGYAcLQHtveJ2I+8dx89xROWYDxLoxfWdtfoAtKKmi74wofcnCXav+Nc2skVz + bjJtoR8OW9OhBXO/M9lvS1TKBLIrSyQdRtwZOaf9M4GVmNNXXe+C/0sRKmQP+AV5 + ue2Bg7UTHbK0ag8NoZYjRwk5PLGgUMifmg0OPgHgPKgHZMkJgS4b9OlL9FcffcU/ + y8T+ddbi4Lg9Yocokl0/Is3WmlC9vbQt4SyrLwIDAQABAoIBAFLdYKW8jVYbSjIW + LispnyednRnNZKRSuEuuQTgmdGA8GEUSOuShwfx5Rq320oPgsthUyrrr0ny7oAMO + c3sQh8CxdbiFpeRGomArhOmDUFP5ecdgBT650WSvu1WYVQ2F6FE8WsA8SF7UdSM5 + NgX+2+IfXt2x5swHwEfZYdYvxLOsnv/sBxvzF8MA5vW0PtesZdC2P/4Z52T6SES3 + U+RmrD5Zfe9uSFJqnhMN+n5EuLS2GCej99z3jqTFtQoBoL1RSFMOFp060rYg+Rax + d347twCJH+FBRcteQjw0OHhXiRvKTrjownUQJLM5OrBe4j5hVKycBonlby6/QcrP + Xs6DYkECgYEA7mH0+IUKUqYgQfy3Tj89E9rmBLy2yTXVm3nR8qX0u28URBLb9XqG + Z3bkYURuuwGKbCOkSJC3NYnsrzof1Z8tzVG46d2leR0uDSk9ao23T0BhwLukmjts + 37teUJ2og7tNpcUHLAOj1DSEn4yHgmANDRnKSGN49qwuU6chUCHP4s0CgYEA0JXx + 7S1UdZrjdYND+1qoFFZsV2ZQT3xxWkhs0rKIboTdvLVM/42u3VGnnGFuxIfKNqNp + nrsNnIIhOQqzOHUD6ztekGY6ErzQ26wr7cf3NXdclcbhhYKvUi7KHIfQ639lhkpv + vrAnX/ztWNlXA9e9r9Dndm/SVnrIrmi/Koe/XesCgYBwAmMi6xBgqWJ63w4anChM + zgxKqYmRndQSy/jUdRo7gAQbwGjOPZYtw3WoJomJIT4zdcPZvPX5GCe4Zi1TKQpS + cVXbvaPk9ssOsBQFnzVE7dGAyCqdtdKAhf/ZDVuDGl1vyNaH3eX67fprJZL+tbcs + MrQTs3nBHkJeWCeVCW4u+QKBgGfWDV5lz4LQPWV1mDUbt0qQj1SfAWHgcElifpIR + AGwMRpo3owIhFSjmCkuGEW9Sre6vQNgdBDSib0mHMxrq3a2Pm47E5SoIxuxkdGXl + wwHhzrxdCk29deuykTjMv8tMW00T5zcFWESnk7xETdYC41IP6/oAxrP4Yci5KllQ + xIpLAoGAfEIv34wvBboOhgf3p9U+W0uZeb8hsRV/cmZ1tTB50BWmF9+05AsKc0Oz + nmROYJefeFCOQEcktdwhRyllMMQsr/YwD0qWOECmZBpFymg7QmqUmShJ9rHQ4YZC + dg5tNPkimKgTOxcgQHfUIMTrsJInVsZEOJ9ttJq7jLAGb23OVog= + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDAwB1V8+UvOk/bHZr9uzA+3F8ttOYYN2q688rRnPwXbTjV+mPt9bLpE + sbgxK0OnVyugBwYFK4EEACKhZANiAATaczzHiJPE8gqoWMYxz+1tx3X2Y85mu9a4 + q+JtTvSTVlWmI4oKO+yzBv804Ez+h5saGpnvC+7FCg1QTwis91P+NUQ0FuMTxxg9 + xuvTYaQ0z4exqOwhd2Tnrbm+XllS8cw= + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDAJ9woRPL0qN7kwpAydWb0mHTyHC1yHfsgzGb91VjFfRtRTScIqY8m8 + MvDbM3ldoDWgBwYFK4EEACKhZANiAARASnyk+Nd08MHtFd7r4TsiQcuiIw2RWbbS + 5rWWulhnx+/rBU0f6TGkuc24fx4oHKmrdzOWKBAeetzZLPBFbqi0phICxagJi5EE + 1+Nwir3uIhMBpjYBdvESFFkWula4kzM= + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpAIBAAKCAQEA1QVZp9l35m9nX9h12ZlDYbO9b6uVpcXDbwG/ce32T3VUofKZ + 3ApsKfM/soakbcxIV5Vas+1MAkEzCvW46HUWjF8lUvVZgXRNq4H3faq8qwlTU7yH + MVDldtWshF9XVF16NH8WlHuF9mYLZEPJKCkItJYBv1nPYE8Dq74t4p43p70OXYNv + Zd5+/GaS5lXfe1CD2kqO7WEJcffFsLOK1vQJHAosbMvaA4LMDeANwxlbbSwBMyJO + nSodF6a0JE4HDlPyd0fYWgULZN0e36WHGqZhp1UtmyY8dY1WRJ1iBjro1/FzwImR + gqv6RoF3XjWoqKaaVxDWHvqpETBPKBzFnxtIUwIDAQABAoIBAHrG66bXq8iwGwfe + DgbN1E1iuGO9pLH4Ky02963ltpqTiKUS2+U8SJ1hKyxteCYkoOmCFtYvhiiihZXi + jKHGoqljSXLoIJ+BdibM8OWIW9fEtzdDKTSeaLM2comVHhNtETtiqJQKIesjY5t1 + imJQTEkxUG6GiAT9ZaM+KNo90NwnB+sZPCy8GQsGzGFgSDEslX/u2BDPoGvBqE/b + CXtH7qQDOr4bh6Je7edJGWnK3alyU6TLxWu77+FjcPY4vy+BhL7baBg4cdkN4ISw + Qx3XvP4itV4l8otYH9N6WSutG+VL1QpjFTel12VCgBZsR0PRZ4vVuNHVAbSKkP90 + WLyCllECgYEA/8KIEbDdAVePYmZkBaZX8r6AK+LgdJmwAYaiODrOh4W6bvdXWv2Q + zog+89CfwOEZ/obhMWlEFwpeNUD6zjnl/hlQ7D3dMujOGo2SsqfeEyXKZknwmjSK + hgUj6djo8syOkccdKNF+GzOnuO0btn043jfOuCmoYAylzrI9BcOZc+kCgYEA1TiM + BPw6FvroLW2wW5StDJ11d4t2nf+YV2lu7cnLuH9YEHVdd/SEVowpofZLqDi//ZiH + jl+34t5a03G3/cb4xB3giYCcwQuTxG1JOCDriwkCZR8aQyOSkPNNjEdGgqToe100 + ihKAT30NT2xEQkpiCOMkPPX3aUKzabH8kLqYINsCgYEA/aQMkY7W/pe5aRqmIzw+ + iEwIjH1pn/kypbDBfAZF//zNUXMWPPSvAUP5Oo8xf3U99EALYJdGoZr0pteUY6Tj + xEWTDVak4fIjRA4W5/q2sEKQITU+2Y81uYergCRPkUrwMP5Imsx3xb5KnYj4LNiu + 5yJtbhJSGz8vyHbXMbozmtECgYEAosritOeynlsBK7YkwTdZjFkoF5bGgMlmEc8w + 36KDxSCNJzvEmlJ5O+8V1k/K4ew6Qa/UR5KzPibQp8GaXcstoebByZoFlKp3LrDW + B2GzFNtTFcvSbFJblAn/Okws/JBV4+J8u7J2froWkH4z+3z5Lpnl0BlnxdkkTF2V + XRbqEaMCgYAhRpEVHxu1ebnyyx/GVz/dOmdOqomwBtUobH7d65rrjUq1yFj30AEh + UlWU65JGu4mtQQvoJSb3mNnzaJQZWxcfDq1k5pOHmV9ZBGO2vGQ/RxdNBct3fqE9 + LD21SlMOMVl9o6KqqfD1ihLxsNhonaIApOKb2fC3Kldj1AF7ctImBQ== + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEogIBAAKCAQEAujZUqL6FgeUifqs16OBWKw4X4ZZA3beC5rUiRQ7feoxiOONp + VhHlYMAin4otXXbGNaxb0eqWuSIznnEW2rraRjvbetTLKSIIkD+tQ2BDbgBUjWg3 + 86oIgODL2qdFPaTjjHCWvrifRrCVmzvZxEcu865Job+0UkhqQyWHC2pGFCANtlHi + MaAIPR08piAfZPMRPSX6/Av/WlDbLV1bsa0ksjqj0XwfUmV9wigqTtRnRHGbucSu + RN1WPXzxXGfGjhXlWpOWcCjrKHw/Yyk/hjZ5XEVu9QMmz4BB1clt+vgMimzHcc3A + jW2tik2CFBorn7dsJU3GYVp+iSl0J/1/V9bbmwIDAQABAoIBAELDQf0yOdnFlmWF + 6xEwhZRwPB20alNT/UnMPZo25+cfOAQffN/QEMZsfL1opDUzZYNO5ajQi/OakJlJ + AKGxhprR0TIr4x8/RYS6X9udQu/IjIgaip0BJIVYk540hL3CRZdPsqx0sx58J1d9 + 0OjvgKT7owisG/G4ZujmJpHwK2oBKm9jCvAGB5MrR/2TGWSDRKdaM8UyS5b2V7BP + MV/zKDZgana4M928w+M4Svq3H+JtIxHdF2UvQ4UCy4vgPJjQr3URMvbE0/9wzoDk + x3zocYqy4zmkThsW1fSJs1ZWbSf0uKeLDl62RRgsnr7W9D2xUWa/7HtwuBtDeNMH + XiaeCVECgYEA9PzVkoFZgEa0HjLbpNXpI38GklHK1KpwkVnYu5EAwHIz7V3U2upM + t8zLlPt0MTURH5SD0GboqNVS1DkvUaiCHvRY6IGWtxJ3kpCEBupR/uTtzyAcYC/o + FR8gCdSz/lWg2TgChY4LSu7vaHNwlAO028cCZda7mQtr+oX1SgHStekCgYEAwpUl + QbLbpQGn5O0a+uJmcoCiAYdQRQGtNJtHggi4av0BEiG8yhQAkZNN+1ixA04cMIuI + sdOOBFXNkMfhEAe9rJpHRhH12gv23F81r011x7tmEmtpBH3rKVT931mNHK55L+5A + Q/0OhHxMUgEWKPxAG9s8Hx+3eDmvAW8KlN0UXuMCgYBrMgYxaK/E1SsS26YH5iFx + Cq/RbkCV9U30C6At0jDGBDJ8dkYg08xl0BJ0SeJ5dYLckptqoNzEozLu8WanEFh/ + OuN8ONe9mzL+yoU6kWT3Zyw3KRHBdLTUKR5Xrt5jNwx+f2d7EMAYNZxD0986pLSK + RfXioabMPJcus1a03z9XoQKBgHhhTyBbJ/nokVdWvSdTo6/ZFuE9NpLKm759BntT + K8y848m055hZUZS+fjMuxqxVyaja2mGxkR3re3bDweBp+ZVsCQY3nFMercXefVcL + 4/8CV/6zRtBJmpACjeF9BIknA8B8dHPbffzG7WyaUXxfusXBF2vl8lrFzRhk+zXn + pG+jAoGAN0djeQCebp99zp1HhvqH8rFf1lfhHcV/pnlzo4cLMkA02fCn/ZqGgaYn + ZJ56RUuU+1tYG/7P4InqY4tGS33j6fNUt6+s0mSqI/36GSYuptiRxDPiYKuGxlN+ + e0RBBWd4TCF/J1pD9tmPSog42sIKZhqwHK1yHvFTDObJ/fh3kgU= + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpQIBAAKCAQEA7DzmTRboW8tE56yCN85maN2I78qWi0gmSUEE8UY100EI+yHv + 4Yg1niO/djWRYUzkl1VZnWq7QNPLoHrYtLuxugqseDMpDgW5e/y5fn475L6+0/aa + YnnZHitFQ5kRaoAXlbuQReaaXs0fhjz+g62f1B9AMYSskB1/abPjWeb4Z5o5u+rO + 9njrDddqNwybEXy/ojNv1zJkQ+qFE1IMdj4w3DshzmrWk0F+za486d6juIMa+wTd + pU5JGnUN97/tcDZBfvrEcL1i30kWf/W7yjAH+t6+KiEkH1EAbnr99l/FwiYwXOXC + j/Y1gd5MJC2cfKv4S5SQKu7phlM/k7hSzQTWkwIDAQABAoIBAQCUMb/nLC+nJeSb + 0MP/biMgNZjplBTMWv5phbgsAvdRBsMzhx6MRH4eLh61cPU6LJpZtNj6vzGogTSD + /4xiFDxxkLCQ1scyXLT26psSlu3LmTzsiw5eKEHjgxF4TlV2kdQ5wefHcdn1Dohw + FWM0B37z+oayiaAW5+o9zPMaOqIpmolsBLO4R/QkLy2GJqVb4uDGTD9CSkxwNQFw + +vdhpPIZbbJlDskRXo1O/OF52YaIIIj4Dvo+KtiksUGOmRegCBal+Tx6LUCaWyAj + ZiZ99fJ/gxI7CkKvoTGXBmYhASbS02cnN/nDzxRW2bLvB+oWRsIJ59sTucVmrwrQ + dbl4uyGBAoGBAPvfAbgEwZduYQZK6bbrLYX58qZiHd4ntUApWiUu+Kr4NgajObBm + 7mziFu8UxbcFsvquREUw0tbmGzXMPImd/DAd2kvs3HrXOTFv/9+bm9X+TZWypSXP + HRBhT1HOb8WTUJ5nNL/Y4obWklPSgiAMG1EH9sjh+onFgAAqlp0l7KvbAoGBAPAc + SXvJ8NXp3Zi+OweaLZIr4hqEA9f9nNMZUKv4POG1yvKzoNio6h4j6xcX7jsMIylD + SawmVyNmWoC+zNQY91Ll/ApnBlmcyXDNkUWD7zRkvuClIwmozMNQ61Q8an9JUnHD + SLELaJ2+r+NXoURb77Ld7owuknrzD51D91rMrRmpAoGBALHc4ZHZifwt7kZLUI/j + s9oQj9H/J6hh0hTlHstzSBc0ALLfQTXY+jXZ0ugyewyr8aAkwAE8YSdwh3aOK5Hj + BtvTuPw0392/bpwCw2ZctMeBNbio1wbEI3oVvbW/Wh7j0OKLbyyrNAyUKfEXjtyi + sAeg4B0rt4ji92kmqgV/aopRAoGASfW8oNfMSmf2LSVzk1znap3/0IEXmgFxvAiR + M9eMEU5pDCdOhU5KhywzLvLdG+0aK4yhddh9gNb3S6758t8Z17wlzaJ8bz//QLLh + a5M/LFlX/mR/jWskX4leY50UhM62CXrIulg0SlrBXPrSHvdety7rWtzBnAOgrKWR + 3LMtIrkCgYEAnoqQoOGysy0pod0JzcFkcFUOUhjMJwUDcnKCblfxZX78tyMgbJ1l + jdx+hLBMcH/alt6EAnTggA9bTeEr27y5FoKLroubCa58iP8F4HHRlS+FJ3Nbv2Ey + 1pA0Z3qMXq9TZXw6xNrKKkp8MCI7xrh+zeBs1OZE8seS+otnaJrtyno= + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIPWY2sGOz6xes6URwIH3HcqxAwfPbTNZZU5vPfT+UzI7oAoGCCqGSM49 + AwEHoUQDQgAEC1re97Ejq7AJFFc7LMkKZ/QF5Hvug0xcadjf4zRiahkwRBeB9hWR + U9BknSwTuAwIlMHJzIXBUkLTq15x4ySkQw== + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpgIBAAKCAQEA9SJrL3fZsfY6OYsKrSD8iXYL1j69WvGzl1ukE7Lg4Dbsbwpx + DKFwdsTD3w6ILhIdtVOOmBt2WmRd+jcBraMrO5/YewcyBudPzmoAM8KX7ZF0vjuK + bTpWo0bchylEWBFqY/I7YR3xSJzFLNalOcZ/KT9lcGwJwA0Lf1o5Goq/ONQbf4Dc + xnrBfY9hxrfowNCKIGdpvsXAAVRwOqai029Gecdqc6mXdoE/AEDocyROw0ssXtQX + ZEhtznKVngUzPWtYoIjZSXf7PgREmj4zdqNfT5K06zpAziROc7CbY347/qf5xAYY + s4iHFrQP77oKF23ZA/7uaT9c0AhYNviyTvEmCwIDAQABAoIBAQCbVrZJnE9NoNUA + xgV79J1TloSlvZhM20GNNrtg6EfsjaGCNEGzWVJlUQc2gIT3fO9qioqgBTcYzOVo + vBbKK84nuIF8ZPDkwwwlp7J9GmEgYL50FlMAKKniSfNRi2sNy+t5bnUGc+0EsKOa + aGLHm+vU/aGQfkYnd5zDlS7+jNHkdfeAtfgvgc+w01Hor8dUmPuz5nURQ/vgRFxY + IMCw0aLhXclewkH6q65+z1YTL9teMpm4dikbWzHUEbyp0yDT8Jiy+tpYEvu2Rdue + /Svv9Dk/8kT4fqP7pfc+BGT4cWnutuumOTz6ZjM61/vIxKxVPdnmqiIn4VJnElkN + qSOwRjwRAoGBAPq53ZlcjV6bsOE00/+QQW9Zu4Qou6Q/N+hWEc2HTuiEbtTjnAN+ + BZ5mHRA3u6geCcsBNudk05D6I0AubsZgqneeQjnzAsujfoA+Y2gRZVljGVmbCyjU + 0nbWtUq2Ile/4GJuqnMXy2Azx/I0eaOiypTQa3ACk7p1JlRds6vIjwgdAoGBAPpK + cWOn5wFMfde+hWnPWOtUrod1znTXjJSJ8sItuPU8BVaMd773bL1fp6rMbboTJroM + xvV6Trk0ZoG1wyk/ICYvtXvgG+FMRs5tCR57cd5/D+fqEeWfbvG2bgmZPJANtQwD + 2WbiLSIlVyj7kPKLTwG/fcpn4cEZhnNyF3z+FJ5HAoGBALK18q7Smm15+dy8I/PA + ZfOxeQgdZIoRCY+QccYWkPcJFlqmFdkjZWvfCw45O4f8SSyqo/DRHD/1G1UvA4Rg + +ICkjD3z6eUulwdf8MkHxT6udS46ZfznnVBZgAVNxzLWsGBY0yOQLUVYA0evgZhS + e6UQ3dOL8rJvuC9gTqW+Ib09AoGBAOWHwWaXwsQxJrLkeKrpSO0/knKNedEzHyvV + OjgTACx9Z5PQa7xIYYNlpnh+0x2ylHBIaWkTSgCUanEHhDteNZhvZip9AnRhpAmI + erVmla1qruaKhPEkffTSzSSmT6D3wRGMsiGkx6kpvz3JPkr/sGu09aHaFHEmfGOA + vMOWqsffAoGBAOlZiHg4uAzTRGeRAGNpdIeLv7ye8y/pUQVImy5V5oiX89agWRKN + kcQKHYnV/RB2BwUQgXUQ0VWuPGLzOpSPqAS9B4UQlLEn/kI7OsF/LAK0jYtvq7jH + Fl+AVSGQ7TIphWemcRGHcYal4rgo96xY5sn8O9MURVLgwpD1nNhfN+FU + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpgIBAAKCAQEA4dJq59Yd6ypzcAHBxpM97ZQembJ9G1LAjw4smKePcJi1CeoS + YGGN+sLsz8vbvdSxmevpRK0IdAvsWq+IODzTgyFmG3p29XpMNKQ4rThfBSJbMbvF + jKLFN5JSvHUdxcedpIIaQnqBSbRRxxBXhWOST8HyX3bJpMeT83sgqXlPsT2Ks2b4 + cZcHGe0d98aHMgqElsgUX69yPslXjEta2l5zUaRRuCBb1btaerif3CCipbXbJdod + /lriNJHTdNkth2AaXaZnGGd+3TCBglcaDjZp2JmckEWIDvMHY1W/Ze4/vsnnXEGv + zM72oekxPiP1czp+R7VTLYPzvcjyFu+gdPBI/wIDAQABAoIBAQC5+cXLWr5XDyX0 + x62jcV3eDE9LOwDngLZO2liF+/EYxNrL6Hbr40u/icrnszcsVj9RyUTaJzq//5XO + daNU1VtIMjhaRvgzYF3kOJ7ooXU30DyUb9TY5rBO/PWgeT9kw+mjMvaXazaQ0a1L + qLy7gO5dOxf14OleCHNjYTLb/6lPCBjle151xc2AtCekHsMPR/pIveSY2IrgSxQ9 + oOedMAxA62nsJgsNu9p421FmAB6LJa6lbHeGREPxxIgmkGuFQQxNaaFDd8naJixm + xE7ekThpxBRJjkpRPaBe8eM6BOyPaz1JGWedptDAu3cdOoMHJQ5r6W3Rozq9BzGe + 5GxZd9C5AoGBAPMN9d+IjW07dvFEICjNkrQ0AnmCkUpBXQCcdrsFzPZG5mpU4Xm1 + PMrr8elzqCyhUWMmnj7X0y1ehBeaew/6By34fgJPnSxUNQT37CtpeGC6sPtSvbSf + goM+j/8GFFwquN16D8bApu7N/MrWijtM0v9kGK6TPgW7+e7R7JeQXdBrAoGBAO3Z + fc8ioItno4gHcczJxqa+HSlDQCWMSmtIDAl2uQK9r9FL3LzlAbdh3CU78JPm+X+R + BvGLqeremTXMRyOvwE5wFhPLlDr9lkBq00ECHWQn/Ej5Bx4PmIChiyZFaYzkQmHy + hHmcz0ycHqPJaPUObW02MK+v3ROiCToGDmrEer69AoGBAIkw2BfUe/+sEPcd/QkL + AEO3F65+hIPlYRl3N41ZONfKLUTXpG2OX0Iq6+FZ5xNJ+yZ8JdZS/GAfeW/ZQp1C + A8tu97FWPuFGpqanSic24Tu4JS23Bl1tq71pEt5gEB31/2MEAuOs2ozwuD/F2UCf + nHmLhmMDuX6DHBAxbdofItUBAoGBAKbJ/iwzpws62PU56zZlRFWHOaHG1APAlisW + 8cHtLB3c8J6/KQKZQJPdHuhJWRIORWWMSKc3ficCg8OzBSvkQeF/PiwRdVfMngF8 + J7oNhpjGZWayoqgU3adOIOrsf/DZ3CcdToKNUNzzGZVXVq+Jt3h/KLL6ivgKh5fV + yWRbdYutAoGBAOr08IrcMT0n4M3gr4e+9gyVePbFrFfS7QqZ6pPlXXdFzanPQ/l5 + S26FWyRIW7NszGFuvvtm8y6RPlgr5v3fR8dqZqMHPZhjFh9mgVXDJa57+yOKKFu9 + zxGt/k+UQbqo3wKe8dz3vvhtBCPTc+cvxc7xlbQzlnYQOAuJnTlwMKGe + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDAM3ncYVNU1BsxnOT8ClcsqJK9kuP3NT1OdPAkVPUvhqpVIOciMCkWJ + S29u80WtwmmgBwYFK4EEACKhZANiAARUmMfXdYv2JTll/YanSklGQRikHWNLEsmN + 0XX33z9Ywz5ATK6+zF7kvEMBev2Hnxfs9cFQDBSIKivw4gpOKtJrOIEiX375bX37 + 0Yk13vJuUUuMeYPfIhbhXN2FKsE5DC8= + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEogIBAAKCAQEAo58cQtr9rPbARp4J1YNWCmPoBAUcOJxmNQNO+9TwFPggDQQH + C+RYz0PjJf1sC36O3ExI0OSP7M7kLS1MKMISzPVzI3dD2D+x5g5RIupw5xqPydPe + wam0sRt0+yPnPV47TJcW/2UcI55gdrDxSzkkLeXN6VdPG3ToGo0ar28R1buzXlHf + Jbv8CZYvlHqdRsfcZ028JNg0Phtkd0e8NbMjOE1+NmoSVGuHXQomyol6t6GUTBwF + 3hv7YwZJSd4PWYr5nnDmp0Aab91jn/CjSR8DVlgXYrOJUiwqnR5SwcoFtdz5PnCu + 3XrxSJIEd3NTzE574IBaHdAkEYzuoqUUsZARcQIDAQABAoIBABlJ0SNgF07xQBxp + 9pkiWFz4vfZJF+iD+6P74+w2J/kFtGZulew3maZHFsdbWKSaJdhUjfiDKt9txoRY + +OlfvWoiEW6M01aL2aH12oJr+5EsYMbP0SDbasrotHbQQMASXVXkEDDe3q9+nega + RuDabwYM+3sx/E8BDZJ09ofgwb/nqHUPHG/6gXE5J16JM6P9vcdlEVG+YLOJtrbO + CwqO0fsvZXB1BKWjvy2DkrkD0JxqwPs2N3ZyTS2y/BywxLjy9z+B451igWx7ZQ5h + Wae9r/OpxLi54ZDGHuAVJl2PX3/AN2DYIm/NCn1LMiuV5+lFQyneEHHOVpBrNSPJ + mHvg77UCgYEA0Q8KTThLYxfdkmOu0Rlg/ukumlZm6Bu3ahq8j0WI1BZZNhUFT1o7 + AHe0/p7FJjRBJ//mSxYoRLwUSYR6go7uyui40mjAKUOgxzGuAIATU4pbhMTUm095 + hRir0Suv51kKAbf3VnCY/WCXCEMRMFT43qwhYZ+MAXwAZmncTvWFNKsCgYEAyFxI + Ay2JOpp12brHCqZT/coS4aP9bie89hO8SWged58TerUVRbpp09+tdUrQpeO2N9Ru + eldJYF3mQGEnxD/qGNx16KO+hndn97Nf04/RFYp7ysnIIA/MNRf4hdB90qn3qVN7 + w71+l+z+G3/S/+A+BcJ7EUPWlp+DPhFwe8vT+lMCgYBnbI9mIGF7RoVBNLt5ipqn + wWhixjfmwD9+6Hc8UeQdOGkuDjwwQ61Iz+/kv1s9SUCqrziZEP8e8gT/UeDh0iBk + lblJrrTSNTjHEtbIPJRTEfGwv0eHBkxSAiCOPJSrWStQKljclJu7Thup5LQOOxtb + 3cAt8aZr3ZK9F8X78g7SPQKBgC6jRGPw+ot4nswSrPgupUhi/CgnuvskJtkE2QQh + R05C6g7bDduQO8gEveSaiJzEt4qhWSIDJWJYGRuNQettkTk+P/fp/ZRhQQMobrrZ + NCsWdCBM/ddwtfD55nCHinI5/BsfAqUae9gzYybVhzDmaql+jpUDPHUNJkiRWKSI + WoxfAoGAQcfA+h+rOF4CGH4rwB+TE9S7gS+yjj/XGwnUt36LHtCmO5ahwXzXUs0f + F4q8aTsWYn5jzWPKfZr+QNqwqFQWkHF/Hrg4xOaCk1QoWau/L2Ho6d1Wh+1pTJVv + GJ7qpLnnBnBqmAbH/7AuETBE0EWBImn51Iexh1NlohIB6eWm9rc= + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDDGnG95jffKXgbdPsOQjqVy0UCePHJuD91I1lhi1PS1iYk9a+bkUlKi + HsGdp2AaYwygBwYFK4EEACKhZANiAASdPf0ihIUSGUWhY1wHiZDYdaEHw1RcQqVj + rcvR2l89wEKBBhtqIsbs/u9WlQHBAGnC1nfUm15SwWIGx+WzH9dRE1Ti95lW/dUs + emt92piIx2y7GXEmb99ioh3U3lJchd8= + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDDYeN/Us41dNfqSnHsX4D6AAJ6qyqqCVAj4BSVDuwhYlc0d9OJVULFm + 9q4SpMpMzRSgBwYFK4EEACKhZANiAATwmV4hhiPM23VcuCr2c5KExZlcQlRw65du + uBpbXEvcNdv/jCvxLIXpxsHPfL+CeFVzRwn2BRf3pLhESgceEnusKoDATYDi+HOG + C3u8iV8CmIdToexE4wg1jxJ//qimg9c= + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEApmd/hv7Mk7WVQzLHg9dfVI6WmtKW89LC/aCsld7nRFuuIHZZ + cJOEvU9YRvWFmylX8I21w11PlpHVCKrGpO+gamfhHiEHOPQyZhjI8DQ15WRJK/1P + zI6/sBUgWESWKos7UdMM8TC9EQ4FrOUx2SsmwaiqYba6icD5q0DsODaGQPGn/3gr + NQmhePLtFJAKDPuyuiFDH6F2qGrTy//kpa4Fgoj3AdinHc+KpNC/7zYbZjZuwnCa + oQQu3Sjxjb5Oo9JF8pK35OX1ldHx+/TkcQTJwrX7Ygeg4/nBTQ26NzvFDZJyy/At + OD8TGIwxqMkkQp+CLiENWtiJ1hA4a8nyVLqpnwIDAQABAoIBAQCd1mAFWRwNI1ig + M8NBUAFRgCpkUknynkBsOIJbaeHtWhTRH9D4UkS/GErAi9Qd99o9Bv2YgKKkTFFI + dkwTWGPNahkC7gsev6oqY2n9RVi17Cjnu898VQ6HY5KZhvz0/7nVhB2rjTJYwfcq + Jv/gYOjTGjv6kUtgrJVlFiC5tSYk5EuDLe2E1apJp0Q2kkc6l0OjmjNhUPgg+jTq + ic5tghqyFE1NhIlDz9soM2wrSa47iHUVqjl9lMKDBOwRO9/o8JPC4BLPcnxuUkar + NbOLrM5BV6OEVkvqQVhKPfGLropOKYFI+gZVr2K6zSOmPmjBhDPOb/JXxoK9k7gC + C/3GYppxAoGBANE9C51CgoNUFhMaIdZt1fr6iVrWPQW0hW2d1/DtlzqPG2bCyf4s + JIjn8K31ef87DfcAQBSy3IDm6weKlTkyhRsoNin0kYPB91hlk3w+fWP5y5WNBWO2 + Jv3qRr4nxpPWWb08GONFNQ7MDl8XeYDUMoAIKdjfnrAdDHxsAVR4mJIXAoGBAMuX + 0tGp/B+qmm8BIPcs2T/+5A+xERUx+PgjhzKxgpPl4Qx5BH40L0vIa5sYs0D1smJL + QSbe3PIyhKssCK5eaMKmzCJn+6xQqmJQox0uxpiKhWhZL/ujvSHVn/UOjjf4hcq9 + ZTFU+a6qAABSy+awsBrgIEKjAzdbpQ3ui3uMsQG5AoGAYKyb2SUJuDP5nwnL6I8G + 9tca72Vc/G3T2Dm9tAuSe/Py7R/CxDURDFBd24I3w709TopHEUkyqDwJC4r0N2Eo + Lsv9epUNRpsv9R+5bQZSWQbpEUf+3XsjuN2tod4u2c+H1u8VcKxhP1z4pubptKRW + UOF0tEddwnEpe7NLSgQOOjECgYB9/RotPTAUuJKRFvW7gDmA7M9dFoonv6D+jZ3g + tRDFTYCTI2CwaMLL9t8AP6zOCj21rjRHRasdBj4rXziQD0RtEKNKt2Z7IAAQjy4h + pQyo4S/lfyu+YXltMrGmCLfh0x2YdNPmT1ujxvfxO0uLGtQgDYppMk+PNltR38jZ + UBtJoQKBgGbZIWLrsGr94jdYLybTJd1L4gcR+I1MY/jAmfF3rKSZAmpTwb59T+Fe + 4xa4F3cpPzt7linDB0lfED1FF0zB4f3W3BKJrJ1hMzu09HaLZRRjhw8U5MCCaO19 + aSY40dXXucA/Opyq30AI0abXxDoUlfmgBr0mT5bMNSHNcsGudUyB + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpQIBAAKCAQEA3jCg7VsrB0rkHEt60W6fRXM77ZlWgx3O4Qyu67vSOB/UmsUU + iPovywWR2nqaIWhdSH0uLmQ7iY/GJvTyt6jPDfjGv4QrYgVDRhIXNkaviRKDyMsg + kzah+Qg9B/eUYAyRyZRljnuZi02MhXGGO83pHO/z3qoilDm7rn7MC4TwHI4GkaqW + 035ncnyB+oWEy+9rXN8Nl8QhG9inNYItGWxEYLWIrw4aTd9nyS9SGq8im/DiG0Bg + f6WS62kbbORHt+odSdbrde8c4fAS5eZ+EKoLUT2ECLf6SX7UUpjaVoSul2KMId69 + lfQCrNZuoU5qMiri0smprR7MbazgYya3+cbZPwIDAQABAoIBAQCjTA4aJBT9qRb5 + jKfZYHoCKuzydO3WM4QmdpHggwu/X/V7QjkTavzRM2i8r7qzruZQLmBQjC4NrfMu + EnyIarKyTBKWEudnhQKqbwVMSKseDNN6MX/hchec1Wc1gco0xUgoZL4297QjY31R + XdwP/AfF0rzi+xuq4LuFRX9lP/DQqlqase44rdB4Bqeey8x9dhfVgn+FAUloKWXP + 1YLtYsU1iYIor1BHqh3vz2d7b15SnPcVz5TmmRmBIkFkwti5+Lfl2iIv2hLYHZoc + DgkuNIcEjHDm7O/JHPyg7zjpTANnrxcPjmiMkBnbLgTkv04s5dfIw2ruN6FBgTEr + PgsAN/2hAoGBAPM8ZcWRhkwi5AXfnZm7TN2Q6I6LZCtVlfGyRRjnRDadbeWP9scM + PYu0xfgQnZIVAZ5WBbqHeMRMuMCbTcVrnIb6e4Prielkx1XzAnMKUhcuoyoiY79v + Rr3cNeXIvqCK2vu/4oMRsKfoy7fgdnI6W8pNFzrtDnlEx3yMi5yEPWcpAoGBAOnZ + gIKVIHDqFa+JFoYFYqwCT9MUk6wfbjpeiYD8/L6OyRm1KAJQqSzYnHbMpP3zkL7G + iy076KXKBz2lFEjkaMouTvpW9LDFnu5ItIrGEOsKdx2vRxD4Z2cfYa42hLr6VBnF + Vc5lDN0KAjA03jQW9FmYZjUK3QnRaNiwxzsPeVInAoGAZ1saw8D6mA+bZQOILHLy + TpPsveVtQxyzAmkGA3cB/VMYB5wM+Leyz1KZbLdivVg/v9A9zu0R3Bfdybo0adc4 + RALbyUqk54/zRApm2Atipocivhyu1gGqxbJ1FJcgqYdXVfJLhfZWYoMBTbkLm65A + os3vORLSO6WGPt5Z1MA8d0ECgYEA5vAeIldFV11FFzop3SbaYAZUcJ8kitnrUIdm + AdVVgJaf8Nxfa5He0GQGeKf21LhBnLWUYpKEWZ3fcrhhBO9UsT30TvOq6BvxrV5t + tZKOyJ9oLQ+Y/iBidYufOp2qjMCEZ4LjD1Xp0yx8JsE/I2/71bNUVFOrIHQGt+A0 + kJXieQcCgYEAjRH3K/cG51/ONPyuf3DOF6KShECOSAnhAaRIU6ty4q97vvmOwtX1 + cwKCAm2oyqvysF7I6H3PIr2W+fe/QuRsbG7djvrSkEFUkaRf4AIgccg5x3x6Z9NS + H27XpqnwIq3wcVwD8jVQ9AjaNCmq1D9z72RRpcse4MXeWbEH40UGgxc= + -----END RSA PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEAxFZon6QFWBQTfaHa85Vuwbt0XyLFnSGYb95o0xrW0bpJuIe9 + ojFyB3jctoiAcsAXFKAdiPd+gD2mamoxakZp1kaaOGyMDsDomdE2R0BXSxeva1DF + hgpz6O2ESnpbwQDlQlRsm9uXCtl14T95msBEYrGqPCbBjLFC+RSjU0/392gS/7aV + FI0nzWQFfHkS6ZiaOGFEM2i/MeackhQZiBrwO5E8lIO5awj13eOfON8qsvM9hphG + fAz/Wq2dbzanglL29wsnRANpuFNvdobaLhE5w3Q6dq/DzU4nk/M9YmYcFAXAlWPe + RTSe0vPz6tsrpuhs4YQ4ItSvdAcnqjunWT+6gwIDAQABAoIBAGJZmo0lf5vQarcL + Jf/Qwit/uFqTs4PzuUWIlt/w2N00QQuTy5V8yU8e5wj0tctFmAo37rOWrqKUv1Ed + IuXGoeu5cDWFgl89mQa8O0FT5KZ0FeZfDqMHh2qN2C/qvR2gUjd4zPMB+9ZuelM8 + FbFEUL1TnCAHlfrhLNhS00G/lEo00kKxtD3yQ/Wt5w5WT9YRKQW5MEnYiGnlKURp + C+gvmjN/Yx2d5U77KG9XqJuctF8Ura9LRLQsOv6uq7quEez4kISdLGcWs1f3NSBu + x6YFkbb6oy67rmMsqOp1dRmYA2hRM9JitWcMfro6by+ZW9LPmJ88s+8Oc6+TGUHP + TcgZHhECgYEA6l6v7d5MwrNbUY5Andb07Fbw1J3z/hgI2ac+OPAeSxbfF1AbNmsi + ptzSJhVR9jQTX35F5MSyT6Ugihxvx8iau/8dYq0250Wwr9oZUQCO6pn/IASDLCb8 + NUYAuKKB2DVVjoUQItkWF0nSJpELKXnJlMSqe03yhDBL3CYFAiyYnCsCgYEA1nUn + oZ+dKxPL82l8+hJ/wNKlEHq1245nEyd0XG6BZRsDlTsK87xriK6UmL/yDHhg3Qbb + LIfReMPo5r1Sf/lE9uwAEdV2cJnO+lknyEHYLsPM2E7zpouCoOx+Nw7QbVJF5HIk + DpD7KtXc6Vpmo4vg2MrcKVWoB3y6kDOp6Q9/NwkCgYEA1wFKb/NRhAQ6MBVKHgLG + 6dHQWZ0V6vJtnA6bPGy7vbMbsi1g6YlbXqyRdTJ14GFhrGcRA4+W7Q3VTh5MRYE4 + wmKFuLKi/YOnVYvFUdQrR/lCXUMGewjAsranjro2V/yFoptbdDym0XJ9gbfp/4Ck + dv/8TeXyJ2aPEUUnrxjuX8UCgYAB67y2IuLafuvluz0mVEIWrQxTcHXuiID91+2f + 4lGAYVSP4p5/fmGMMNwd3iJB4FYlxKjz5ieHKGIOpwV1JftrJsP9ZOcRrR8AeQn1 + LjnMeW59RX/DLx61aEjdH2HYiNMdb7RI+R12zcGTyX5/2oHiDzcXm6/MmV5makAM + WVovWQKBgBrsEkrHsYzAQDA5S3GySACu3VJvjY9bPKEOFO9pgv+PnONSHnu4uIQU + X+Dy3db9bwX0ZKDEyh7JctdCsBhMJQBN7Y/H5FeQf8+6q+jfsVJVCZa0VRvMTFue + /Xy1+j4aiPT8Rsd9dwvIFN/oG1DZ1cc6PpEBUJBkPPjGP0V3kRXm + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDD75aM4V6RqPmHWZECUBL3IWiM9Gm5rFI9i0mFxvFKx/aN/hfYmylsX + nU3Wmfx2iP+gBwYFK4EEACKhZANiAAQ8raOphZgVDlL+081CGLnqYOxTOSudkWMW + t03zFWDADN20iv1V7vdQF18uy+1WYzOup/axuvufEt8LDsmGQkDJ5tCG088Whr5O + ITxhy5tJITioHMgaO+8HnOdcPwWIW/Y= + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIETnuOuUJp5VD9n0cdcwp3osy0NpcxwXDxSmZaAE5NJZoAoGCCqGSM49 + AwEHoUQDQgAExf4HFJ4AHAFCKlgX8ApMZ/COmwsZzQPktEjra13vqKE9Yp4qlRl2 + s2l0g0YnYh/TW/IhADXSdATu7c26w9Jyfg== + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpAIBAAKCAQEAzU9kUQx1ybNW2uc77Rc0XrU5MuB5mlg04fLDHJMpQG4ITMdW + 9MN9isgGEIxddCf/bnrPu8gYAuG9pk3CGCIzSPRI5LfK6vrz3O/pa3ZSEJyeO8HN + 1tadOlzIrrrMzbrgnDnBRnSw0iOZhhpdtHiWKbfMD5pI0zVJd4GerLTu/R5sCZco + 62JOrITcEPfptsvMZ8UaTBlVsqx9Eh7VzFoqbVkT3ohdEhx3CjfxfwfLMlKbFHKR + nj96FS7v1x4/Wq825aJVY9/p53tjfGOiQcWG1h+RJNZm0xFpmhZ01vQkk8F8/ioP + U3us7VnXcifCw55cCBiDYEcEeKKN6gsUffJNFQIDAQABAoIBABovwSTRSQjD9hUP + n0YbSpO126jQltIH5B7Znuc7IezU2/wnBMFNWerknlln/dd97oeB5JMX73AWqODY + VCRN4GqytcVuZ9RW09nfQ89wFQGHaGtIyd9YGk/CW9plew/WgSWL/EnnQlJbNg6z + uDX3l3eUuNNYo2dFCazTfJCct0rTZtvq9U1uwcYIjNBy9jH99qim6xBjPdszNnPe + KU6bBHoHDS0sbfS2qWWTmI2QKvmq02tvJq2/jnymTFBcgg7lo6zo/VlARL0W71Cp + OSW9B76MF5AzCgFELcXjlx8Movw2TWSrYfz0JMioovzqB9D0q9xxtNZMABVzsEmP + 8x6iW5UCgYEA+BkHAednVrLKF4ZCh4S0rE0gopJqxHM8qKGAZvSHisf1bbCIbV4m + L2C5vRkODilgRBgKu18TrG0HkBAoq052KAaTGUrajGGGqohWdOSJqxZRZfdkYWwM + W5bjYor2qEiODEdT0krXC0wgjzx+2SFs1XVXVZPZyp+BBDoWUo6awVcCgYEA09l6 + GF1QSRQmTJTCt3V+GYAt9HwlQ9fb05xNi5O7YE+PWIGPA/kI3cgmRj+MgsJkJGJm + +dY9h0XSRDl5YNwehMtBROkaf1Ky1ZHw4ov+aJQ64uwxu0dojmyCk02e6ZIfBmnR + 9hgqkMLWfpV8qrK/PHx47KCDsYzRnOHG3AKXRXMCgYBJs72mLiU/1zs8A9GNyrmV + mhAA27hGBenWOqwXabs+Wiqp3FCbFOYJGxXyfBf10wrbD71YbmU8yuL9RB+gzF1D + hLh8QgVswKgtzvTIIwBWx/mEbhru6hc9ujRwmNGvqmYwdZwME9mQbJwbkSApxsk7 + HHHGZXbEv9+m7s6k1eJZXwKBgQCtgI2YasQYNeJwEd2vNxDBfdMlSo+SkrU9B+QS + jjmF1WMHD4S7sjfqu8NtARro9J/jlJvVvfrCURK2QYQBKgXsqDKaZ3cGFArXEyF/ + yTvhFpVryBmq0f71tjTywz2E+eFi9UO6E2y5Bnl5TqC9hItO1HqNAaEZxsTdgaPG + CHEvtQKBgQC1uSXUFhXK5lVShqISvPj8KwVKw7G8sG8hSvzlId14Q/dKfgZm9Pn6 + njnlkBXKM7caS4j3pirAKN7U4Iz+UwP9Dj8ymoXTLqltP6cdEgTKhrRIpcimBQ3L + 5oQAapRli5qjbFo+L0XGSAhMCosgt2kt+iPqBZyNWCKtrMK2g32UqQ== + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEINKczzMfIwgoCEbFBpEyA92CUqXJY0BmfrBxTjVp8FTzoAoGCCqGSM49 + AwEHoUQDQgAEpDhh4BRnRzzdh0qwgmR28Ajj5k0ctDtlTIXx71ZPJd3aqUWPOzyz + 7aPERbPI/m1dTMt56+xE5Luab8JTDbc4zA== + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIG9GBcMIcWOeUOYRXXmEfmHzgm679yXT6rgAviszWmJjoAoGCCqGSM49 + AwEHoUQDQgAEa1ZXUkzXpBAgQGfjMpYX+7IJ0uwvRALdnh2S41AeKATgjTqKuqIP + nBAeZtxto9PtzwJAkReN4V95Gjd0/t0u0A== + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEINVFycQPU7JsOCkTBJVc1P9vmljWy/lmTmDNXG0q4aPRoAoGCCqGSM49 + AwEHoUQDQgAELMAaRVIK2hyzZUJy/Rhosn6lVNMrHxpnCaWep+sJrFIQOJEjSmOA + bzT7TCWT8HqsSKEUetMceObClDUoSmevMQ== + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDCPtVIc9RJHLX377mizRDfdHaWzt8pruFA5TYEgzweioxRsRJN4Pa5r + n8wBgZ5GdR+gBwYFK4EEACKhZANiAATZSR7RyKq0FOWl4AHkg2Iu10vYyk/Zw3MP + cfU/rGfBiXwOsDUhaSncmGcHX2HUho0zFCe4MKUBHyYPE6vyOeSqR/9Jks+DXET0 + 9T12G2hra2W0bBR2Kgvw/xmTSyq3fQ0= + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDC8qGw5OY0tzolls5iO52pAwvIgRbRH5SmWgjbL9SulLF6JdP+d+RcE + j+vBDgRmjUCgBwYFK4EEACKhZANiAATLDeygsKUMFNmESNr6WP41V92ZmuCR1oxg + 6pH/FRu9B8rA1Yf1tbUhoekUlE+NUYdpJ1EOKRgiQe/xyiw3anves1HsMpfE/EIZ + L34laMbgevxqUWhUQX4ba042CyXzopM= + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEA1XbjbFaU7hRBpZIeew7tj9hdRZ+u0s2KlB+oqrlw1wQG1D3E + PVy+ADSk3ozBcAOcJIGZQjG0xVcjRiA8EEFunPTYMUZCqwOGJqMw5/ZocJ9HfgK9 + 0lOT0hFg/Zk5DpfZsZADT+qBcb8DxR383jdeeV6LCo7Ks4cR9ruvQ4mEAoxH7Ej4 + zTLi9aBcefvZ4Zgp1soT4c6VSHy2LeN8n86wOJDWZUQsbtqeUeTu7j0eFbJJHDaZ + wRTwQ4ihWHbCA8NuSYga0H6V0MF5P5oJDubxTkb7pRzH+bkXRCn3OLqdAABTaeZe + StfpxsLC97x19NGxsOhxotBpf0FPwmzuP1He3QIDAQABAoIBACwZQoRoIp5ImwM8 + e4WKoPM9jI9MnM453i4ZmDuk0bXpxAtmszrGBQ5/0auUQoYEiOZVy7aMFD9McCIV + mLL3AYX1YxBS5oTz1mv2/Kx/EDZsAVX79QEVeQ1Fv9bEJ7BnGHcBPF3vIUzBXGMF + fe7eW2sRaAIHW8LY3ZIuVdfK+fWYapaS3Kaasfpvg6ZPurjYcbZr2GbBzaTCWtF2 + EZagKEfxjvLOhdyFPscVqj+GKI5rBncyz6IrV2qg21i00xU63KPGtl3Nt8nrcQeH + Y0e16wFRe37ai7eO5QHYX+XsevueQWW3yTUpvpYs+VwfxwsVPlRraKihxVKPLYZl + pGpXyOECgYEA+me4cHBc+HZiuCySQkmPj0CD3RDRcGfIaqlRftTclfvKHudenexq + Zfj3CnPK70uxPNQtwnckbIjvR71zBaigd2pZlRvQeWIzVaE5tCZmHa2vZ1NAsLHP + KiUfqiNfeBiGtVMZuLZRALyhAYNEoU+JBuJll7/OxRGlDaK1w12MHTUCgYEA2jvf + Vp/4+t6Ctlz3hHxPk0DMS+gcIJMuHEnOKCJh90r6vFNOZApjJhg3cIw2UURZVU0Y + w9Ufz+lCd3hVXfbsZbgl9EDKELcthLuBk34yYZ/dR26eWCwgOGZ3/kSQIIjVll/9 + eDN9hIFlIodMVpr0WN1Du82EtzxYPk/8PkNkeAkCgYAtroZjXNxZJ5/S4a69ERZz + l912kv7idsyFSOZpMQQdCJZTFPqZ7OtsNwM6kO1QwopPApZmh73JXyHoAJPfUGgV + 4Pz+ytg5jMS4tnUEfIzclTcOro16rrWQhr1EGLft/Ot2YPasT/ZvH/pvgDchBpWF + AABwsrlSEmn+FtT6EzLgkQKBgQC99MGJMEPTcd0LCU71hhLp1Mw/AjGBdTr8qo2E + x7DIRP6M8GJal+QHo6qWD6W0BS9RHYOB6j//hEUzoo2D9ct9GtYGjmKUPC2lzGSU + UpNeAH3mkHXJv9bn4OFvdJSTjSeE9da2SvNlZA/5BxW+iLBJrYcosFJmAGO7EXo5 + ZAXOqQKBgB4lTiS7UetOkzDeW+AxHv4aHAQYiXZkS15w5Ks6UrNgXxwcYy/GqHlD + kA6r/9QyKvFKQF2rtW+R4fb0OcmnTHpRZSw3SkAeoqTIrlNrqvYdkB2/4hci/jBe + 3/+KXfw1s4vwBexiQ8K7xg+uDHG73nCOw2dW9SifKyzABGvJrP6b + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIN/nf4mUU2eK05XB6r4YRTxmvdIkwMyiAtjhE77BP/2woAoGCCqGSM49 + AwEHoUQDQgAERwa2VHjuFopJ3V5yI4jklmKGz9NQFQ/+CGGoDjPbPoEfqWek7bUD + MkCkRSay6H/lRvJMMdxrszF+rm/oCb5v4g== + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIJuDRJzSsM3EJSbP1QRQtnJY1Yc7PIhbWCVUIXjNw6dcoAoGCCqGSM49 + AwEHoUQDQgAEc5KLPZ4kdcjuETtI7fz0vqa/1mcn3c+RrAotWcsrsLydZk+FDlgM + vRBeC9p1HEPFXfZtpqBwvN62MZ8zwg4yzA== + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEogIBAAKCAQEAs9imooHMr1U0//3cjwgLRjN3Y2GqluGLDjPqmsIKVAgHWCvH + x5rDjeevxVxSvBP+OC6sD5vsdC/XqvX0mk0q9ha+PrF6F5Z0To76i11tgXCAIe9V + ps5OHMZwS1jM0t80PhYbC9DOUv6m2j2hDaoIaTF0pGdnzcL2u3NPCTDI7KxMmNzb + stkLpnKSbqwMmFYpZzl5HXm81nuiYBewLpHuIZSqbMTSzwBZBItSpHL4/xR0R92Q + OWi4x6G3YKyBOxuiHbuIcuX1YM5HwLm5uu2IFKg64DlY3gStILIdwUr3crCKXiD/ + HK7NWD0Ejz1ziBAMsQNE73uc0XQu/u2LrJFVfQIDAQABAoIBADGEKPz9N9neX+VL + g/ptgI0nhmt6bHl2R871RFavriBMxZjlFPBEECt16tMwBCd8abYWQ5FYoNWshniv + l1UUgguXX3Hrc24jIoqumxTb+FZ3HxA40SBIFQGfMTPNkzdL9RpTA8dRCj2Xl2Dn + LvyQIBi2YSMSxWXFlCEwMkaZg/iFUZhFuOMz7xSAaGDpOP5Y9ZtDvNz67zEqMXL9 + 84Cn/sfvSi8Y+s/gjYphdGz1KYjiY2obiKSAV14ySkhZZHGIVRD4XzP4VZtJOWXQ + bK/WeaZL4cGHT0urxdChMK/ydUNYaRfSTtglvhyJYJ7LWIQLyjp6bTIOovBgS3/P + A8VsJYECgYEA4Onohppu3zyW80fW0W5jlNnFAD+OEiPlVof3dQqhX7EQzWYoLvpL + U8IzP06VAYDRc7D/KEzOCELscrW6hWB8mkp2zZ9kVSY2sVTG9vug4UfQAahL35mO + f/v2wcz3OPW+K/ayZGwJVfinNbWN4TNi/ZzuUZZ9QQ/jHopI0J+gB9UCgYEAzLQg + 3WVpvmzt/wpvZPAl8JkgXdf29ScEzvogtNUe7eTv4rlF9JL/2pkhGf9p/aZim5+u + EpJNABpVsbRBw2cfpXVwpubr5Ya18HDqnCdHEaZYpf0QBdogAi2K0bHigqXXAkuT + gsNsHdiVc3rp3SLYU7bGeD/pkt/h0lAPilpLUwkCgYBsGoGVEO1xhyHW1RS/nRto + FDPIJsQWnAJDUR7ztqRR5j15PDzcN5m1LIaNSyv7iPsjbFN3/1KYTfJwQEDikrnR + PzFTK+WBt9hZ67GmTNPK9EVaRpYRZzFC+sxj4iyByDwbzXt5ISRrmhRkkFsdfyF5 + XNB/jqGtgAFeUIEnJVI58QKBgHO//z1xlOOqsMEgY3DOIoXz8EtgTTK+h4eKBGh8 + gmq+o66uWRI89RPktsT+mi5loSiimEnEFGpUedRsOyuE6m4jBDo8JXO6QrLdBqyZ + wSQHzeS+PgsxFhxlKDP+xDhgEj4oAhdU7ZPK3mdYP1ld1LkxhvSEH01/7y9/Oepf + uGwRAoGALFAZkhrseCt49KM9yDQt81oU6N7+lErHxeSFMVsOFdcHbCMOYlEF2Wdz + aybFQybHxl8FZLQ9nkzWStawDcX1+gtVuBAJH/Y4ghAY9fihyfyggfD9FZ8r22N4 + hHe9e9rM7Nb62pSrirL1Cg1V44U96F41Qqaw+AlM8ppPzf3uKi4= + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIAS1k1i1RKZOBPUVGVNYfhnFcopOQ/smAKu2H4bKl5scoAoGCCqGSM49 + AwEHoUQDQgAEpBJ4b41L3mbGxB+rNM3nTynqnMdPlhgi0cAm68FdyIyWcOP6ugB0 + VNVy/ckvh43JSe28CTN1YdnK2m+oCPR+Qw== + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIPzNoHRfL2J6Gy5KCoKL3xxtROO0/LrwS726vIcfWQKEoAoGCCqGSM49 + AwEHoUQDQgAEJc0ELnmWJ/jsB8r0SSyJVzkhAPYbniOcbTriW/hzeZNvT+WD/lgS + syIqqsWuI6ewnpFsDPgIrnU+pqHmk3f1Vg== + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIPsWVdAAwH8QVANjPNO3E/8zw0afNCjNTO6Ibt0YmHdVoAoGCCqGSM49 + AwEHoUQDQgAE9YjQPHB4Xafb1mU+qi81rAHzqsUYQRPHrJynK0GKdtPCIA/HHzoy + 0GPGQj+ogpOvreNegU60hDRGE1OGYN+E6Q== + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpAIBAAKCAQEAs8UnTaWsS19hdhGElhIy1pJcHrepo/K1D7H+fpvPQtkgdngV + yKfihazYAlsAiDjsTDmPLz0JYb8CeFNEiFy5Og3htlJPPnHfMoPjVb6rOkIUbBFX + 8rdIPVJ82ltLRxjHWvZbdwif7hy6eOwwSY6evZKGhbacfrS9oyI+tjcq6AczcVhW + V71/RqCKiGvvd0UaDAA9qDI154Nl6vx/VUK99g3Cdse1fq9q3g3ZUc4Wb6Xxyd1h + Ca4zJHNDeUGOARPt3kZ6JFkDv2/NzsyYe26/cItDJ2tEBfZfr1cBezHomo7VMUJu + 5QoEveq13al57fJnISCK7S6kM7iVGHfvpgvNIwIDAQABAoIBAC2pF/CK8hY65cBd + drW/bZY+mpNaxwXTcdXIugFiheROzgYJPk83BTw6yKrgfmQbQTmjLREsiaOAJpp1 + W+Te2FU8jWYHxgTwW2azRRzUTx1/Bzzjstj9YKXiu7+ijJ5EVu5twJGdaTHLrjlk + lGc6iGtSOkTgOyObuMckvZT+sjE4peDMHgjTcX6vSCDqYWj+MHbafhgDOr1soA0F + MiLh0yBXQwY10GZCkTzxhe3UGj88XcuTItTsTi5Zqjne0sjTsTk1od8QC9NhJnkI + +DPweuw54jTPWYJzOA9KI/is7l5EM9ht2B/MCr/rbtfLB51j68/aPM5DUu+M9ZPy + hperGUECgYEA4jMzTU3V9t7IwwNwafPAgkDqVFSRC58CNl36TDh1vBTeM+p45qfv + wgGvZmDV45Zloe2h68oChJwpIE3kNEgcs64qY43+cDEQNOAdC4/OxnaziDn/HL1A + bmbnD5QbtwGL9ClDmvwmcnjLhCG6hFZgfQ5g779KjbAJcemWUAGzbFMCgYEAy3QQ + UoFgh8nbbVVkTzw6CyarKoayzwtl4W47NRxPLPggGGIoAzgFlKEl1zEpSZbN4DWK + IY4OPp/KizNYewn5r+qNalS/eu1+S9mAgJKJ77zWP0Tf7BPjRazryd+w3EGWfFHC + Gko0hLTNRgvgNFzr3QkHM3SCeVOsGxRtgNmfgfECgYEAmp+DPyGo1EOAGwZ7zoFo + I+G6DQFt0PLV8VIWagniOTpOllB+arV7iDPcsXAaZaOGP8WP/P0u8XVKC6ITD8YH + kK/KnBkRR6HSQUK9uAyKvVGg8csrX3ri01UWN6j3tQaio7mdVBFvOqrl+6GOvS3K + cVHl45zwmqAuJKcXMAOpoa8CgYBmcgLmCI960IHVA/KGk2UGyGnX+AuBhdO/N6pI + jACyPB6tKH/NXyAwPxS2zuJjU7RG+a6cRtOVZRCwFyKukc9QbWLX7+SbGYtG1jaG + h0M9nHClWyEF1t3R78iq1iBQSBZmcySx6DuZtxDF/KTguQlrO2iM2FX6kc9Ps3GQ + OATBgQKBgQDPg+aUJxxZJ3kOubfMJT4fuB1U1F0ozxKYW+PHFatxnY9Irq7YE6vv + 6M5fM5/z3ojbqsgz1svKVLBEcrznkEuOOEECUDr+XySDfolOuZdAr0MnMN/wsD2w + clV+LJo3709XJLdH/pv4jAXxGw1RZq/8yronhvHY8C1Fi5TrbFd7WA== + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDDGu0TEOm2hwriKqEvOilsId7aOaU1jt1w1NbhSZZLDGooEWtbQ9gZP + 8vnjZIAZ3Q2gBwYFK4EEACKhZANiAARorMg2AT1MwKo8XFm2oN5REOlohJuyr81p + +6Q6ntZZ035hT8dXJsnCS4fn6WwiyccivAW/qpTT07oU5p32Yj46hvm8GSwdgmHE + 3gdC8cNSRaba1GbCpS52Ybx7suSeJqI= + -----END EC PRIVATE KEY----- +- | + -----BEGIN RSA PRIVATE KEY----- + MIIEpAIBAAKCAQEAqnfhYzboN6P+B3DgQE8JUshnrwrpG5Hv4gxRmd2iSsPIIe7s + mhCI/yYom8jTJiD1oeIFJMPIt/brpdk/LhlbIUE4//7kKb0+ZpERgNvG5/4gOZmt + otmJCDkNIa8y5yxAsofUf3I+5hxmsqaoNdUc6BCPRLuNB4Nj648+lT+qXJZc+SID + 5fQY1+bhD0OMJp2r1K5bx8sHV7b0do1srhP8IbYdd1Jt/njFfJqqijMZQebl9/E4 + QeXAIkgEssp2GWc0V3AOW5L6patwf41XEFr36aUOIYVTH4d3nurKvJ3COvirj0C6 + mXl4WcuFtZxhvfDy2RubSQkdIXd6/F6TQnQwuwIDAQABAoIBADqlobozgrLZzaSb + tdsKFggQAHPdShN9Is1fNZe9A3+7WZgrDeV3ONqnMyNddR9SCY/XJbPfU6fO4IWf + dzgR6yNGwCh6dd7SR6ybzizJ7+WSrV2DvJQhSR62GglzsAyOUffZ+UabdH5QWRiv + c4GJvzcrs06PQ9bI4lCBaKOKUr8lP9busMxF+z4FAa/Cy1vI43rZJ+l1MsO+rTuL + lDk0aKMQJa5UQcu1Hg4D8vsyIa9IhgR9SYadGmWmObnsHiW8wVeB7b4PGekP4ywH + GA1nIZZpA3V5HhyrBb9DIZAq799qteYOG/FyrF7DIsokxe2j63qZyFLeFo3NGBPx + n/JdptkCgYEA4O+SkacynV7ToF77oHLZmj4qyMYOUGLMUH+Tiuh24lTeBQysLfMF + k6efgJ4liZBGvK4lxB2/IUpRQo52z/rqjH+XkPJ8h7VwzBbo8QjgQIvbHfiPjS+Z + 9+wQnPrQHyXhK6wJO4Ho2U3SFeuIjMiC7+pOBhuBC3zHLvrgwn8KKQ0CgYEAwgKm + qxtPmGFgX3Ai6p3zsivheZy1HcSzxD3oNM5/KXO6gnVHC4KISCcMV61jfX0ToO/s + hDslpNdjnejPf4olsalTM6Sv2qIXvLgBCRFgxbkdMu1+BtEWrN+LEM0BCVJaB+C4 + A1ljhmdM+T0K08jYFGmDyD201Uw4yRID1w24PucCgYEAyfGMb0PixzKZYMOluTkj + b70cgECAHV91+1duSSnHgg+bfIESG/axLQ0ywDA7lzN2rnLS6S2jqOml5tEsjjDB + Xv42PyXU86nL6Q8wdyX23zwwrsm3Z5Qy8Uh46dar/yrs6156s3hAasfZM2DQqURj + ea2r+wO6aWvPD7ihDT0tDAkCgYAEEIQnX4oaWifnt/SzT53UZMDziEnvFrjhap6b + xJu7ZZZJt2VGo3Rxdof2qkZEUcOAgqZE2uxd+Lk4jLEULfO+NhrtIQ0iGnU+2egD + pZ6OZeNrtrgGMok0E/bY4kKcTGJged/BCjVgknd1XUcFytZkDxXYsxo/wboK1FrK + PZpXjwKBgQCIuH4M3E1THAMXBiBh1BEdV2IY7xq7S8dbBZ6wmPmQas1JCMGIdecn + 6xIp8Gq1Kbmc9rkxUS0wjOKFUUFyKf5qFxcBKnpe1KEvxMM3w7BTkb90gkiBRQCX + UT1A1/vMibB/Enu9VuOrnBwF5b4uUX0n/3+J3ldaqUgLYT+CmSVkTA== + -----END RSA PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIFVQsMIGQt5UF3MW+qgMSEnpjnFEbhRoIL1hlQLxBY0boAoGCCqGSM49 + AwEHoUQDQgAEq4EgohKMS8jhdab1CC5fbgebpImxfb7CLNoqPtbeY/VwaIOd8f6v + 9J+E98Riv+PeByFdQJI+cSsf3l+XTpT4xw== + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDAxE3km0eI/hTGeJ4nWV4pEdpXHmKw2lnJgHsH4zRUolHS2sbsCrdt9 + BTjAhQ3cQ3igBwYFK4EEACKhZANiAAQmbyhxSlDSB7g4NUWKI1nzu2HaYIZBi0RK + Yxx9KNFCaFqsagCDZjv7rLiqdoQXL5uIu485iAjVFQprzixMvJSSSgLiCSDEKw3S + o++LStyRqE9hWF+bYG32I5S4aTOvXaE= + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIFUpz+nJGqSD28yf7Q7O7t/RszqNCuG/dOr4JfBQubHQoAoGCCqGSM49 + AwEHoUQDQgAEcSkw8jUwVEC3K2PMHa1R/WYmAjamJq0MvYYZPSZHdmU6yAKFuWOA + 46pPYITI/uJmQ0xrsjcQHLt7xZqrcJ/HPA== + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MIGkAgEBBDAQjdUn0ar0MsdMoAP6bOIhFyAhVOmcYp3pCRxbOPmkGEwCCLcd8R3Y + i2hZNtz2yQmgBwYFK4EEACKhZANiAASpgrScpAZcwUdr7vbA330WvtcpbEJiDP85 + jDsYGJkZOi00JVTDiCQ1of0sO/I6hVZA9ZpSUePpUC7MVpsi/uLsm9+kA0JW06CP + qIu99Gmbb3QiAPb8dkSWpL583JLsK2Y= + -----END EC PRIVATE KEY----- +- | + -----BEGIN EC PRIVATE KEY----- + MHcCAQEEIJZ8hqhcnCQbMCdNLsIyT2DeIjmbAeXcGld69NqzkTRIoAoGCCqGSM49 + AwEHoUQDQgAEKKZ2xYZ1Z7WrmksWeeCERIyLilzq5qA5+qi+C60OWvRZhNgrY2qw + VRuS5fX1FrF5tUfMy12IIfmNOKefHKiDwg== + -----END EC PRIVATE KEY----- diff -Nru ruby-acme-client-2.0.5/spec/http01_spec.rb ruby-acme-client-2.0.6/spec/http01_spec.rb --- ruby-acme-client-2.0.5/spec/http01_spec.rb 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/http01_spec.rb 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +require 'spec_helper' + +describe Acme::Client::Resources::Challenges::HTTP01 do + let(:private_key) { generate_private_key } + let(:client) do + Acme::Client.new(private_key: private_key, directory: DIRECTORY_URL) + end + let(:attributes) do + { status: 'pending', url: 'https://example.com/foo/bar', token: 'example_token' } + end + let(:http01) do + Acme::Client::Resources::Challenges::HTTP01.new(client, **attributes) + end + + context 'file_content' do + it 'match the key_authorization' do + expect(http01.file_content).to eq(http01.key_authorization) + end + end + + context 'filename' do + it 'returns the filename path for the http challenge' do + expect(http01.filename).to eq('.well-known/acme-challenge/example_token') + end + end +end diff -Nru ruby-acme-client-2.0.5/spec/jwk_spec.rb ruby-acme-client-2.0.6/spec/jwk_spec.rb --- ruby-acme-client-2.0.5/spec/jwk_spec.rb 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/jwk_spec.rb 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,109 @@ +require 'spec_helper' + +describe Acme::Client::JWK do + let(:private_key) { generate_key(key_class) } + + subject { described_class.new(private_key) } + + describe described_class::RSA do + let(:key_class) { OpenSSL::PKey::RSA } + + describe '#to_json' do + it 'returns a String' do + expect(subject.to_json).to be_a(String) + end + end + + describe '#to_h' do + it 'returns a Hash' do + expect(subject.to_h).to be_a(Hash) + end + end + + describe '#sign' do + let(:message) { 'hello, world' } + + it 'returns a String' do + expect(subject.sign(message)).to be_a(String) + end + end + + describe '#jwa_alg' do + it 'returns a String' do + expect(subject.jwa_alg).to be_a(String) + end + end + + describe '#jwt' do + it 'generates a valid JWT' do + jws_s = subject.jws(header: { 'a-header' => 'header-value' }, payload: { 'some' => 'data' }) + jws = JSON.parse(jws_s) + header = JSON.parse(Base64.decode64(jws['protected'])) + payload = JSON.parse(Base64.decode64(jws['payload'])) + + expect(header).to include('a-header' => 'header-value') + expect(header['typ']).to eq('JWT') + expect(header['alg']).to eq('RS256') + expect(header['jwk']['kty']).to eq('RSA') + expect(payload).to include('some' => 'data') + end + end + end + + describe described_class::ECDSA do + let(:key_class) { OpenSSL::PKey::EC } + + describe '#to_json' do + it 'returns a String' do + expect(subject.to_json).to be_a(String) + end + end + + describe '#to_h' do + it 'returns a Hash' do + expect(subject.to_h).to be_a(Hash) + end + end + + describe '#sign' do + let(:message) { 'hello, world' } + + it 'returns a String' do + expect(subject.sign(message)).to be_a(String) + end + + it 'is not ASN.1 encoded' do + expect { + OpenSSL::ASN1.decode(subject.sign(message)) + }.to raise_error(OpenSSL::ASN1::ASN1Error) + end + end + + describe '#jwa_alg' do + it 'returns a String' do + expect(subject.jwa_alg).to be_a(String) + end + end + + describe '#jwt' do + it 'generates a valid JWT' do + jws_s = subject.jws(header: { 'a-header' => 'header-value' }, payload: { 'some' => 'data' }) + jws = JSON.parse(jws_s) + header = JSON.parse(Base64.decode64(jws['protected'])) + payload = JSON.parse(Base64.decode64(jws['payload'])) + + expect(header).to include('a-header' => 'header-value') + expect(header['typ']).to eq('JWT') + expect(%w(ES256 ES384 ES512)).to include(header['alg']) + expect(header['jwk']['kty']).to eq('EC') + expect(payload).to include('some' => 'data') + end + end + end + + def generate_key(klass) + while k = generate_private_key + return k if k.is_a?(klass) + end + end +end diff -Nru ruby-acme-client-2.0.5/spec/order_spec.rb ruby-acme-client-2.0.6/spec/order_spec.rb --- ruby-acme-client-2.0.5/spec/order_spec.rb 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/order_spec.rb 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,81 @@ +require 'spec_helper' + +describe Acme::Client::Resources::Order do + let(:private_key) { generate_private_key } + let(:unregistered_client) do + client = Acme::Client.new(private_key: private_key, directory: DIRECTORY_URL) + client.new_account(contact: 'mailto:info@example.com', terms_of_service_agreed: true) + client + end + + let(:client) do + client = Acme::Client.new(private_key: private_key, directory: DIRECTORY_URL) + client.new_account(contact: 'mailto:info@example.com', terms_of_service_agreed: true) + client + end + + let(:order) do + client.new_order(identifiers: [{ type: 'dns', value: 'example.com' }]) + end + + context 'status' do + it 'send the agreement for the terms', vcr: { cassette_name: 'order_status' } do + expect(order.status).to eq('pending') + end + end + + context 'finalize' do + let(:authorization) { order.authorizations.first } + let(:challenge) { authorization.http01 } + + it 'call client finalize failure', vcr: { cassette_name: 'order_finalize_fail' } do + csr = Acme::Client::CertificateRequest.new(names: %w[example.com]) + expect { order.finalize(csr: csr) }.to raise_error(Acme::Client::Error::Unauthorized) + end + + it 'call client finalize sucess', vcr: { cassette_name: 'order_finalize_sucess' } do + serve_once(challenge.file_content) do + challenge.request_validation + end + + csr = Acme::Client::CertificateRequest.new(names: %w[example.com]) + expect { order.finalize(csr: csr) }.not_to raise_error + end + end + + context 'certificate' do + let(:authorization) { order.authorizations.first } + let(:challenge) { authorization.http01 } + + it 'call client certificate sucess', vcr: { cassette_name: 'order_certificate_download_sucess' } do + serve_once(challenge.file_content) do + challenge.request_validation + end + + csr = Acme::Client::CertificateRequest.new(names: %w[example.com]) + order.finalize(csr: csr) + order.reload + certificate = order.certificate + + expect { OpenSSL::X509::Certificate.new(certificate) }.not_to raise_error + end + + it 'call client certificate fail', vcr: { cassette_name: 'order_certificate_download_fail' } do + expect { order.certificate }.to raise_error(Acme::Client::Error::CertificateNotReady) + end + end + + context 'reload' do + it 'reload a update attributes', vcr: { cassette_name: 'order_reload' } do + expect { order.reload }.not_to raise_error + expect(order.url).not_to be_nil + end + end + + context 'authorizations' do + it 'load authorizations', vcr: { cassette_name: 'order_authorizations' } do + authorizations = order.authorizations + expect(authorizations).to all(be_a(Acme::Client::Resources::Authorization)) + end + end +end diff -Nru ruby-acme-client-2.0.5/spec/self_sign_certificate_spec.rb ruby-acme-client-2.0.6/spec/self_sign_certificate_spec.rb --- ruby-acme-client-2.0.5/spec/self_sign_certificate_spec.rb 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/self_sign_certificate_spec.rb 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,28 @@ +require 'spec_helper' + +describe Acme::Client::SelfSignCertificate do + it 'generate a self sign certificate' do + self_sign_certificate = Acme::Client::SelfSignCertificate.new(subject_alt_names: ['test.example.org']) + expect(self_sign_certificate.certificate).to be_a(OpenSSL::X509::Certificate) + expect(self_sign_certificate.private_key).to be_a(OpenSSL::PKey::RSA) + end + + it 'generate a self sign certificate from a provided private key' do + private_key = generate_private_key + self_sign_certificate = Acme::Client::SelfSignCertificate.new(private_key: private_key, subject_alt_names: ['test.example.org']) + expect(self_sign_certificate.certificate).to be_a(OpenSSL::X509::Certificate) + expect(self_sign_certificate.private_key).to be(private_key) + end + + it 'sets the certificates version' do + private_key = generate_private_key + self_sign_certificate = Acme::Client::SelfSignCertificate.new(private_key: private_key, subject_alt_names: ['test.example.org']) + expect(self_sign_certificate.certificate.version).to eql(2) + end + + it 'sets the certificates serial number' do + private_key = generate_private_key + self_sign_certificate = Acme::Client::SelfSignCertificate.new(private_key: private_key, subject_alt_names: ['test.example.org']) + expect(self_sign_certificate.certificate.serial.to_i).to eql(1) + end +end diff -Nru ruby-acme-client-2.0.5/spec/spec_helper.rb ruby-acme-client-2.0.6/spec/spec_helper.rb --- ruby-acme-client-2.0.5/spec/spec_helper.rb 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/spec_helper.rb 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,46 @@ +$LOAD_PATH.unshift File.join(__dir__, '../lib') +$LOAD_PATH.unshift File.join(__dir__, 'support') + +require 'openssl' + +DIRECTORY_URL = ENV['ACME_DIRECTORY_URL'] || 'https://127.0.0.1/directory' +OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE + +require 'acme/client' + +require 'rspec' +require 'vcr' +require 'webmock/rspec' + +require 'asn1_helper' +require 'http_helper' +require 'retry_helper' +require 'ssl_helper' +require 'tls_helper' +require 'profile_helper' if ENV['RUBY_PROF'] + +# pebble use self-signed certificate +OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE + +RSpec.configure do |c| + c.include Asn1Helper + c.include HttpHelper + c.include TlsHelper + c.include RetryHelper + c.include SSLHelper +end + +VCR.configure do |c| + c.cassette_library_dir = 'spec/cassettes' + c.configure_rspec_metadata! + c.hook_into :webmock + c.ignore_localhost = false + c.default_cassette_options = { record: :once, match_requests_on: [:method, :path, :query] } + c.allow_http_connections_when_no_cassette = false + c.filter_sensitive_data('') do + DIRECTORY_URL + end + c.filter_sensitive_data('') do + DIRECTORY_URL.gsub(%r[\/[^\/]+$], '') + end +end diff -Nru ruby-acme-client-2.0.5/spec/support/asn1_helper.rb ruby-acme-client-2.0.6/spec/support/asn1_helper.rb --- ruby-acme-client-2.0.5/spec/support/asn1_helper.rb 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/support/asn1_helper.rb 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,9 @@ +module Asn1Helper + def asn1_dig(attribute) + if OpenSSL::VERSION < '2.0.0' + attribute.value.first.first.value + else + attribute.value.value.first.value.first.value + end + end +end diff -Nru ruby-acme-client-2.0.5/spec/support/http_helper.rb ruby-acme-client-2.0.6/spec/support/http_helper.rb --- ruby-acme-client-2.0.5/spec/support/http_helper.rb 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/support/http_helper.rb 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,25 @@ +require 'webrick' + +module HttpHelper + def serve_once(body) + return yield unless VCR.real_http_connections_allowed? + + dev_null = WEBrick::BasicLog.new(StringIO.new) + server = WEBrick::HTTPServer.new(Port: 5002, Logger: dev_null, AccessLog: dev_null) + + begin + thread = Thread.new do + server.mount_proc('/') do |_, response| + response.body = body + end + server.start + end + + yield + sleep(1) + ensure + server.shutdown + thread.join(5) + end + end +end diff -Nru ruby-acme-client-2.0.5/spec/support/profile_helper.rb ruby-acme-client-2.0.6/spec/support/profile_helper.rb --- ruby-acme-client-2.0.5/spec/support/profile_helper.rb 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/support/profile_helper.rb 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,13 @@ +require 'ruby-prof' + +RSpec.configure do |c| + c.before(:suite) do + RubyProf.start + end + + c.after(:suite) do + result = RubyProf.stop + printer = RubyProf::FlatPrinter.new(result) + printer.print(STDOUT) + end +end diff -Nru ruby-acme-client-2.0.5/spec/support/retry_helper.rb ruby-acme-client-2.0.6/spec/support/retry_helper.rb --- ruby-acme-client-2.0.5/spec/support/retry_helper.rb 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/support/retry_helper.rb 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,10 @@ +module RetryHelper + def retry_until(condition:, retry_count: 3, wait: 0.25) + count = 0 + until condition.call + yield + raise 'timed out' if count > retry_count + count = + 1 + end + end +end diff -Nru ruby-acme-client-2.0.5/spec/support/ssl_helper.rb ruby-acme-client-2.0.6/spec/support/ssl_helper.rb --- ruby-acme-client-2.0.5/spec/support/ssl_helper.rb 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/support/ssl_helper.rb 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,119 @@ +require 'yaml' + +module SSLHelper + class KeyStash + KEYSTASH_PATH = File.join(__dir__, '../fixtures/keystash.yml') + + def initialize + @keystash = load + @iter = @keystash.each + end + + def next + @iter.next + rescue StopIteration + @keystash << generate_key + save + @keystash.last + end + + def generate_key + case (rand * 4).to_i + when 0 + OpenSSL::PKey::RSA.new(2048) + when 1 + generate_ecdsa_key('prime256v1') + when 2 + generate_ecdsa_key('secp384r1') + when 3 + OpenSSL::PKey::RSA.new(2048) + # TODO: ECDSA curve P-521 not allowed at the moment. + # generate_ecdsa_key('secp521r1') + end + end + + def generate_ecdsa_key(curve) + k = OpenSSL::PKey::EC.new(curve) + k.generate_key + Acme::Client::CertificateRequest::ECKeyPatch.new(k) + end + + private + + def load + if File.exist?(KEYSTASH_PATH) + YAML.load_file(KEYSTASH_PATH).shuffle.map do |pem| + begin + OpenSSL::PKey::RSA.new(pem) + rescue StandardError + Acme::Client::CertificateRequest::ECKeyPatch.new(pem) + end + end + else + [] + end + end + + def save + File.write(KEYSTASH_PATH, YAML.dump(@keystash.map(&:to_pem))) + end + end + + KEYSTASH = KeyStash.new + + def generate_private_key + KEYSTASH.next + end + + def generate_csr(common_name, private_key) + request = OpenSSL::X509::Request.new + request.subject = OpenSSL::X509::Name.new( + [ + [ + 'CN', + common_name, + OpenSSL::ASN1::UTF8STRING + ] + ] + ) + + Acme::Client::Util.set_public_key(request, private_key) + request.sign(private_key, OpenSSL::Digest::SHA256.new) + request + end + + # Verify a CSR's signature. + # + # csr - A OpenSSL::X509::Request instance. + # priv - An OpenSSL::PKey::EC or OpenSSL::PKey::RSA instance. + # + # Returns boolean. + def verify_csr(csr, priv) + case priv + when OpenSSL::PKey::EC + csr.verify(priv) + when OpenSSL::PKey::RSA + csr.verify(priv.public_key) + else + raise ArgumentError, 'priv must be EC or RSA' + end + end + + # Export a private key's public key in DER format. + # + # priv - An OpenSSL::PKey::EC or OpenSSL::PKey::RSA instance. + # + # Returns a String. + def public_key_to_der(priv) + case priv + when OpenSSL::PKey::EC + dup = OpenSSL::PKey::EC.new(priv.to_der) + dup.private_key = nil + dup.to_der + when OpenSSL::PKey::RSA + priv.public_key.to_der + else + raise ArgumentError, 'priv must be EC or RSA' + end + end +end diff -Nru ruby-acme-client-2.0.5/spec/support/tls_helper.rb ruby-acme-client-2.0.6/spec/support/tls_helper.rb --- ruby-acme-client-2.0.5/spec/support/tls_helper.rb 1970-01-01 00:00:00.000000000 +0000 +++ ruby-acme-client-2.0.6/spec/support/tls_helper.rb 2020-03-05 16:25:39.000000000 +0000 @@ -0,0 +1,27 @@ +require 'socket' + +module TlsHelper + def listen_tls(certificate, private_key) + return yield unless VCR.real_http_connections_allowed? + server = tls_server(certificate, private_key) + + begin + thread = Thread.new do + server.accept + end + + yield + ensure + server.close + thread.join(5) + end + end + + def tls_server(certificate, private_key) + server = TCPServer.new(5001) + ssl_context = OpenSSL::SSL::SSLContext.new + ssl_context.cert = certificate + ssl_context.key = private_key + OpenSSL::SSL::SSLServer.new(server, ssl_context) + end +end diff -Nru ruby-acme-client-2.0.5/.travis.yml ruby-acme-client-2.0.6/.travis.yml --- ruby-acme-client-2.0.5/.travis.yml 2020-02-24 19:06:19.000000000 +0000 +++ ruby-acme-client-2.0.6/.travis.yml 2020-03-05 16:25:39.000000000 +0000 @@ -3,6 +3,12 @@ rvm: - 2.1 - 2.2 - - 2.3.3 - - 2.4.0 - - 2.6.1 + - 2.3 + - 2.4 + - 2.5 + - 2.6 + - 2.7 + +before_install: + - gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true + - gem install bundler -v '< 2'