Repository: substrakt/letsencrypt-heroku Branch: master Commit: 1175ddea6148 Files: 44 Total size: 306.2 KB Directory structure: gitextract_u6xi85wh/ ├── .dockerignore ├── .gitignore ├── .travis.yml ├── Dockerfile ├── Gemfile ├── LICENCE.md ├── Procfile ├── README.md ├── Rakefile ├── app.json ├── app.rb ├── config/ │ └── puma.rb ├── config.ru ├── docker-compose.yml ├── lib/ │ ├── acme_client_registration.rb │ ├── certificate_generation.rb │ ├── certificate_generator.rb │ ├── challenge.rb │ ├── cloudflare_challenge.rb │ ├── logger.rb │ └── provisioners/ │ └── heroku.rb ├── test/ │ ├── acme_client_registration_test.rb │ ├── app_test.rb │ ├── certificate_generator_test.rb │ ├── cloudflare_challenge_test.rb │ ├── fixtures/ │ │ └── vcr_cassettes/ │ │ ├── acme-challenge-debug.yml │ │ ├── acme-new-authz.yml │ │ ├── acme-new-reg-debug.yml │ │ ├── acme-new-reg.yml │ │ ├── check-cloudflare-authentiation-failure.yml │ │ ├── check-cloudflare-authentiation-success.yml │ │ ├── check-heroku-authentication-failure.yml │ │ ├── check-heroku-authentication-succeed.yml │ │ ├── new-cert-provisioner-heroku-success.yml │ │ ├── new-cert-provisioner-heroku.yml │ │ ├── new-certificate-debug.yml │ │ ├── new-reg-debug-2.yml │ │ └── new-reg-debug-3.yml │ ├── logger_test.rb │ ├── provisioners/ │ │ └── heroku_test.rb │ └── test_helper.rb └── workers/ ├── base.rb ├── cloudflare_challenge_worker.rb └── worker.rb ================================================ FILE CONTENTS ================================================ ================================================ FILE: .dockerignore ================================================ .git/* ================================================ FILE: .gitignore ================================================ .env ================================================ FILE: .travis.yml ================================================ sudo: required services: - docker rvm: - 2.3.3 script: - cp .env.sample .env - docker-compose run --rm web rake ================================================ FILE: Dockerfile ================================================ FROM ruby:2.3 ENV APP_HOME /opt/letsencrypt-heroku RUN mkdir /opt/letsencrypt-heroku WORKDIR $APP_HOME ADD Gemfile* $APP_HOME/ ENV BUNDLE_GEMFILE=$APP_HOME/Gemfile \ BUNDLE_JOBS=2 \ BUNDLE_PATH=/bundle RUN bundle install ================================================ FILE: Gemfile ================================================ source 'https://rubygems.org' ruby '2.3.3' gem 'sinatra' gem 'json-jwt', '1.5.2' gem 'acme-client' gem 'cloudflare' gem 'puma' gem 'httparty' gem 'dotenv' gem 'sidekiq' gem 'redis' gem 'rake' gem 'minitest' gem 'rack-test' gem 'vcr' gem 'webmock' ================================================ FILE: LICENCE.md ================================================ The MIT License (MIT) Copyright (c) 2016 Substrakt Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: Procfile ================================================ web: bundle exec puma -C config/puma.rb worker: bundle exec sidekiq -q default -r ./workers/base.rb -c 2 ================================================ FILE: README.md ================================================ # letsencrypt-heroku # Deprecated: This project is no longer maintained. You should use [Automated Certificate Management](https://devcenter.heroku.com/articles/automated-certificate-management) from Heroku instead. --- [![Code Climate](https://codeclimate.com/github/substrakt/letsencrypt-heroku/badges/gpa.svg)](https://codeclimate.com/github/substrakt/letsencrypt-heroku) [![Build Status](https://travis-ci.org/substrakt/letsencrypt-heroku.svg?branch=master)](https://travis-ci.org/substrakt/letsencrypt-heroku) **This is the master branch. It contains all the latest changes and should not be used in production unless you know what you're doing.** While `master` is supposed to be in a usable state, it may (and probably will) contain breaking changes from the last release. **Current stable release is [3.1.1](https://github.com/substrakt/letsencrypt-heroku/releases/tag/3.1.1)** > Let's make *everything* secure. With the advent of free SSL and Heroku finally offering free SSL endpoints, it's about time we made it ridiculously easy to get an SSL cert for any Heroku application and keep it up to date. We wrote a blog post about it [here](https://substrakt.com/heroku-ssl-me-weve-come-a-long-way/) [![Substrakt Logo](http://birmingham-made-me.org/wp-content/uploads/2014/03/substrakt-logo-300x55.png)](https://substrakt.com/) Created by [Substrakt](https://substrakt.com). ## What it does 1. Provides an API to generate SSL certificates. 1. Generates SSL certificates using DNS records to validate ownership. ## Limitations 1. DNS must be managed by CloudFlare. ## Installation You can install letsencrypt-heroku either directly on to Heroku, use Docker Compose or download the code and deploy it yourself anywhere you can run a Rack app. First off, you'll need a Heroku auth token. 1. `heroku plugins:install heroku-cli-oauth` 1. `heroku authorizations:create -d "letsencrypt-heroku"` 1. Save the token from this. We'll use it later. ### Installation on Heroku 1. Deploy automatically to Heroku using this button: [![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy?template=https://github.com/substrakt/letsencrypt-heroku/tree/master) 1. Input all the required parameters as asked for by the Heroku setup wizard. This includes the heroku token from above. 1. This will set up the application and all dependencies automatically including a free instance of Heroku Redis. (Redis is used to process background jobs amongst other things.) 1. On the command line run `heroku config:get AUTH_TOKEN`. The response is the secret token. **Every request made to the API must have the query parameter `auth_token=TOKEN` added to it. You'll receive a 403 error if you forget to do this.** ### Run using Docker Compose This application comes with a `docker-compose.yml` file. Assuming you have Docker installed, you can run `docker-compose up` and you'll be up and running immediately. ### Installation elsewhere You can deploy this application anywhere you can run a Rack app. (Azure, Heroku, AWS, local, etc.) 1. Download the repo `git clone https://github.com/substrakt/letsencrypt-heroku.git` 1. Install Redis. (`brew install redis`) 1. Install foreman (`gem install foreman`) 1. Copy `.env.sample` to `.env` using `cp .env.sample .env`. The `.env` file is read when the application starts and should contain all of the required environment variables. One of these is the token generated earlier for Heroku. **DO NOT COMMIT THIS FILE TO SOURCE CONTROL** 1. Run the application locally using `foreman start`. 1. Deploy however you want to! ## Usage 1. Hit the following endpoint: ``` POST /certificate_request { "auth_token": "CHOSEN AUTH TOKEN", "domains": ["www.substrakt.com", "substrakt.com"], "zone": "CLOUDFLARE DOMAIN ZONE NAME (NOT ID)", "heroku_app_name": "NAME OF HEROKU APP", "cloudflare_api_key": "API KEY OF CLOUDFLARE ACCOUNT", "cloudflare_email": "CLOUDFLARE EMAIL ADDRESS", "heroku_oauth_token": "HEROKU OAUTH TOKEN" } ``` This will start the process in the background and output something like this: ``` { "status": "queued", "uuid": "a97fc5e2fce7bc60a96aa4c3e4907152", "url": "http://0.0.0.0/certificate_request/a97fc5e2fce7bc60a96aa4c3e4907152?auth_token=testtesttest" } ``` That API URL will give you updates as to the certificate generation process. You should poll this to check how it's going. Redis is used as a store for status updates as well as the backend for Resque. The output looks something like this: ``` {"status":"finished","message":"Generated certificate"} ``` **That's it.** ## Contributing Pull requests and issues are very much welcome at this early stage. ================================================ FILE: Rakefile ================================================ task :default => :test task :test do Dir.glob('./test/*_test.rb').each { |file| require file} end ================================================ FILE: app.json ================================================ { "name": "letsencrypt-heroku", "description": "Let's make all of Heroku secure.", "keywords": [ "ssl", "security" ], "website": "https://substrakt.com/", "repository": "https://github.com/substrakt/letsencrypt-heroku", "env": { "HEROKU_OAUTH_KEY": { "description": "A valid OAuth key to access your Heroku appications." }, "AUTH_TOKEN": { "description": "A random token to authenticate all requests to the API. Treat this like a password.", "generator": "secret" }, "CONTACT_EMAIL": { "description": "A contact email address for LetsEncrypt to inform of revokcations and expirations." } }, "formation": { "web": { "quantity": 1, "size": "Free" }, "worker": { "quantity": 1, "size": "Free" } }, "image": "heroku/ruby", "addons": [ { "plan": "heroku-redis:hobby-dev" } ], "buildpacks": [ { "url": "heroku/ruby" } ] } ================================================ FILE: app.rb ================================================ require 'sinatra' require 'dotenv' require 'sidekiq' Dotenv.load require_relative 'workers/cloudflare_challenge_worker' $redis = Redis.new(url: ENV['REDIS_URL']) before do request.body.rewind if request.body.size > 0 @request_payload = JSON.parse(request.body.read) end end post '/certificate_request' do content_type :json authenticate! if params_valid? status 200 token = SecureRandom.hex $redis.setex("status_#{token}", 3600, "queued") CloudflareChallengeWorker.perform_async(@request_payload["zone"], @request_payload["domains"], token, @request_payload["heroku_app_name"], false, { email: @request_payload['cloudflare_email'], api_key: @request_payload['cloudflare_api_key'] }, heroku: { oauth_key: @request_payload['heroku_oauth_token']}) { status: 'queued', uuid: token, url: "#{request.env['rack.url_scheme']}://#{request.env['HTTP_HOST']}/certificate_request/#{token}?auth_token=#{ENV['AUTH_TOKEN']}" }.to_json else status 422 end end get '/certificate_request/:token' do content_type :json authenticate! if $redis.exists("status_#{params["token"]}") status 200 return { status: $redis.get("status_#{params["token"]}"), message: $redis.get("latest_#{params["token"]}")}.to_json end status 404 { status: "#{params["token"]} not a valid token" }.to_json end private def params_valid? @request_payload["domains"].present? && @request_payload["heroku_app_name"].present? && @request_payload["zone"].present? end private def authenticate! unless (params["auth_token"] == ENV['AUTH_TOKEN']) || (@request_payload["auth_token"] == ENV['AUTH_TOKEN']) halt 403 end end ================================================ FILE: config/puma.rb ================================================ workers 2 threads_count = 5 threads threads_count, threads_count rackup DefaultRackup port ENV['PORT'] || 3000 environment ENV['RACK_ENV'] || 'development' ================================================ FILE: config.ru ================================================ require './app' run Sinatra::Application ================================================ FILE: docker-compose.yml ================================================ version: '2' services: redis: image: redis ports: - "6379:6379" sidekiq: build: . restart: always env_file: .env volumes: - .:/opt/letsencrypt-heroku command: 'bundle exec sidekiq -q default -r ./workers/base.rb -c 2' working_dir: /opt/letsencrypt-heroku web: depends_on: - redis build: . links: - redis restart: always env_file: .env volumes: - .:/opt/letsencrypt-heroku command: 'bundle exec puma -C config/puma.rb' working_dir: /opt/letsencrypt-heroku ports: - '4567:4567' environment: PORT: 4567 ================================================ FILE: lib/acme_client_registration.rb ================================================ require 'acme-client' class AcmeClientRegistration class NoEmailError < StandardError; end; DEBUG_ENDPOINT = "https://acme-staging.api.letsencrypt.org/" LIVE_ENDPOINT = "https://acme-v01.api.letsencrypt.org/" attr_reader :endpoint, :client def initialize(options = {}) raise NoEmailError if ENV['CONTACT_EMAIL'].nil? if options[:debug] == true @endpoint = DEBUG_ENDPOINT else @endpoint = LIVE_ENDPOINT end @client = Acme::Client.new(private_key: OpenSSL::PKey::RSA.new(4096), endpoint: @endpoint) registration = @client.register(contact: "mailto:#{ENV['CONTACT_EMAIL']}") registration.agree_terms end end ================================================ FILE: lib/certificate_generation.rb ================================================ require 'openssl' require 'acme-client' require 'cloudflare' require 'resolv' require 'digest' require 'httparty' require_relative '../lib/challenge' require 'sidekiq' class CertificateGeneration HEROKU_BASE_URL = "https://api.heroku.com".freeze attr_reader :app_name, :debug, :subdomains, :domain, :token def initialize(domain, subdomains, debug, app_name, token) @app_name = app_name @debug = debug @subdomains = subdomains @domain = domain @token = token @client = acme_client set_status(:initialized) end def provision! set_status(:starting) Sidekiq.redis do |conn| conn.pipelined do conn.set("#{redis_key}_app_name", @app_name) conn.set("#{redis_key}_domain", @domain) conn.set("#{redis_key}_subdomains", @subdomains) conn.set("#{redis_key}_debug", @debug) end end set_status(:in_progress) registration = @client.register(contact: "mailto:#{ENV['CONTACT_EMAIL']}") registration.agree_terms cf = CloudFlare::connection(ENV['CLOUDFLARE_API_KEY'], ENV['CLOUDFLARE_EMAIL']) domains = [domain] domains << subdomains.split(',').map{|d| d << ".#{domain}"} domains.flatten.each do |single_domain| challenge = Challenge.new(client: @client, domain: single_domain).dns01 begin cf.rec_new(domain, 'TXT', "_acme-challenge.#{single_domain}", challenge.record_content, 1) rescue => e set_error(e.message) else set_message('Successfuly added DNS record to CloudFlare') set_message('Sleeping for 1 minute while we wait for DNS to propagate.') sleep(60) challenge.request_verification set_message('Sleeping for 2 seconds while LE verifies our ownership.') sleep(2) if challenge.verify_status == 'valid' set_message('YAY! Validation successful. On to certificate generation.') else set_error('Oh no. Validation was not successful. Try again.') end end end csr = Acme::Client::CertificateRequest.new(names: domains.flatten) begin certificate = @client.new_certificate(csr) rescue Acme::Client::Error => e set_error(e.message) end deploy_certificate(certificate) set_message('Done') set_status(:success) end private def deploy_certificate(certificate) set_message('Deploying certificate to Heroku') headers = { "Accept": 'application/vnd.heroku+json; version=3.sni_ssl_cert', "Authorization": "Bearer #{ENV['HEROKU_OAUTH_KEY']}", "Content-Type": "application/json" } query = { enabled: true }.to_json HTTParty.patch("#{HEROKU_BASE_URL}/apps/#{@app_name}/features/http-sni", headers: headers, body: query) query = { "certificate_chain": certificate.fullchain_to_pem, "private_key": certificate.request.private_key.to_pem }.to_json response = HTTParty.post("#{HEROKU_BASE_URL}/apps/#{@app_name}/sni-endpoints", headers: headers, body: query) if response.code == 422 sni_endpoints = HTTParty.get("#{HEROKU_BASE_URL}/apps/#{@app_name}/sni-endpoints", headers: headers) HTTParty.patch("#{HEROKU_BASE_URL}/apps/#{@app_name}/sni-endpoints/#{sni_endpoints.parsed_response[0]["id"]}", headers: headers, body: query) end end def redis_key @token end def set_status(status) Sidekiq.redis { |conn| conn.set("#{redis_key}_status", status) } end def set_error(error) set_status(:failed) Sidekiq.redis { |conn| conn.set("#{redis_key}_error", error) } end def set_message(message) Sidekiq.redis { |conn| conn.set("#{redis_key}_message", message) } end def acme_client Acme::Client.new(private_key: OpenSSL::PKey::RSA.new(4096), endpoint: endpoint) end def endpoint @debug.to_i == 1 ? 'https://acme-staging.api.letsencrypt.org/' : 'https://acme-v01.api.letsencrypt.org/' end end ================================================ FILE: lib/certificate_generator.rb ================================================ require_relative 'logger' class CertificateGenerator attr_reader :csr, :challenge, :certificate def initialize(options = {}) @challenge = options[:challenge] Logger.log('Creating challenge records', generator: self) @challenge.create_challenge_records Logger.log('Sleeping for 120 seconds', generator: self) sleep(120) unless ENV['ENVIRONMENT'] == 'test' @challenge.verify @csr = Acme::Client::CertificateRequest.new(names: @challenge.domains) @certificate = @challenge.client.new_certificate(csr) end end ================================================ FILE: lib/challenge.rb ================================================ class Challenge attr_reader :client, :authorization, :domain, :dns01 def initialize(options = {}) @client = options[:client] @domain = options[:domain] @authorization = @client.authorize(domain: @domain) @dns01 = @authorization.dns01 end def status @dns01 end end ================================================ FILE: lib/cloudflare_challenge.rb ================================================ require_relative 'challenge' require 'cloudflare' class CloudflareChallenge attr_reader :zone, :domains, :client, :challenges, :token, :email, :api_key def initialize(options = {}) @email = options[:email] @api_key = options[:api_key] @zone = options[:zone] @domains = options[:domains] @client = options[:client] @token = options[:token] @challenges = @domains.map do |domain| Challenge.new(client: @client, domain: domain) end end def create_challenge_records cf = CloudFlare::connection(@api_key, @email) @challenges.each do |challenge| cf.rec_new(@zone, 'TXT', "_acme-challenge.#{challenge.domain}", challenge.dns01.record_content, 1) end @domains end def verify @challenges.map do |challenge| challenge.dns01.request_verification end.uniq[0] end end ================================================ FILE: lib/logger.rb ================================================ class Logger def self.log(message, options = {}) $redis = Redis.new(url: ENV['REDIS_URL']) output = '' if options[:generator].present? output << "[Zone: #{options[:generator].challenge.zone}" output << " - Domains: #{options[:generator].challenge.domains.join(", ")}] " $redis.set("latest_#{options[:generator].challenge.token}", message) end output << "----> #{message}" puts output unless ENV['ENVIRONMENT'] == 'test' return output end end ================================================ FILE: lib/provisioners/heroku.rb ================================================ require 'httparty' require_relative '../logger' module Provisioner class Heroku HEROKU_BASE_URL = "https://api.heroku.com".freeze attr_reader :headers, :query def initialize(options = {}) @certificate = options[:certificate] @app_name = options[:app_name] @oauth_key = options[:oauth_key] @headers = { "Accept": 'application/vnd.heroku+json; version=3.sni_ssl_cert', "Authorization": "Bearer #{@oauth_key}", "Content-Type": "application/json" } @query = { "certificate_chain": @certificate.fullchain_to_pem, "private_key": @certificate.request.private_key.to_pem }.to_json end def provision! puts '---> Provisioning Heroku application with new certificate' HTTParty.patch("#{HEROKU_BASE_URL}/apps/#{@app_name}/features/http-sni", headers: @headers, body: {enabled: true}.to_json) puts "---> Uploading new certificate" response = HTTParty.post("#{HEROKU_BASE_URL}/apps/#{@app_name}/sni-endpoints", headers: @headers, body: @query) if response.code == 422 if JSON.parse(response.body)["message"] == "Only one SNI endpoint is allowed per app (try certs:update instead)." puts "---> Certificate already exists. Replacing with new one" sni_endpoints = HTTParty.get("#{HEROKU_BASE_URL}/apps/#{@app_name}/sni-endpoints", headers: @headers) HTTParty.patch("#{HEROKU_BASE_URL}/apps/#{@app_name}/sni-endpoints/#{sni_endpoints.parsed_response[0]["id"]}", headers: @headers, body: @query) return true else Logger.log("Error: #{response.body}") return false end end puts "---> Heroku response: #{response.body}" return true end end end ================================================ FILE: test/acme_client_registration_test.rb ================================================ require_relative 'test_helper' class AcmeClientRegistrationTest < MiniTest::Test def setup ENV['CONTACT_EMAIL'] = 'test@example.com' end def teardown $redis.flushdb end def test_create_an_instance VCR.use_cassette('acme-new-reg') do a = AcmeClientRegistration.new assert_equal AcmeClientRegistration, a.class end end def test_use_the_staging_endpoint VCR.use_cassette('acme-new-reg-debug') do a = AcmeClientRegistration.new(debug: true) assert_equal 'https://acme-staging.api.letsencrypt.org/', a.endpoint end end def test_use_the_live_endpoint VCR.use_cassette('acme-new-reg') do a = AcmeClientRegistration.new(debug: false) assert_equal 'https://acme-v01.api.letsencrypt.org/', a.endpoint end end def test_use_the_live_endpoint_by_default VCR.use_cassette('acme-new-reg') do a = AcmeClientRegistration.new assert_equal 'https://acme-v01.api.letsencrypt.org/', a.endpoint end end def test_assign_an_acme_client_with_live_endpoint VCR.use_cassette('acme-new-reg') do a = AcmeClientRegistration.new assert_equal Acme::Client, a.client.class assert_equal 'https://acme-v01.api.letsencrypt.org/', a.client.connection.url_prefix.to_s end end def test_assign_an_acme_client_with_test_endpoint VCR.use_cassette('acme-new-reg-debug') do a = AcmeClientRegistration.new(debug: true) assert_equal Acme::Client, a.client.class assert_equal 'https://acme-staging.api.letsencrypt.org/', a.client.connection.url_prefix.to_s end end def test_creating_without_CONTACT_EMAIL_set_should_raise_an_exception VCR.use_cassette('acme-new-reg') do ENV['CONTACT_EMAIL'] = nil assert_raises AcmeClientRegistration::NoEmailError do AcmeClientRegistration.new end end end def test_client_should_be_registered_and_agreed_to VCR.use_cassette('acme-new-reg') do a = AcmeClientRegistration.new assert_equal true, a.client.nonces.any? end end end ================================================ FILE: test/app_test.rb ================================================ require_relative 'test_helper' class AppTest < MiniTest::Test include Rack::Test::Methods def app Sinatra::Application end def setup ENV['AUTH_TOKEN'] = 'secrettoken' end def teardown $redis.flushdb end def test_certificate_request_post post '/certificate_request', { auth_token: 'secrettoken' }.to_json assert last_response.unprocessable? end def test_certificate_request_with_correct_params valid_params = { domains: ['substrakt.com', 'www.substrakt.com'], heroku_app_name: ['substrakt-live'], zone: ['substrakt.com'], auth_token: 'secrettoken' } post '/certificate_request', valid_params.to_json assert_equal 'application/json', last_response.content_type assert_equal 'queued', JSON.parse(last_response.body)["status"] assert_match /\w{32}/, JSON.parse(last_response.body)["uuid"] assert last_response.ok? end def test_certificate_missing_domain_list invalid_params = { heroku_app_name: ['substrakt-live'], auth_token: 'secrettoken' } post '/certificate_request', invalid_params.to_json assert last_response.unprocessable? end def test_certificate_missing_heroku_app_name invalid_params = { domains: ['substrakt.com', 'www.substrakt.com'], auth_token: 'secrettoken' } post '/certificate_request', invalid_params.to_json assert last_response.unprocessable? end def test_get_status_of_certificate_request_that_does_not_exist params = { auth_token: 'secrettoken' } get '/certificate_request/token1234', params assert_equal "token1234 not a valid token", JSON.parse(last_response.body)["status"] assert_equal 'application/json', last_response.content_type assert last_response.not_found? end def test_get_status_of_certificate_request_that_does_exist $redis.set('status_token1234', 'pending') params = { auth_token: 'secrettoken' } get '/certificate_request/token1234', params assert_equal 'application/json', last_response.content_type assert_equal 200, last_response.status end end ================================================ FILE: test/certificate_generator_test.rb ================================================ require_relative 'test_helper' class CertificateGeneratorTest < MiniTest::Test def setup ENV['CONTACT_EMAIL'] = 'max@substrakt.com' end def teardown $redis.flushdb end def test_generate_certificate VCR.use_cassette('new-certificate-debug') do a = CertificateGenerator.new(challenge: CloudflareChallenge.new(zone: 'substrakt.com', domains: ['www.substrakt.com', 'substrakt.com'], api_key: 'fsdfdsf', email: 'adam@example.com', client: AcmeClientRegistration.new(debug: true).client)) assert_equal Acme::Client::Certificate, a.certificate.class end end end ================================================ FILE: test/cloudflare_challenge_test.rb ================================================ require_relative 'test_helper' class CloudflareChallengeTest < MiniTest::Test def setup ENV['CONTACT_EMAIL'] = 'max@substrakt.com' end def teardown $redis.flushdb end def test_create_an_instance VCR.use_cassette('acme-new-authz') do a = CloudflareChallenge.new(zone: 'substrakt.com', domains: ['www.substrakt.com', 'substrakt.com'], api_key: 'fsdfdsf', email: 'adam@example.com', client: AcmeClientRegistration.new(debug: true).client) assert_equal CloudflareChallenge, a.class end end def test_create_an_instance_with_custom_auth ENV['CLOUDFLARE_EMAIL'] = nil ENV['CLOUDFLARE_API_KEY'] = nil VCR.use_cassette('acme-new-authz') do a = CloudflareChallenge.new(zone: 'substrakt.com', domains: ['www.substrakt.com', 'substrakt.com'], api_key: 'fdhsufgdjshfgsd', email: 'max@substrakt.com', client: AcmeClientRegistration.new(debug: true).client) assert_equal 'max@substrakt.com', a.email assert_equal 'fdhsufgdjshfgsd', a.api_key end end def test_set_zone VCR.use_cassette('acme-new-authz') do a = CloudflareChallenge.new(zone: 'substrakt.com', domains: ['www.substrakt.com', 'substrakt.com'], api_key: 'fsdfdsf', email: 'adam@example.com', client: AcmeClientRegistration.new(debug: true).client) assert_equal 'substrakt.com', a.zone end end def test_set_domains VCR.use_cassette('acme-new-authz') do a = CloudflareChallenge.new(zone: 'substrakt.com', domains: ['www.substrakt.com', 'substrakt.com'], api_key: 'fsdfdsf', email: 'adam@example.com', client: AcmeClientRegistration.new(debug: true).client) assert_equal ['www.substrakt.com', 'substrakt.com'], a.domains end end def test_add_challenge_records_to_cloudflare VCR.use_cassette('acme-new-authz') do a = CloudflareChallenge.new(zone: 'substrakt.com', domains: ['www.substrakt.com', 'substrakt.com'], api_key: 'fsdfdsf', email: 'adam@example.com', client: AcmeClientRegistration.new(debug: true).client) assert_equal ['www.substrakt.com', 'substrakt.com'], a.create_challenge_records end end def test_get_list_of_challenges VCR.use_cassette('acme-new-authz') do a = CloudflareChallenge.new(zone: 'substrakt.com', domains: ['www.substrakt.com', 'substrakt.com'], api_key: 'fsdfdsf', email: 'adam@example.com', client: AcmeClientRegistration.new(debug: true).client) assert_equal Challenge, a.challenges.first.class end end def test_verification VCR.use_cassette('acme-challenge-debug') do a = CloudflareChallenge.new(zone: 'substrakt.com', domains: ['max123.substrakt.com', 'max345.substrakt.com'], api_key: 'fsdfdsf', email: 'adam@example.com', client: AcmeClientRegistration.new(debug: true).client) assert_equal true, a.verify end end end ================================================ FILE: test/fixtures/vcr_cassettes/acme-challenge-debug.yml ================================================ --- http_interactions: - request: method: head uri: https://acme-staging.api.letsencrypt.org/acme/new-reg body: encoding: US-ASCII string: '' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept: - "*/*" response: status: code: 405 message: Method Not Allowed headers: Server: - nginx Content-Type: - application/problem+json Content-Length: - '91' Allow: - POST Boulder-Request-Id: - uDeMHlcej0rKzMXQYTUdJMxFoHF9sJiN-sfnqAKqvAM Replay-Nonce: - d9fsTJHF7ap8hNsgBZStyewA0QUnthx8WgKuwVTaYnY Expires: - Tue, 15 Nov 2016 15:46:14 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 15:46:14 GMT Connection: - keep-alive body: encoding: UTF-8 string: '' http_version: recorded_at: Tue, 15 Nov 2016 15:46:14 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-reg body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiZDlmc1RKSEY3YXA4aE5zZ0JaU3R5ZXdBMFFVbnRoeDhXZ0t1d1ZUYVluWSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiIxRG85anVDbkdUSTVrY1hWRXVFbWJxUWtjSjJMb09hSU5LRGlXZ0JKWGJ3U29aY3kxWERlVnVTRjZHSG5SZ19ncFdJMmVOTFdXYnJVMmxHX3lPbEJsWEZ6QzhaZTk5YXRVRVNVZ1dxZXNtQ1BRSUJhV0tsRDJhQWNzbmdHZDg0WTNpR0UxZUJhYlRLV3BuZ05Ba2w0VWlfa2xOQjRvTkk0U2JBVzIwMGFVYTRKVDZjUjNfcThlX0ViR2lFb2JBVXhGZEJtX0I0TTBwZ0RJWmd5RFdnYWhhNmdFbC11eGdMZkJ3OTI2dlA4aVBqZnlWZFplbVVBRjdxSzMzZUl4d1dNeEJJTl9tYzNpOS1kQXZnZ2NETXdoRzBaZmxZQkx2QlZGWS03Vk5qY1Y3OC00Vmo5NXF0R0JCOTlmNnc1Uklod0FXdFJiMURqMW56bG1iZmRCNDJhcktoT1JnTnlXSzE2YVBTb3RoS1BwV01TT09Vc19Bbm5wTVE4cFdpX1dabl9SSU1xbjZHcERuNVNpbEJrMnE5WjVicGVSTnNNc1JBRjhHTDR3UkFGZG5BRThTNWE3ck5DVk13bERKTUNiWk9PU1ZPa1ZJNlJ5dnVyNUoyajNtREh6a3FRdzVaaGNPeUhwQUVrVkc5NWFQQjVhenZHaWRZc1c3LU5sTlZ5d2c4NTdiRzNydDBRUlUwWENwUmRGYUZsUHp4cGN2djJWTzN2R2RzTjc3R3RSbUhyY3FiVWt0VHNDTl9qZDk5UU1JT1VLUkJWUGFnZHk3bFNGbk1Cc1c1eFBPMGZYdnpxd0t2YTcxN1dSV1lZUEJ4YkFDMDNnQnBoLWVsTmMwMnRqZjEwYXhSWlE3NUY0UDRiSTI0QkM3NHd3RndBdWZqUXdpNzd4dlZpcFh3cmdvOCJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1yZWciLCJjb250YWN0IjpbIm1haWx0bzptYXhAc3Vic3RyYWt0LmNvbSJdfQ","signature":"UpFFW8k4On2u5BZx_5aPmIOxFds-CNU8Iz9UPs12KYIVzsLzOxg2CwcnIGelfL3dMZQdqKU4Ab49yRUQlA_9YXUPTsscrpv1lfZ5hvlt-N29z4Ort5bcaamNaeQq2Szx1Bp1TacCEfAmwpzT6_dEFDu5g9WvGHgrv3okxKezQyEgOt1w0JAIpg0R7Oj1RwzgFNsGzXv3Yj0Zq4zcX97VkDLway69UuRBXbfrvA7fKnRCQVHuA9wpRbT6SkJkdxQE5j1iTxFG4zsj7q7BbsHdT-C_F-qI8LDREi9388z2xFxNPcupkpwFFzeoXtSBNFRCf8QfcRWSbFoBkB9sasP0cvorY_3X0ezjOML7uMK_6daK0iBvT5ge5cMvxJXBqjyumniy5JG0kytuzPMiZ3FPgZtYj75HXajN0nNPc-g--ZE6vgtMIJG0oXrIMFnh2w8KBfH5qBosoGW9A_FUbAZZTgNi1Hredyofm6T-lvqUpMvcmRq_x5KeQ0e8vWdpUvE4RaDYMUOzDuX5t1hJHTr-P4zx1NqhCp7tKddr4ENzkG5M7AZDYg0lpOJzQL5y9fKwEHWeGCGgFNGu3-uvaSH8vUhjv8SGKHpmjSmOOX57NIyRnEgjYE_49m7-LFwBPRqAljFQ4wCR4-eegYxTMYd6a7466jKrr48aZNu5z5VnB3w"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '914' Boulder-Request-Id: - 2Dvu0dNB8USfic3eY_grHHS8JumADwjVHTRaAdnSJ9s Boulder-Requester: - '496458' Link: - ;rel="next" - ;rel="terms-of-service" Location: - https://acme-staging.api.letsencrypt.org/acme/reg/496458 Replay-Nonce: - sa7THSiunLZYzSxbNBEWrsfsvoEVQ7BdT2tpMs5TxJk X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Tue, 15 Nov 2016 15:46:15 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 15:46:15 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "id": 496458, "key": { "kty": "RSA", "n": "1Do9juCnGTI5kcXVEuEmbqQkcJ2LoOaINKDiWgBJXbwSoZcy1XDeVuSF6GHnRg_gpWI2eNLWWbrU2lG_yOlBlXFzC8Ze99atUESUgWqesmCPQIBaWKlD2aAcsngGd84Y3iGE1eBabTKWpngNAkl4Ui_klNB4oNI4SbAW200aUa4JT6cR3_q8e_EbGiEobAUxFdBm_B4M0pgDIZgyDWgaha6gEl-uxgLfBw926vP8iPjfyVdZemUAF7qK33eIxwWMxBIN_mc3i9-dAvggcDMwhG0ZflYBLvBVFY-7VNjcV78-4Vj95qtGBB99f6w5RIhwAWtRb1Dj1nzlmbfdB42arKhORgNyWK16aPSothKPpWMSOOUs_AnnpMQ8pWi_WZn_RIMqn6GpDn5SilBk2q9Z5bpeRNsMsRAF8GL4wRAFdnAE8S5a7rNCVMwlDJMCbZOOSVOkVI6Ryvur5J2j3mDHzkqQw5ZhcOyHpAEkVG95aPB5azvGidYsW7-NlNVywg857bG3rt0QRU0XCpRdFaFlPzxpcvv2VO3vGdsN77GtRmHrcqbUktTsCN_jd99QMIOUKRBVPagdy7lSFnMBsW5xPO0fXvzqwKva717WRWYYPBxbAC03gBph-elNc02tjf10axRZQ75F4P4bI24BC74wwFwAufjQwi77xvVipXwrgo8", "e": "AQAB" }, "contact": [ "mailto:max@substrakt.com" ], "initialIp": "213.123.191.198", "createdAt": "2016-11-15T15:46:15.301210461Z", "Status": "" } http_version: recorded_at: Tue, 15 Nov 2016 15:46:15 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/reg/496458 body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoic2E3VEhTaXVuTFpZelN4Yk5CRVdyc2Zzdm9FVlE3QmRUMnRwTXM1VHhKayIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiIxRG85anVDbkdUSTVrY1hWRXVFbWJxUWtjSjJMb09hSU5LRGlXZ0JKWGJ3U29aY3kxWERlVnVTRjZHSG5SZ19ncFdJMmVOTFdXYnJVMmxHX3lPbEJsWEZ6QzhaZTk5YXRVRVNVZ1dxZXNtQ1BRSUJhV0tsRDJhQWNzbmdHZDg0WTNpR0UxZUJhYlRLV3BuZ05Ba2w0VWlfa2xOQjRvTkk0U2JBVzIwMGFVYTRKVDZjUjNfcThlX0ViR2lFb2JBVXhGZEJtX0I0TTBwZ0RJWmd5RFdnYWhhNmdFbC11eGdMZkJ3OTI2dlA4aVBqZnlWZFplbVVBRjdxSzMzZUl4d1dNeEJJTl9tYzNpOS1kQXZnZ2NETXdoRzBaZmxZQkx2QlZGWS03Vk5qY1Y3OC00Vmo5NXF0R0JCOTlmNnc1Uklod0FXdFJiMURqMW56bG1iZmRCNDJhcktoT1JnTnlXSzE2YVBTb3RoS1BwV01TT09Vc19Bbm5wTVE4cFdpX1dabl9SSU1xbjZHcERuNVNpbEJrMnE5WjVicGVSTnNNc1JBRjhHTDR3UkFGZG5BRThTNWE3ck5DVk13bERKTUNiWk9PU1ZPa1ZJNlJ5dnVyNUoyajNtREh6a3FRdzVaaGNPeUhwQUVrVkc5NWFQQjVhenZHaWRZc1c3LU5sTlZ5d2c4NTdiRzNydDBRUlUwWENwUmRGYUZsUHp4cGN2djJWTzN2R2RzTjc3R3RSbUhyY3FiVWt0VHNDTl9qZDk5UU1JT1VLUkJWUGFnZHk3bFNGbk1Cc1c1eFBPMGZYdnpxd0t2YTcxN1dSV1lZUEJ4YkFDMDNnQnBoLWVsTmMwMnRqZjEwYXhSWlE3NUY0UDRiSTI0QkM3NHd3RndBdWZqUXdpNzd4dlZpcFh3cmdvOCJ9fQ","payload":"eyJyZXNvdXJjZSI6InJlZyIsImFncmVlbWVudCI6Imh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL2RvY3VtZW50cy9MRS1TQS12MS4xLjEtQXVndXN0LTEtMjAxNi5wZGYifQ","signature":"AvhEYkxjVEOQjJ-mntlyW0LwYbqP6u4vgZ3QdyxUMClS9tTGA4RHPOh9Y5ZzMoLEVnf5U-K_Cd5mXWrx_gUcL5RPkMEbbCNu3HEADrCVDD2G37lrp1qrUMTZa_hhV7ID4wHQGTBBYItLzwrHSVW4dU-Q93so_J7rs67jbvTfNfXdwb41q8z4zhONisvuNTmCjArKJFKgkhtwHtWxDA4ppy5xMrnfIBeCzPeHMqmpHHGeu7WxgJT_DsxIq6NluZ25GAEGaQSbr5khMj9v1qmxiiMRbDXrE94iiU9m2puquLRpqK9bmGdGHP9EJhyq84hA4lQMhOkBcm1I4NX4j50o08CKI1Ed-8hkP_wSeArbsLmdInhwp1a8aJkqaoNgXE2iF6EY7dOheTvmNNNEb-tQoCJyJQeLrF4t0B8aYwCfJbFhwzAe4N6LBktX8Z4lJsrAEgqrYRvmw2wiBGLlZCVHtkweXOCAONrBSGW1K0Wd57NKpvnHCnoFFQOA96DaW_m-7QhCC_VBhvHZ5e1nBAPsWgX1RAgE3rm7DATgBlOKz3iuJAxiWAS-IRqfJkhFxzfnm5Dh7I-x5Ycx_G8ChfUtpTRG3kIll8fzBKCVzMgx7p1-M8djfDqwqju0YmnT9CkwxtxKD6AmQQgZSaa42c6ht_Zs-98ZJaYbdlHGvMo0rzQ"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 202 message: Accepted headers: Server: - nginx Content-Type: - application/json Content-Length: - '987' Boulder-Request-Id: - qnKTD1bn6wPUM-zQjTE4QnoZpbg2tCcvYH6v2DfnSKQ Boulder-Requester: - '496458' Link: - ;rel="next" - ;rel="terms-of-service" Replay-Nonce: - Ddhii7MdLe0vMbUaDhoFV5srVOks5updsJ5GRZDurks Expires: - Tue, 15 Nov 2016 15:46:15 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 15:46:15 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "id": 496458, "key": { "kty": "RSA", "n": "1Do9juCnGTI5kcXVEuEmbqQkcJ2LoOaINKDiWgBJXbwSoZcy1XDeVuSF6GHnRg_gpWI2eNLWWbrU2lG_yOlBlXFzC8Ze99atUESUgWqesmCPQIBaWKlD2aAcsngGd84Y3iGE1eBabTKWpngNAkl4Ui_klNB4oNI4SbAW200aUa4JT6cR3_q8e_EbGiEobAUxFdBm_B4M0pgDIZgyDWgaha6gEl-uxgLfBw926vP8iPjfyVdZemUAF7qK33eIxwWMxBIN_mc3i9-dAvggcDMwhG0ZflYBLvBVFY-7VNjcV78-4Vj95qtGBB99f6w5RIhwAWtRb1Dj1nzlmbfdB42arKhORgNyWK16aPSothKPpWMSOOUs_AnnpMQ8pWi_WZn_RIMqn6GpDn5SilBk2q9Z5bpeRNsMsRAF8GL4wRAFdnAE8S5a7rNCVMwlDJMCbZOOSVOkVI6Ryvur5J2j3mDHzkqQw5ZhcOyHpAEkVG95aPB5azvGidYsW7-NlNVywg857bG3rt0QRU0XCpRdFaFlPzxpcvv2VO3vGdsN77GtRmHrcqbUktTsCN_jd99QMIOUKRBVPagdy7lSFnMBsW5xPO0fXvzqwKva717WRWYYPBxbAC03gBph-elNc02tjf10axRZQ75F4P4bI24BC74wwFwAufjQwi77xvVipXwrgo8", "e": "AQAB" }, "contact": [ "mailto:max@substrakt.com" ], "agreement": "https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf", "initialIp": "213.123.191.198", "createdAt": "2016-11-15T15:46:15Z", "Status": "" } http_version: recorded_at: Tue, 15 Nov 2016 15:46:15 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-authz body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiRGRoaWk3TWRMZTB2TWJVYURob0ZWNXNyVk9rczV1cGRzSjVHUlpEdXJrcyIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiIxRG85anVDbkdUSTVrY1hWRXVFbWJxUWtjSjJMb09hSU5LRGlXZ0JKWGJ3U29aY3kxWERlVnVTRjZHSG5SZ19ncFdJMmVOTFdXYnJVMmxHX3lPbEJsWEZ6QzhaZTk5YXRVRVNVZ1dxZXNtQ1BRSUJhV0tsRDJhQWNzbmdHZDg0WTNpR0UxZUJhYlRLV3BuZ05Ba2w0VWlfa2xOQjRvTkk0U2JBVzIwMGFVYTRKVDZjUjNfcThlX0ViR2lFb2JBVXhGZEJtX0I0TTBwZ0RJWmd5RFdnYWhhNmdFbC11eGdMZkJ3OTI2dlA4aVBqZnlWZFplbVVBRjdxSzMzZUl4d1dNeEJJTl9tYzNpOS1kQXZnZ2NETXdoRzBaZmxZQkx2QlZGWS03Vk5qY1Y3OC00Vmo5NXF0R0JCOTlmNnc1Uklod0FXdFJiMURqMW56bG1iZmRCNDJhcktoT1JnTnlXSzE2YVBTb3RoS1BwV01TT09Vc19Bbm5wTVE4cFdpX1dabl9SSU1xbjZHcERuNVNpbEJrMnE5WjVicGVSTnNNc1JBRjhHTDR3UkFGZG5BRThTNWE3ck5DVk13bERKTUNiWk9PU1ZPa1ZJNlJ5dnVyNUoyajNtREh6a3FRdzVaaGNPeUhwQUVrVkc5NWFQQjVhenZHaWRZc1c3LU5sTlZ5d2c4NTdiRzNydDBRUlUwWENwUmRGYUZsUHp4cGN2djJWTzN2R2RzTjc3R3RSbUhyY3FiVWt0VHNDTl9qZDk5UU1JT1VLUkJWUGFnZHk3bFNGbk1Cc1c1eFBPMGZYdnpxd0t2YTcxN1dSV1lZUEJ4YkFDMDNnQnBoLWVsTmMwMnRqZjEwYXhSWlE3NUY0UDRiSTI0QkM3NHd3RndBdWZqUXdpNzd4dlZpcFh3cmdvOCJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1hdXRoeiIsImlkZW50aWZpZXIiOnsidHlwZSI6ImRucyIsInZhbHVlIjoibWF4MTIzLnN1YnN0cmFrdC5jb20ifX0","signature":"KmjCHZlVilMRHCzXvGiR6iNNeB1jdAZXOQ4dmfZ7SzZb7uYJ-BpDZsmiyi9JTBMfwUiDP_nzs2T_mDu6asju3tB4QfAFa0tJ6Zf0tMrekbHZ9affXPkjhHinwJzLQO_xDpaLYVhBQaiDRvViZXxsTms_aoLC0Yna7z1cfTzTJVS3BAkJthScZVvERiG7lu7-9KXGlECGZ_eAbNEw5w3_LMlcp8GekrkauE_CsD6pk89UpBZsifEx3s43Kc_2JTzlvu8q7I49qb-yzPPCeIQzfsZgejYo7WAjaiKxdNEDkYmRFqQ0eIkxAUS4jL12HUCZPUg9zGKyEiCgM1XryzzxQUGjpaPe3x5wZvzCjZAWLFRnurAg5Lb0Kt7vVbFAm9u_JnuUZIhy_McuuEygaznlD4TwrB9Uj4bMAt5ojunJ1Za4FoBiWv0lBBCET_tXvcqpihhBJDmtcu3vIHGPw1A8JMNtWq866_ZcyAPOGDvdZ8nqfWYlXj-dWWn9nnh6FuU4A2nX2Ah8VSjPLn5yb5t8r09QqUP1McIvEPjbXRVBDd-RWpUF5WxHk_Hdv92QghBC0oiubl6OIKsdMI-LR6Cg2Lz6zZ5FNKtTi3mOAiabkrCIa_WaHPvOGJjY5TxJ5ZapiPFumOPEFn6RvH_DIoAyZt4nvp2Dih8qyfCgnW9uDS4"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '1014' Boulder-Request-Id: - I3QcSfw6e0xnSzDJlth0unfyyFy_ToHko1ItfHnt7tk Boulder-Requester: - '496458' Link: - ;rel="next" Location: - https://acme-staging.api.letsencrypt.org/acme/authz/ctY8Ec4RD9-PXKZ3GGHUzE0KZa3ZK1qMttqrcrvC8eA Replay-Nonce: - lKBMz3-TXfdoUpm2Httav2KfyP0wBPqKx7i3Mh5qsgg X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Tue, 15 Nov 2016 15:46:16 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 15:46:16 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "identifier": { "type": "dns", "value": "max123.substrakt.com" }, "status": "pending", "expires": "2016-11-22T15:46:16.199698302Z", "challenges": [ { "type": "tls-sni-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/ctY8Ec4RD9-PXKZ3GGHUzE0KZa3ZK1qMttqrcrvC8eA/16907312", "token": "EnEXB2bmoTixJVBYDIXE-tRXtts-8O_3xEv4WScDYjw" }, { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/ctY8Ec4RD9-PXKZ3GGHUzE0KZa3ZK1qMttqrcrvC8eA/16907313", "token": "zQBMXxIfbK4yB7x8SGjwY1cQBN3LbrwehmJe3p0vCiM" }, { "type": "http-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/ctY8Ec4RD9-PXKZ3GGHUzE0KZa3ZK1qMttqrcrvC8eA/16907314", "token": "3Rts0qQ7_aTdD5JI0oEIemllfKZhZytQn7bOUmNuVZM" } ], "combinations": [ [ 0 ], [ 1 ], [ 2 ] ] } http_version: recorded_at: Tue, 15 Nov 2016 15:46:16 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-authz body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoibEtCTXozLVRYZmRvVXBtMkh0dGF2MktmeVAwd0JQcUt4N2kzTWg1cXNnZyIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiIxRG85anVDbkdUSTVrY1hWRXVFbWJxUWtjSjJMb09hSU5LRGlXZ0JKWGJ3U29aY3kxWERlVnVTRjZHSG5SZ19ncFdJMmVOTFdXYnJVMmxHX3lPbEJsWEZ6QzhaZTk5YXRVRVNVZ1dxZXNtQ1BRSUJhV0tsRDJhQWNzbmdHZDg0WTNpR0UxZUJhYlRLV3BuZ05Ba2w0VWlfa2xOQjRvTkk0U2JBVzIwMGFVYTRKVDZjUjNfcThlX0ViR2lFb2JBVXhGZEJtX0I0TTBwZ0RJWmd5RFdnYWhhNmdFbC11eGdMZkJ3OTI2dlA4aVBqZnlWZFplbVVBRjdxSzMzZUl4d1dNeEJJTl9tYzNpOS1kQXZnZ2NETXdoRzBaZmxZQkx2QlZGWS03Vk5qY1Y3OC00Vmo5NXF0R0JCOTlmNnc1Uklod0FXdFJiMURqMW56bG1iZmRCNDJhcktoT1JnTnlXSzE2YVBTb3RoS1BwV01TT09Vc19Bbm5wTVE4cFdpX1dabl9SSU1xbjZHcERuNVNpbEJrMnE5WjVicGVSTnNNc1JBRjhHTDR3UkFGZG5BRThTNWE3ck5DVk13bERKTUNiWk9PU1ZPa1ZJNlJ5dnVyNUoyajNtREh6a3FRdzVaaGNPeUhwQUVrVkc5NWFQQjVhenZHaWRZc1c3LU5sTlZ5d2c4NTdiRzNydDBRUlUwWENwUmRGYUZsUHp4cGN2djJWTzN2R2RzTjc3R3RSbUhyY3FiVWt0VHNDTl9qZDk5UU1JT1VLUkJWUGFnZHk3bFNGbk1Cc1c1eFBPMGZYdnpxd0t2YTcxN1dSV1lZUEJ4YkFDMDNnQnBoLWVsTmMwMnRqZjEwYXhSWlE3NUY0UDRiSTI0QkM3NHd3RndBdWZqUXdpNzd4dlZpcFh3cmdvOCJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1hdXRoeiIsImlkZW50aWZpZXIiOnsidHlwZSI6ImRucyIsInZhbHVlIjoibWF4MzQ1LnN1YnN0cmFrdC5jb20ifX0","signature":"NzTJhYTskm6GY2YxngrPKpgqrserGrxlnNBh6NeZXPgTqEou_8jGrTGu2zkrNPuW-_ZVHqeEcZFi4eo733F3zgH3QSexn6OCgkxLvTlXFdZaQCUBC5tjUzaMTJkJubOKdW7L_wGVKzrC48K2DfpMvhMr6bwoJMnFdr-sqVmzXzMmMPLfI3S_LwShfpwQsCuTL5OnvW2QVFinldPZ9vuCpaUycLUKiCmBoR7SB901Zqk8WfnPuc1kjG6BFO_tz0_yXwc04p295poQkKO7zmQ5LKlnhHVLc6jVzf1fRpn3ivB-DF0QXX_h4-uUfkbvO-C8d5eSE_vIGPOj3TdpuxgP9ree_16KCBZT2jObkypyd2c14v04QnaMgVSsB4Y3CtKOaXJJKP6SPvvGkvVogBi7jPr4cUMETpYnKpB9cc9mpxh_o-DYwsYk5iN0qfJ3g68iugJqEu0ylZIMyJm-o_6RtpfcI8X23mvNNvPLrOqjRVnpBqmekzUSQhTJtvgSOMlEDceZFOWlrnpYUsLCQPVrsCxH0-VdrTy8Jy0YgzgmCm_NkJytMSvnwJJEm7vEcFMMAFzs7q0Zv4ZWxtGAw7l9v2FzxFmQk34z4hEixigUBBpUIMr8uRnRxQX01RhRORFQO32ehONgaRkKI3Z4tQNpFE3vrBVVbovsVH06s7IdHIg"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '1014' Boulder-Request-Id: - VEU2JJJdMp7ozI4vcb4CwaYfIX2orQZBILuseY1VpbU Boulder-Requester: - '496458' Link: - ;rel="next" Location: - https://acme-staging.api.letsencrypt.org/acme/authz/73OZWvTewlUC30b61mXrF2xJCEfzRPseCeoDRVlziTs Replay-Nonce: - ESdacN7K7N4cGsxt93hXld8gmfR3bVdMgtF3OAJTSo8 X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Tue, 15 Nov 2016 15:46:16 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 15:46:16 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "identifier": { "type": "dns", "value": "max345.substrakt.com" }, "status": "pending", "expires": "2016-11-22T15:46:16.687589597Z", "challenges": [ { "type": "http-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/73OZWvTewlUC30b61mXrF2xJCEfzRPseCeoDRVlziTs/16907315", "token": "txt7p7ltlryvInmMgKcFDMwsZzw2D3WFIShKc3CTh6o" }, { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/73OZWvTewlUC30b61mXrF2xJCEfzRPseCeoDRVlziTs/16907316", "token": "YT1tK76nDb-r8rQ3meOKGUC23bvzePeWE4x5-agSdY8" }, { "type": "tls-sni-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/73OZWvTewlUC30b61mXrF2xJCEfzRPseCeoDRVlziTs/16907317", "token": "7RLAuVQtFy_xzbumHA1_Zo4objeOcLfVyHZezkN0Stw" } ], "combinations": [ [ 1 ], [ 2 ], [ 0 ] ] } http_version: recorded_at: Tue, 15 Nov 2016 15:46:16 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/challenge/ctY8Ec4RD9-PXKZ3GGHUzE0KZa3ZK1qMttqrcrvC8eA/16907313 body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiRVNkYWNON0s3TjRjR3N4dDkzaFhsZDhnbWZSM2JWZE1ndEYzT0FKVFNvOCIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiIxRG85anVDbkdUSTVrY1hWRXVFbWJxUWtjSjJMb09hSU5LRGlXZ0JKWGJ3U29aY3kxWERlVnVTRjZHSG5SZ19ncFdJMmVOTFdXYnJVMmxHX3lPbEJsWEZ6QzhaZTk5YXRVRVNVZ1dxZXNtQ1BRSUJhV0tsRDJhQWNzbmdHZDg0WTNpR0UxZUJhYlRLV3BuZ05Ba2w0VWlfa2xOQjRvTkk0U2JBVzIwMGFVYTRKVDZjUjNfcThlX0ViR2lFb2JBVXhGZEJtX0I0TTBwZ0RJWmd5RFdnYWhhNmdFbC11eGdMZkJ3OTI2dlA4aVBqZnlWZFplbVVBRjdxSzMzZUl4d1dNeEJJTl9tYzNpOS1kQXZnZ2NETXdoRzBaZmxZQkx2QlZGWS03Vk5qY1Y3OC00Vmo5NXF0R0JCOTlmNnc1Uklod0FXdFJiMURqMW56bG1iZmRCNDJhcktoT1JnTnlXSzE2YVBTb3RoS1BwV01TT09Vc19Bbm5wTVE4cFdpX1dabl9SSU1xbjZHcERuNVNpbEJrMnE5WjVicGVSTnNNc1JBRjhHTDR3UkFGZG5BRThTNWE3ck5DVk13bERKTUNiWk9PU1ZPa1ZJNlJ5dnVyNUoyajNtREh6a3FRdzVaaGNPeUhwQUVrVkc5NWFQQjVhenZHaWRZc1c3LU5sTlZ5d2c4NTdiRzNydDBRUlUwWENwUmRGYUZsUHp4cGN2djJWTzN2R2RzTjc3R3RSbUhyY3FiVWt0VHNDTl9qZDk5UU1JT1VLUkJWUGFnZHk3bFNGbk1Cc1c1eFBPMGZYdnpxd0t2YTcxN1dSV1lZUEJ4YkFDMDNnQnBoLWVsTmMwMnRqZjEwYXhSWlE3NUY0UDRiSTI0QkM3NHd3RndBdWZqUXdpNzd4dlZpcFh3cmdvOCJ9fQ","payload":"eyJyZXNvdXJjZSI6ImNoYWxsZW5nZSIsInR5cGUiOiJkbnMtMDEiLCJrZXlBdXRob3JpemF0aW9uIjoielFCTVh4SWZiSzR5Qjd4OFNHandZMWNRQk4zTGJyd2VobUplM3AwdkNpTS5OX2hyNWE0NFJMa05RTnYwVmpWZjg4N2JMTXdIdV80ZGxtbFJHUzZGcTE0In0","signature":"j58pSMGPWvOW_B58YRYc6-mnlNSs_Fuk4mN-BvNdgzWJpRTj-edy4kIY3DUgXGvv8QqwMgYpupQ-UinGlmZltUOWeWo97h2UyysrdrK8hosFQXbvn53olDAZgeNzmX4Yfapg8sl7F-k87-BFC9lmx6up3ae3yTnQtIsbgzma5rR-XMCdRc3JhB_MRVYC7ARqo05E-C8G6Y2Keh3wMWQXC27jz3-J5KJcqLGV3zHerAU1rVIVYQ7-RZY8VV8-IFbOVDn1iDUQIUqL6VusZt6vKGbYa8FNrtFyYTxSmNEIu6kN0lciEaK1s7Dk2_ewRvpgx6ZIzPc7espc8jVk_37eaPABozCXm_xYH_V3qOM3x3hUQLX-gBW-1WHVTjWdTIlozPU_PXMH0KDistScvh40i1snQOVR68SOK0lnlkUrsx6KRpdfhBesBIIEFLIqf1x_OicxZJCmwCANEaYfoUgeAlVcOECBiLwLQ4-mDVf5tll3AQgsgyay7AcN0hEIK-FilJV8EjWGhcu9EvqQmmL6WDcZFR-Xhkkk7hX2IsHBBIV4r0ndmwCjXvwyD_mbcccGTpodreFOZaQo6Jh0TBKNb7Csp1lZ3oE5Qgntfn6tQ0NO8AzwSwzzGkwrQ0vJd9hVw6JXhYUua5WvDGmy-_v0Rw5if3Sh8qfOYGTiUHTvhfk"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 202 message: Accepted headers: Server: - nginx Content-Type: - application/json Content-Length: - '337' Boulder-Request-Id: - QjyAxDtEOsuYLCxuzOQ7vH-aNhHy4KFlPJPlAurITvg Boulder-Requester: - '496458' Link: - ;rel="up" Location: - https://acme-staging.api.letsencrypt.org/acme/challenge/ctY8Ec4RD9-PXKZ3GGHUzE0KZa3ZK1qMttqrcrvC8eA/16907313 Replay-Nonce: - RtdEWhFlBtAHmgmOoIDjqHL1C3wOdAC4Kg2Z1NtB80E Expires: - Tue, 15 Nov 2016 15:47:17 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 15:47:17 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/ctY8Ec4RD9-PXKZ3GGHUzE0KZa3ZK1qMttqrcrvC8eA/16907313", "token": "zQBMXxIfbK4yB7x8SGjwY1cQBN3LbrwehmJe3p0vCiM", "keyAuthorization": "zQBMXxIfbK4yB7x8SGjwY1cQBN3LbrwehmJe3p0vCiM.N_hr5a44RLkNQNv0VjVf887bLMwHu_4dlmlRGS6Fq14" } http_version: recorded_at: Tue, 15 Nov 2016 15:47:17 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/challenge/73OZWvTewlUC30b61mXrF2xJCEfzRPseCeoDRVlziTs/16907316 body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiUnRkRVdoRmxCdEFIbWdtT29JRGpxSEwxQzN3T2RBQzRLZzJaMU50QjgwRSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiIxRG85anVDbkdUSTVrY1hWRXVFbWJxUWtjSjJMb09hSU5LRGlXZ0JKWGJ3U29aY3kxWERlVnVTRjZHSG5SZ19ncFdJMmVOTFdXYnJVMmxHX3lPbEJsWEZ6QzhaZTk5YXRVRVNVZ1dxZXNtQ1BRSUJhV0tsRDJhQWNzbmdHZDg0WTNpR0UxZUJhYlRLV3BuZ05Ba2w0VWlfa2xOQjRvTkk0U2JBVzIwMGFVYTRKVDZjUjNfcThlX0ViR2lFb2JBVXhGZEJtX0I0TTBwZ0RJWmd5RFdnYWhhNmdFbC11eGdMZkJ3OTI2dlA4aVBqZnlWZFplbVVBRjdxSzMzZUl4d1dNeEJJTl9tYzNpOS1kQXZnZ2NETXdoRzBaZmxZQkx2QlZGWS03Vk5qY1Y3OC00Vmo5NXF0R0JCOTlmNnc1Uklod0FXdFJiMURqMW56bG1iZmRCNDJhcktoT1JnTnlXSzE2YVBTb3RoS1BwV01TT09Vc19Bbm5wTVE4cFdpX1dabl9SSU1xbjZHcERuNVNpbEJrMnE5WjVicGVSTnNNc1JBRjhHTDR3UkFGZG5BRThTNWE3ck5DVk13bERKTUNiWk9PU1ZPa1ZJNlJ5dnVyNUoyajNtREh6a3FRdzVaaGNPeUhwQUVrVkc5NWFQQjVhenZHaWRZc1c3LU5sTlZ5d2c4NTdiRzNydDBRUlUwWENwUmRGYUZsUHp4cGN2djJWTzN2R2RzTjc3R3RSbUhyY3FiVWt0VHNDTl9qZDk5UU1JT1VLUkJWUGFnZHk3bFNGbk1Cc1c1eFBPMGZYdnpxd0t2YTcxN1dSV1lZUEJ4YkFDMDNnQnBoLWVsTmMwMnRqZjEwYXhSWlE3NUY0UDRiSTI0QkM3NHd3RndBdWZqUXdpNzd4dlZpcFh3cmdvOCJ9fQ","payload":"eyJyZXNvdXJjZSI6ImNoYWxsZW5nZSIsInR5cGUiOiJkbnMtMDEiLCJrZXlBdXRob3JpemF0aW9uIjoiWVQxdEs3Nm5EYi1yOHJRM21lT0tHVUMyM2J2emVQZVdFNHg1LWFnU2RZOC5OX2hyNWE0NFJMa05RTnYwVmpWZjg4N2JMTXdIdV80ZGxtbFJHUzZGcTE0In0","signature":"HTiNBDed0FvKKeEcSzYFMv4k4BFojZVjjSipO2Fw4sFzGeIEHN859QWc9benSi3Wry-wO2Z_-X9jJ-EmmSzf5GaqtziCJ0_jDJnqOogbFwhPqa7esoQsEpPDdLIwEofcxoFLLOFzv57DZCS74vKvwJfEqzzhuJ7M258B5khM4_I7Ccs4_aQMVIu0VuXcwhNo4O1MNJPi4PDktUJNbhdxVLs4v1EQu6o4OZ20xQ0MeAhZxXXD_cj2NXW-h5SeeomA578_6g4VkFz3ImIae97nvyTczIWpsvc6TAdFg6lFl0TTPB6nk92p56uZnoUS8a9qlL0hOu2Yv_OS1FQYHWIVNWJuEmNIea6wfP8ph6nifTI-PQJDdqrsfjKHoF7bfULMQeVUpX_qSzBzzH78yfu7J75OTme27Ev6viIeY7lzZmQoC_p-uAKQ6Zlc0GHJjf_pSZWUzCl0Gox_ts7isEloV6QU4uIEhpdIDELa9IRWlh4GEXYOXH7_mZeUeQBfTeOd2RuFqz7YJw_VQTrABRuilRB2ZXkAQgift2Eg2aGiadtXD45uS_ubF-PvSzd2DunWF5_l6FHKdIx3wPJgTxzLBC_2JjPx-p57a9InNRGMnoibwdF6dLcIa2wttAoNOvQuTwVvrX6BHdo-b9_RKN8Aao89m0ErG3TuSS8D5NuFKJc"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 202 message: Accepted headers: Server: - nginx Content-Type: - application/json Content-Length: - '337' Boulder-Request-Id: - pfGTVYusiY_H_BCLg5gWWWZDG0nmCTXmd5Q578bkD5I Boulder-Requester: - '496458' Link: - ;rel="up" Location: - https://acme-staging.api.letsencrypt.org/acme/challenge/73OZWvTewlUC30b61mXrF2xJCEfzRPseCeoDRVlziTs/16907316 Replay-Nonce: - FdlcZQJqCNxrXorMHyNvQzVf3TeVXQSr9j-w_APIyV4 Expires: - Tue, 15 Nov 2016 15:47:18 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 15:47:18 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/73OZWvTewlUC30b61mXrF2xJCEfzRPseCeoDRVlziTs/16907316", "token": "YT1tK76nDb-r8rQ3meOKGUC23bvzePeWE4x5-agSdY8", "keyAuthorization": "YT1tK76nDb-r8rQ3meOKGUC23bvzePeWE4x5-agSdY8.N_hr5a44RLkNQNv0VjVf887bLMwHu_4dlmlRGS6Fq14" } http_version: recorded_at: Tue, 15 Nov 2016 15:47:18 GMT recorded_with: VCR 3.0.3 ================================================ FILE: test/fixtures/vcr_cassettes/acme-new-authz.yml ================================================ --- http_interactions: - request: method: head uri: https://acme-staging.api.letsencrypt.org/acme/new-reg body: encoding: US-ASCII string: '' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept: - "*/*" response: status: code: 405 message: Method Not Allowed headers: Server: - nginx Content-Type: - application/problem+json Content-Length: - '91' Allow: - POST Boulder-Request-Id: - c1TukrYI7RZgnQOuKPKXqRpWbbyAo5F0jdsJKQ_ROSo Replay-Nonce: - AeFWUBqFZH1tVwq346N2d647mktaqiRrXUkuy3EULl4 Expires: - Tue, 15 Nov 2016 14:48:26 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 14:48:26 GMT Connection: - keep-alive body: encoding: UTF-8 string: '' http_version: recorded_at: Tue, 15 Nov 2016 14:48:26 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-reg body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiQWVGV1VCcUZaSDF0VndxMzQ2TjJkNjQ3bWt0YXFpUnJYVWt1eTNFVUxsNCIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiI3VUdTN2xVUVZCbzUxVGEwdVhydHA0MXJnLW9ac29zRTBXc3dCc0NadFFOSkRTTjRsYVFSX0owNDVET0RwZWpscVlaRG1laWs3TU44azRoNl84dURhcGJxNTJzRURZNGp4SHctOTFQeEotbEtMb01vQ2x4QWNINDFoam5VUU5EZk1CVHdGTl9qSTNRcUVYZU16cnpzWWNfQ1N5Z2p4aUFDX0NmLXlyLWRuMV9NSjQxaFYxQVdTc1RZd3ZGakQ4bGdXc0dJRVFrcDhWbHZYdGVZWkl0VmpWVG03UTh3Tm11Wm5WQ1drS1hKSmJkSnpiaTlVbmFvQ1ZuR1BmZzBUQm43cjNmV19nOFQ4M1ZJeG5lelRpOV9DUHp0bUlCVFpxWVd3Z21nZ2o4a1gzdzhUcHBWczZOY2FJWWJJYW9aak9IcjdZWW83dUtPWmRVNWtHZkRCemZSbVNMNzZqeVVTY19Ya0RUQzdvMk9KS0tkVGUwd2hOSTFrSUg1R1doS1FfWUhZZTE0cXljMHA3TjBoZ3pERFZ5bGlHMlJsRi1GazEtZ2pLRmZUbEVDdF9BMFcyc3ZTTnpkem1jak9xQjhsNWl0dGsxNF9JZmk3cEdsOUxWZGtRd3FUVVphd20zcVBrcjlrakdpWDhVVTRidjNRNkhQX3FkSjN2bU9pLVJYaEJSbFVTT2hxMjF6NWFKMnZveFFHNFVJSHZPQjYyY3NCT21zeHpiMndQZUxUWHlZN2oyaUJveVlOMmt2UXpHZmxaM3lSdkVvRU42QnlsZFFsRndqa3pTX2dWQXJUcU1aU2NoZnZpSnZHRUpQdktWekx1S01udHBHZ2oxY0xPN0xvdDRsTDBHWVRtSlVEWDRTbU01bEJ2RlMwMXptWC1lWGZlV0NEMmFJcDZ6UU1vOCJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1yZWciLCJjb250YWN0IjpbIm1haWx0bzptYXhAc3Vic3RyYWt0LmNvbSJdfQ","signature":"XfyNAZXAiAi8Nxv079YQdUDHGAF2i97Q571QOWMCGk-ieqFu5W4wFffHMXibR0F13xO6wILrDU_PZGq3qK-KxnIJ9B98F8vx3IHH4RmkzX9jxdbh3FyadfNE3rs1dGB_8XRZfaSFwt9RbBBgwmF_-HlB073rCA3zY7n01yBP_rZjsHyYuYrDb8JLbPUfxU0z6n2lwAUxVmy-YaiP8A5MV9OEj2udtQXu6vmzZXF0ggTjWe1qdtfD1sRUN9eCYgis4tOqR8U0-DE1QtFoB3H_CC_97zxqWvP0z2UEJoEnfRdwE-K7xKZX2k_pzIVFjOr1GGRNEKnI1xm3mbRmuvm6pPFMPWftRPG9WiporM75pClmL_nsyFVRRz-hRXHMITQ4Ts3zWiNFZc2sXSzG8tHg85ocpCq_aRwcXV68d7I7-kxeXm_4b3iLWFWPYOEy3gmdT8rf6LyqYRpP7s2s5xu-GhxRj8njYcut3USK6yUoSfkSl6n_KPPgpQEnUtPpCEzJXOHVto5IN-lM-cxR4n9tT91HQuDhd9keO_aloqiDsRDDu5Ce_gM6pIeh7srhVTd0wLbAcSBxeqHjnOdpwhfW5duEXFqbAj6Z3CnqxRN8u0Ta4NSds8N7pmza6pvF9tfV6JFnFxbwwmYVKTdKWxLfrx-wA6ZqBp-k9UfgolU4Ou8"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '914' Boulder-Request-Id: - nZ-yyZ55akI1j1pyePOKOc-1ZuIoWa1r5FmilihiOrI Boulder-Requester: - '496323' Link: - ;rel="next" - ;rel="terms-of-service" Location: - https://acme-staging.api.letsencrypt.org/acme/reg/496323 Replay-Nonce: - MtjKXaKeqpWpFBsdAS-Kem5ZQgc3qEpIl9Lwh-7VREQ X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Tue, 15 Nov 2016 14:48:27 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 14:48:27 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "id": 496323, "key": { "kty": "RSA", "n": "7UGS7lUQVBo51Ta0uXrtp41rg-oZsosE0WswBsCZtQNJDSN4laQR_J045DODpejlqYZDmeik7MN8k4h6_8uDapbq52sEDY4jxHw-91PxJ-lKLoMoClxAcH41hjnUQNDfMBTwFN_jI3QqEXeMzrzsYc_CSygjxiAC_Cf-yr-dn1_MJ41hV1AWSsTYwvFjD8lgWsGIEQkp8VlvXteYZItVjVTm7Q8wNmuZnVCWkKXJJbdJzbi9UnaoCVnGPfg0TBn7r3fW_g8T83VIxnezTi9_CPztmIBTZqYWwgmggj8kX3w8TppVs6NcaIYbIaoZjOHr7YYo7uKOZdU5kGfDBzfRmSL76jyUSc_XkDTC7o2OJKKdTe0whNI1kIH5GWhKQ_YHYe14qyc0p7N0hgzDDVyliG2RlF-Fk1-gjKFfTlECt_A0W2svSNzdzmcjOqB8l5ittk14_Ifi7pGl9LVdkQwqTUZawm3qPkr9kjGiX8UU4bv3Q6HP_qdJ3vmOi-RXhBRlUSOhq21z5aJ2voxQG4UIHvOB62csBOmsxzb2wPeLTXyY7j2iBoyYN2kvQzGflZ3yRvEoEN6ByldQlFwjkzS_gVArTqMZSchfviJvGEJPvKVzLuKMntpGgj1cLO7Lot4lL0GYTmJUDX4SmM5lBvFS01zmX-eXfeWCD2aIp6zQMo8", "e": "AQAB" }, "contact": [ "mailto:max@substrakt.com" ], "initialIp": "213.123.191.198", "createdAt": "2016-11-15T14:48:27.317949602Z", "Status": "" } http_version: recorded_at: Tue, 15 Nov 2016 14:48:27 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/reg/496323 body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiTXRqS1hhS2VxcFdwRkJzZEFTLUtlbTVaUWdjM3FFcElsOUx3aC03VlJFUSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiI3VUdTN2xVUVZCbzUxVGEwdVhydHA0MXJnLW9ac29zRTBXc3dCc0NadFFOSkRTTjRsYVFSX0owNDVET0RwZWpscVlaRG1laWs3TU44azRoNl84dURhcGJxNTJzRURZNGp4SHctOTFQeEotbEtMb01vQ2x4QWNINDFoam5VUU5EZk1CVHdGTl9qSTNRcUVYZU16cnpzWWNfQ1N5Z2p4aUFDX0NmLXlyLWRuMV9NSjQxaFYxQVdTc1RZd3ZGakQ4bGdXc0dJRVFrcDhWbHZYdGVZWkl0VmpWVG03UTh3Tm11Wm5WQ1drS1hKSmJkSnpiaTlVbmFvQ1ZuR1BmZzBUQm43cjNmV19nOFQ4M1ZJeG5lelRpOV9DUHp0bUlCVFpxWVd3Z21nZ2o4a1gzdzhUcHBWczZOY2FJWWJJYW9aak9IcjdZWW83dUtPWmRVNWtHZkRCemZSbVNMNzZqeVVTY19Ya0RUQzdvMk9KS0tkVGUwd2hOSTFrSUg1R1doS1FfWUhZZTE0cXljMHA3TjBoZ3pERFZ5bGlHMlJsRi1GazEtZ2pLRmZUbEVDdF9BMFcyc3ZTTnpkem1jak9xQjhsNWl0dGsxNF9JZmk3cEdsOUxWZGtRd3FUVVphd20zcVBrcjlrakdpWDhVVTRidjNRNkhQX3FkSjN2bU9pLVJYaEJSbFVTT2hxMjF6NWFKMnZveFFHNFVJSHZPQjYyY3NCT21zeHpiMndQZUxUWHlZN2oyaUJveVlOMmt2UXpHZmxaM3lSdkVvRU42QnlsZFFsRndqa3pTX2dWQXJUcU1aU2NoZnZpSnZHRUpQdktWekx1S01udHBHZ2oxY0xPN0xvdDRsTDBHWVRtSlVEWDRTbU01bEJ2RlMwMXptWC1lWGZlV0NEMmFJcDZ6UU1vOCJ9fQ","payload":"eyJyZXNvdXJjZSI6InJlZyIsImFncmVlbWVudCI6Imh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL2RvY3VtZW50cy9MRS1TQS12MS4xLjEtQXVndXN0LTEtMjAxNi5wZGYifQ","signature":"usC1SwuUilo1mSMP1FV12dezLOtxENX_NCJFkHXywFfT9LfIL13HXkBWi92eg1vvrRtKkjBTrnHFsZ4tPQvCZrZEWLRyyBDf1GXmS9YaYKcMwXKJx6g5lSwdjJ6-oLVvCguJF-eoxz7YsadwuZZ7Pe4U7uOt4ZzZftfLHB2kz2A73tcsvXxJyjQjF_6ZRM6VkPuVcVCxkXG1BvUjQl7B4nwNlXz_ph4vvu5W2QYQD_opLMHE91AAG2sCmxpXxethwrE3zfDk5wb4xWXWeQIjKOfD_GheJ20TisBgRGLkGEIpHRU-V8xMMI6RrU_70s491dRxkyVakeeAN_8naVtMwd8hfTFAfi814ZcNlZuIFK51MlnAeAHB263_EAjN6OFMf7pTw-Ck-PkNryQqilFa8QRsDbp9wgy1lIgcAV2WlHQ0M27Mg5nb-fqaFxgjRpZU24mSavbGu1vZunIKarTR7wL3is1hP8v8EALenq_1lzHSDyr9B_G-uzKP-QEl1t0Nsyd9hLDcrMAK1pQnYce0ShkkNj9WCq4BBpu0-04CN9ooR7PorJJqR3EpftJ8v5bvo3nNfDjuYtIOwXQS5OPRYkHfyzzgJEU9lCVwZScYNfZilNHBSx_rTXZH6KY9cQaB5__Y3atHegmFOBLXbTh47_S6LeWPaWMkrV4i0biFi0I"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 202 message: Accepted headers: Server: - nginx Content-Type: - application/json Content-Length: - '987' Boulder-Request-Id: - gvHEqmg_DZZReGmZxV4ol4VUPbzujJaXhd4jgKn1LBc Boulder-Requester: - '496323' Link: - ;rel="next" - ;rel="terms-of-service" Replay-Nonce: - BiQgiIOi-1e_tg6Fr21H4sVFDYD8s84VO_WDws0gvXQ Expires: - Tue, 15 Nov 2016 14:48:27 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 14:48:27 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "id": 496323, "key": { "kty": "RSA", "n": "7UGS7lUQVBo51Ta0uXrtp41rg-oZsosE0WswBsCZtQNJDSN4laQR_J045DODpejlqYZDmeik7MN8k4h6_8uDapbq52sEDY4jxHw-91PxJ-lKLoMoClxAcH41hjnUQNDfMBTwFN_jI3QqEXeMzrzsYc_CSygjxiAC_Cf-yr-dn1_MJ41hV1AWSsTYwvFjD8lgWsGIEQkp8VlvXteYZItVjVTm7Q8wNmuZnVCWkKXJJbdJzbi9UnaoCVnGPfg0TBn7r3fW_g8T83VIxnezTi9_CPztmIBTZqYWwgmggj8kX3w8TppVs6NcaIYbIaoZjOHr7YYo7uKOZdU5kGfDBzfRmSL76jyUSc_XkDTC7o2OJKKdTe0whNI1kIH5GWhKQ_YHYe14qyc0p7N0hgzDDVyliG2RlF-Fk1-gjKFfTlECt_A0W2svSNzdzmcjOqB8l5ittk14_Ifi7pGl9LVdkQwqTUZawm3qPkr9kjGiX8UU4bv3Q6HP_qdJ3vmOi-RXhBRlUSOhq21z5aJ2voxQG4UIHvOB62csBOmsxzb2wPeLTXyY7j2iBoyYN2kvQzGflZ3yRvEoEN6ByldQlFwjkzS_gVArTqMZSchfviJvGEJPvKVzLuKMntpGgj1cLO7Lot4lL0GYTmJUDX4SmM5lBvFS01zmX-eXfeWCD2aIp6zQMo8", "e": "AQAB" }, "contact": [ "mailto:max@substrakt.com" ], "agreement": "https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf", "initialIp": "213.123.191.198", "createdAt": "2016-11-15T14:48:27Z", "Status": "" } http_version: recorded_at: Tue, 15 Nov 2016 14:48:27 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-authz body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiQmlRZ2lJT2ktMWVfdGc2RnIyMUg0c1ZGRFlEOHM4NFZPX1dEd3MwZ3ZYUSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiI3VUdTN2xVUVZCbzUxVGEwdVhydHA0MXJnLW9ac29zRTBXc3dCc0NadFFOSkRTTjRsYVFSX0owNDVET0RwZWpscVlaRG1laWs3TU44azRoNl84dURhcGJxNTJzRURZNGp4SHctOTFQeEotbEtMb01vQ2x4QWNINDFoam5VUU5EZk1CVHdGTl9qSTNRcUVYZU16cnpzWWNfQ1N5Z2p4aUFDX0NmLXlyLWRuMV9NSjQxaFYxQVdTc1RZd3ZGakQ4bGdXc0dJRVFrcDhWbHZYdGVZWkl0VmpWVG03UTh3Tm11Wm5WQ1drS1hKSmJkSnpiaTlVbmFvQ1ZuR1BmZzBUQm43cjNmV19nOFQ4M1ZJeG5lelRpOV9DUHp0bUlCVFpxWVd3Z21nZ2o4a1gzdzhUcHBWczZOY2FJWWJJYW9aak9IcjdZWW83dUtPWmRVNWtHZkRCemZSbVNMNzZqeVVTY19Ya0RUQzdvMk9KS0tkVGUwd2hOSTFrSUg1R1doS1FfWUhZZTE0cXljMHA3TjBoZ3pERFZ5bGlHMlJsRi1GazEtZ2pLRmZUbEVDdF9BMFcyc3ZTTnpkem1jak9xQjhsNWl0dGsxNF9JZmk3cEdsOUxWZGtRd3FUVVphd20zcVBrcjlrakdpWDhVVTRidjNRNkhQX3FkSjN2bU9pLVJYaEJSbFVTT2hxMjF6NWFKMnZveFFHNFVJSHZPQjYyY3NCT21zeHpiMndQZUxUWHlZN2oyaUJveVlOMmt2UXpHZmxaM3lSdkVvRU42QnlsZFFsRndqa3pTX2dWQXJUcU1aU2NoZnZpSnZHRUpQdktWekx1S01udHBHZ2oxY0xPN0xvdDRsTDBHWVRtSlVEWDRTbU01bEJ2RlMwMXptWC1lWGZlV0NEMmFJcDZ6UU1vOCJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1hdXRoeiIsImlkZW50aWZpZXIiOnsidHlwZSI6ImRucyIsInZhbHVlIjoid3d3LnN1YnN0cmFrdC5jb20ifX0","signature":"VOvdQAJ2XrgnzHzRzdNualf_RFko12afEJXh2YIWVunTJBOVsD3sTuWMUc9Ut9KsZLNpWqGrknHM6V4SSAFgJhB9CRSTO93SqcdJpMaBy_wLRCRpDdLL_3Iwj5-gTe45GE6lJi8eRDe0D_frKnBjD-OX4SqltHs_0CXpsK4-X2tPJjDlkiZi0ALLjLWJR_DWbSdDEKlrfy1-4qDr-qC_NewLK6uLQCCd3lJM8RYyq90ShvQBg1tIKsKHalff36NEawn4fmFarf9DfOLTC_G2wNyOpBeYSBn6CO0ELvxGVhGCW5Ba24jkvLZBm0deRHwAl0rntCA-8NMC7FbV831tHAm9Zi05upH0jC8pcKMkcbK36Dia0ERZXldKGoevWDWtVrnk-7xWp2NQl_AuuMFAgVtaUoctjPjWQ5WdRSkJ0HzvkPtuqh0fIJlFn5Cj0RsNCRadlEqIZ_CrmtxxfipnBZgd8Qqmv2euiScmGwpljVnYC1GKm_C6pWYvErCmAR-3IZBDiLGWmXBJXyEA0oHan3Ygbcmz1SRAqn2qeJ369wrrUW6CPKswTiC_jbHLevn62OBPQK3KCcLMvHB0RNSbIwPi_fO44ayAna5jLUudBdVQmnar6f9LhQBU588KuHLdLY9BeIEGAcDwZ87QUso89HbjXvokQECtqiRSC7HofQU"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '1011' Boulder-Request-Id: - 0heYs4WC56eEZj84h-_nixywOKre6fQ3DP4Rc0vMM78 Boulder-Requester: - '496323' Link: - ;rel="next" Location: - https://acme-staging.api.letsencrypt.org/acme/authz/XiSJFBXqy_UyLBn8VqLNi9Efon9ED0rqva0QlOwzl0Q Replay-Nonce: - pOV-Ysk81zbjs4sNtmlTh2OSk81V-fiyqateRvxcK1g X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Tue, 15 Nov 2016 14:48:28 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 14:48:28 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "identifier": { "type": "dns", "value": "www.substrakt.com" }, "status": "pending", "expires": "2016-11-22T14:48:28.313172365Z", "challenges": [ { "type": "http-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/XiSJFBXqy_UyLBn8VqLNi9Efon9ED0rqva0QlOwzl0Q/16905560", "token": "UaQ6dLdzwTdeI6PjyjQt3yU0tj59o-qAZCstMrEqWGE" }, { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/XiSJFBXqy_UyLBn8VqLNi9Efon9ED0rqva0QlOwzl0Q/16905561", "token": "CUsaZDcAW7vkB-A2C9NKXZYoDFcPPcY1pQDi1KK3HbU" }, { "type": "tls-sni-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/XiSJFBXqy_UyLBn8VqLNi9Efon9ED0rqva0QlOwzl0Q/16905562", "token": "Cdgs76wiVM_S3qR9ek5oeG3IHeKHv1l4RK5pOSuKD4I" } ], "combinations": [ [ 2 ], [ 1 ], [ 0 ] ] } http_version: recorded_at: Tue, 15 Nov 2016 14:48:28 GMT - request: method: post uri: https://www.cloudflare.com/api_json.html body: encoding: US-ASCII string: a=rec_new&z=substrakt.com&type=TXT&name=_acme-challenge.www.substrakt.com&content=T1AEbbzVT91Ub5rFzWIwP7nC0a3sQl8xSyRHfdGMsyA&ttl=1&service_mode=1&tkn=testtoken&u=max%40substrakt.com headers: Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" User-Agent: - Ruby Content-Type: - application/x-www-form-urlencoded response: status: code: 200 message: OK headers: Date: - Tue, 15 Nov 2016 14:48:29 GMT Content-Type: - application/json Transfer-Encoding: - chunked Connection: - keep-alive Set-Cookie: - CF_UALE=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0 - __cfduid=dbc1ccfcd37ce095508fc0f7ef23e13fc1479221308; expires=Wed, 15-Nov-17 14:48:28 GMT; path=/; domain=.cloudflare.com; HttpOnly - vses2=30v445kufo2h1gvajafrvigbr4; path=/; domain=www.cloudflare.com; secure; HttpOnly Expires: - Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN Content-Security-Policy: - default-src 'self' https://*; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://* data:; img-src 'self' https://* data:; style-src 'self' 'unsafe-inline' https://*; font-src 'self' https://* data:; frame-src https://*; connect-src 'self' https://* wss://*.zopim.com data:; X-Xss-Protection: - 1; mode=block Server: - cloudflare-nginx Cf-Ray: - 3023811bbb123608-LHR body: encoding: ASCII-8BIT string: '{"request":{"act":"rec_new"},"response":{"rec":{"obj":{"rec_id":"658540537","rec_hash":"4f3e50de88be57ccc4c67941099a4db9","zone_name":"substrakt.com","name":"_acme-challenge.www.substrakt.com","display_name":"_acme-challenge.www","type":"TXT","prio":null,"content":"T1AEbbzVT91Ub5rFzWIwP7nC0a3sQl8xSyRHfdGMsyA","display_content":"T1AEbbzVT91Ub5rFzWIwP7nC0a3sQl8xSyRHfdGMsyA","ttl":"1","ttl_ceil":86400,"ssl_id":"5084311","ssl_status":"V","ssl_expires_on":null,"auto_ttl":1,"service_mode":"0","props":{"proxiable":0,"cloud_on":0,"cf_open":1,"vanity_lock":0,"ssl":1,"expired_ssl":0,"expiring_ssl":0,"pending_ssl":0}}}},"result":"success","msg":null}' http_version: recorded_at: Tue, 15 Nov 2016 14:48:29 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-authz body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoicE9WLVlzazgxemJqczRzTnRtbFRoMk9TazgxVi1maXlxYXRlUnZ4Y0sxZyIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiI3VUdTN2xVUVZCbzUxVGEwdVhydHA0MXJnLW9ac29zRTBXc3dCc0NadFFOSkRTTjRsYVFSX0owNDVET0RwZWpscVlaRG1laWs3TU44azRoNl84dURhcGJxNTJzRURZNGp4SHctOTFQeEotbEtMb01vQ2x4QWNINDFoam5VUU5EZk1CVHdGTl9qSTNRcUVYZU16cnpzWWNfQ1N5Z2p4aUFDX0NmLXlyLWRuMV9NSjQxaFYxQVdTc1RZd3ZGakQ4bGdXc0dJRVFrcDhWbHZYdGVZWkl0VmpWVG03UTh3Tm11Wm5WQ1drS1hKSmJkSnpiaTlVbmFvQ1ZuR1BmZzBUQm43cjNmV19nOFQ4M1ZJeG5lelRpOV9DUHp0bUlCVFpxWVd3Z21nZ2o4a1gzdzhUcHBWczZOY2FJWWJJYW9aak9IcjdZWW83dUtPWmRVNWtHZkRCemZSbVNMNzZqeVVTY19Ya0RUQzdvMk9KS0tkVGUwd2hOSTFrSUg1R1doS1FfWUhZZTE0cXljMHA3TjBoZ3pERFZ5bGlHMlJsRi1GazEtZ2pLRmZUbEVDdF9BMFcyc3ZTTnpkem1jak9xQjhsNWl0dGsxNF9JZmk3cEdsOUxWZGtRd3FUVVphd20zcVBrcjlrakdpWDhVVTRidjNRNkhQX3FkSjN2bU9pLVJYaEJSbFVTT2hxMjF6NWFKMnZveFFHNFVJSHZPQjYyY3NCT21zeHpiMndQZUxUWHlZN2oyaUJveVlOMmt2UXpHZmxaM3lSdkVvRU42QnlsZFFsRndqa3pTX2dWQXJUcU1aU2NoZnZpSnZHRUpQdktWekx1S01udHBHZ2oxY0xPN0xvdDRsTDBHWVRtSlVEWDRTbU01bEJ2RlMwMXptWC1lWGZlV0NEMmFJcDZ6UU1vOCJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1hdXRoeiIsImlkZW50aWZpZXIiOnsidHlwZSI6ImRucyIsInZhbHVlIjoic3Vic3RyYWt0LmNvbSJ9fQ","signature":"6HzorSXkl3L60YCtIUlWjPm_7pq_pUWhnK4DdJMnKNuBp1oTr5-XutDsfakiqVn8p7HQ3SsMIm4R03ZnpUhG65dUa8GybXYeQ4C0BL5voUVsAG6CCNjUHd3N_EiqIYDXBabWxQkb_7TIADTRMcEIdkqgRTX6CZBwdduIXGmHSR8d-nsTYqtm7-9uZ-KOEWo4M_X78yP8mfPniCyAtfAwIzXXRivN4KqjurAbkdjBKQMUfIx7VeUEkpmGMMnPTovPiRfaOvd2KTf2KL2Eukw8QvDDPpSnz2LlafbbT7xQAEguduUygGVehEW5iy5UhC3e2o6Dy_KIR1NhLnVqZVFIa7GTeRJw3SnbO5MEDhmTR7fUMLEhdggGiCjD3MudRpdAqrCVFUPchMfZkAYw8QNrvKGs2MSi_Dr3S2VHfZK5rd47l_ieGyX9TEU1b_aUJatQfyps-CdoJR6uGYg6dBCEDUOg0BTTnlb0xb_k4tZ-Q3SLfmjxY08ZlAg5kzMXHTthn_UMmNo5FifFM0orROIwte57LLwq-OEjaTrT0I8Q6Qh1g4WX_jBzF_i71YDR2Pr_VoMVyvGYnHNKv2UL3qCxIBMgk5irq9dydK2dCYf-rwQbHMKBAjoBrl0YYRhegTCxBKLKAIho_DGpdFe4fGzshOKgRxE0itkxTy9ufuGNlD8"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '1007' Boulder-Request-Id: - qEMT7nuW_s51mabn-LNGuD_Yg34vKXn8tDXGEKaShx4 Boulder-Requester: - '496323' Link: - ;rel="next" Location: - https://acme-staging.api.letsencrypt.org/acme/authz/qt2yNI_uWEaOuCPGP_ittq1F2155pRUoIu6WXxBzvTY Replay-Nonce: - lSLVb3oO87aNOdjiYR_kEK5_zNG6WKJGA76EKGQZbrY X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Tue, 15 Nov 2016 14:48:29 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 14:48:29 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "identifier": { "type": "dns", "value": "substrakt.com" }, "status": "pending", "expires": "2016-11-22T14:48:29.335487866Z", "challenges": [ { "type": "tls-sni-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/qt2yNI_uWEaOuCPGP_ittq1F2155pRUoIu6WXxBzvTY/16905563", "token": "JapIxchqTYiV8mNPXx7cluko_FoHVj-f-c4WM9lYlc4" }, { "type": "http-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/qt2yNI_uWEaOuCPGP_ittq1F2155pRUoIu6WXxBzvTY/16905564", "token": "27QKuPw2rjpgpRk0sS8uAj_sRJ7aABQsHyzCYZbDBOM" }, { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/qt2yNI_uWEaOuCPGP_ittq1F2155pRUoIu6WXxBzvTY/16905565", "token": "GuVnBgIrY1TscKVedwhrhzGucaW7zSyYVCDDc8qypvI" } ], "combinations": [ [ 1 ], [ 0 ], [ 2 ] ] } http_version: recorded_at: Tue, 15 Nov 2016 14:48:29 GMT - request: method: post uri: https://www.cloudflare.com/api_json.html body: encoding: US-ASCII string: a=rec_new&z=substrakt.com&type=TXT&name=_acme-challenge.substrakt.com&content=iS3AXcwn8hqJ5M0HWYj44GMrQCfD-faRnC_sZX-lGmI&ttl=1&service_mode=1&tkn=testtoken&u=max%40substrakt.com headers: Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" User-Agent: - Ruby Content-Type: - application/x-www-form-urlencoded response: status: code: 200 message: OK headers: Date: - Tue, 15 Nov 2016 14:48:29 GMT Content-Type: - application/json Transfer-Encoding: - chunked Connection: - keep-alive Set-Cookie: - CF_UALE=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0 - __cfduid=dae730d5524173a9399243eef348457781479221309; expires=Wed, 15-Nov-17 14:48:29 GMT; path=/; domain=.cloudflare.com; HttpOnly - vses2=jqh79kdlqq9cn60dldl8k7ef53; path=/; domain=www.cloudflare.com; secure; HttpOnly Expires: - Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN Content-Security-Policy: - default-src 'self' https://*; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://* data:; img-src 'self' https://* data:; style-src 'self' 'unsafe-inline' https://*; font-src 'self' https://* data:; frame-src https://*; connect-src 'self' https://* wss://*.zopim.com data:; X-Xss-Protection: - 1; mode=block Server: - cloudflare-nginx Cf-Ray: - 30238120abec34ee-LHR body: encoding: ASCII-8BIT string: '{"request":{"act":"rec_new"},"response":{"rec":{"obj":{"rec_id":"658540546","rec_hash":"9d765d7ed469c238d50a316d8a5731a3","zone_name":"substrakt.com","name":"_acme-challenge.substrakt.com","display_name":"_acme-challenge","type":"TXT","prio":null,"content":"iS3AXcwn8hqJ5M0HWYj44GMrQCfD-faRnC_sZX-lGmI","display_content":"iS3AXcwn8hqJ5M0HWYj44GMrQCfD-faRnC_sZX-lGmI","ttl":"1","ttl_ceil":86400,"ssl_id":"5084311","ssl_status":"V","ssl_expires_on":null,"auto_ttl":1,"service_mode":"0","props":{"proxiable":0,"cloud_on":0,"cf_open":1,"vanity_lock":0,"ssl":1,"expired_ssl":0,"expiring_ssl":0,"pending_ssl":0}}}},"result":"success","msg":null}' http_version: recorded_at: Tue, 15 Nov 2016 14:48:29 GMT recorded_with: VCR 3.0.3 ================================================ FILE: test/fixtures/vcr_cassettes/acme-new-reg-debug.yml ================================================ --- http_interactions: - request: method: head uri: https://acme-staging.api.letsencrypt.org/acme/new-reg body: encoding: US-ASCII string: '' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept: - "*/*" response: status: code: 405 message: Method Not Allowed headers: Server: - nginx Content-Type: - application/problem+json Content-Length: - '91' Allow: - POST Boulder-Request-Id: - UWpOUWqqFqqjOOwYsxJaVNe8YMS93yrpHx5IvQWNqfw Replay-Nonce: - MXk8W4jN2w39jf6mWaSzMCZDxeLY9QApxfD8P7HdR90 Expires: - Tue, 15 Nov 2016 14:41:55 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 14:41:55 GMT Connection: - keep-alive body: encoding: UTF-8 string: '' http_version: recorded_at: Tue, 15 Nov 2016 14:41:55 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-reg body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiTVhrOFc0ak4ydzM5amY2bVdhU3pNQ1pEeGVMWTlRQXB4ZkQ4UDdIZFI5MCIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiIxUFU1Y1BKejMxeDJWTTdlNFN2TVZYa1gzTHJ3cVhjaVNaTmhYMFNhQXVEMjYxVHVzbU1mdFI2aWZfYmxfa21acFVhSEM4bkszS3JyQ3hFdE1sQlBDTmFIR1Y3M0k0WlRLSVpDZWp2RU5yUU5idmxLWnlUREo3VFNLOE95VWpXQ1VYX3EtUFJJblpmelR0aFRlRTNRRFpVXzFINHlWTVI1TFpVTUhMY2FqQUVGNWhMc2NyYjRsaWQtT3dHR1o4eFVMTDQtRXdscDM5OEl2TnlGRjcwQmhmOUZlX1ZTZDlYWEJ2LTczekhNS3JKT3hxQjFLcWxvRGd6SGJlR2NEVFktLS1ZQ1ZIX0JRS2o3NkZIdEFaMFZadjFZekhqcVdIRTRWRk5iMlp1NWVKa2psRmhJaE5xdnhRcHZnZ0tlamNVWndzMFFoX3FnZ2c4RW9kamtvelZneHhXdFllS0FBdWNISTFtdXZOWWFFMHNWQ0hoRkRraUY5MExqc2RWMGptLWlQaVpQcmxYSDF5QVl1UEYxZ3pDSVZRR051TWwyYVZxMDNxQ3FXa25uNVVNcXdMZndXVHRMMmRaclBBWXVyOVA0UGN6TmdLaGt0ellZSXYzdk1wTWdWT0UwTHl5MS1FVmFFXzBvR0lBYkhGWjRTVFlRQks2QjZYMzBzN3pDQmRSWmZwUUIyLTF4TjhyeGR2LTA5NWdqdU9DU29wd1l2eVFTd2ZCM2RuWDE0QWFUbEdPQjBMWFktOU4wYjdqNmZKRDd1WmctMFJYQkxHeVg4QWFmaFhmNS1kVkVVZGE0OFowN3k2QV81WElGOVFZT1liSDhOalJ4MlRwdlRBNkxrYVNpNEpjQ2dhWDhuelBiWGVjUkdoM2EtU0RGX3B0TDNFSFhOUVAtVkN2bVhORSJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1yZWciLCJjb250YWN0IjpbIm1haWx0bzp0ZXN0QGV4YW1wbGUuY29tIl19","signature":"pW6vt3Z3vk_VQ78QEa_-I84r14wo8rvT9Q2AIKu-IOJ0a4wqPUlb8fOIpctw_YCNQ7wePiTlzbSSLw_nxHE17Ex4gSluHp0WANAIYAUjBf21F3eGNddlaXhCmRPNdiKEGOCBDD27NLk4VySXq837nPXgi2QbExMRc-4CZmf8HqZkCzYk08rurhDTTviF1ddsj5iMQFLWffIQ6gPa3bwCgyqFXa4qHxPgUBxiZJmjkOED_1VGDEo6nLOyXcMZ7DFx9-df5BeMJYaDY54XlpkqoxA3MFW9kVD2RGe1ntsc4Q_DqPU8iGF_d3qgrzGUINM2EpFZDqnuJmMg4Mcwpz7WFOlBRLA4j6ptqtHes8YlB3lSb-E-TQ92XOksWTnjHAONAef35pjCYMtGuAf3rz70qniHFCg2K0hJHj9-0Y1KieXN2As6wkWhhun1uT3m4d-TYtR1Oa1CLtjsAMx1ySsTlB3RWh_IIUUgG9kjYSjazKdrSTUuf8BfxtOrPZH72Mo3f-cS6QJ7kIxjwtEue2Nv161G08RiYxbfkfBy7VQ9tuyFbYxTx5eCPsoRDfZUajpFXIH9tfw4wG0OULVokIbd-mHqCIEeUsRzQZFj5mKk3oLsE0PZfWTBffq-W2uvINDVtTPvkd0Jp3quUgLuRGTGJVln6jWlQ6vM6TRKFuCyPGA"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '913' Boulder-Request-Id: - 5LZis7RtRmya02s6cXLWQFhwp8JRZgS0vi-IRQByLkE Boulder-Requester: - '496313' Link: - ;rel="next" - ;rel="terms-of-service" Location: - https://acme-staging.api.letsencrypt.org/acme/reg/496313 Replay-Nonce: - bsGm96gV303IXx_O1Pf9c140KSjsnr7Ge-TNX992vPY X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Tue, 15 Nov 2016 14:41:56 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 14:41:56 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "id": 496313, "key": { "kty": "RSA", "n": "1PU5cPJz31x2VM7e4SvMVXkX3LrwqXciSZNhX0SaAuD261TusmMftR6if_bl_kmZpUaHC8nK3KrrCxEtMlBPCNaHGV73I4ZTKIZCejvENrQNbvlKZyTDJ7TSK8OyUjWCUX_q-PRInZfzTthTeE3QDZU_1H4yVMR5LZUMHLcajAEF5hLscrb4lid-OwGGZ8xULL4-Ewlp398IvNyFF70Bhf9Fe_VSd9XXBv-73zHMKrJOxqB1KqloDgzHbeGcDTY---YCVH_BQKj76FHtAZ0VZv1YzHjqWHE4VFNb2Zu5eJkjlFhIhNqvxQpvggKejcUZws0Qh_qggg8EodjkozVgxxWtYeKAAucHI1muvNYaE0sVCHhFDkiF90LjsdV0jm-iPiZPrlXH1yAYuPF1gzCIVQGNuMl2aVq03qCqWknn5UMqwLfwWTtL2dZrPAYur9P4PczNgKhktzYYIv3vMpMgVOE0Lyy1-EVaE_0oGIAbHFZ4STYQBK6B6X30s7zCBdRZfpQB2-1xN8rxdv-095gjuOCSopwYvyQSwfB3dnX14AaTlGOB0LXY-9N0b7j6fJD7uZg-0RXBLGyX8AafhXf5-dVEUda48Z07y6A_5XIF9QYOYbH8NjRx2TpvTA6LkaSi4JcCgaX8nzPbXecRGh3a-SDF_ptL3EHXNQP-VCvmXNE", "e": "AQAB" }, "contact": [ "mailto:test@example.com" ], "initialIp": "213.123.191.198", "createdAt": "2016-11-15T14:41:56.595826055Z", "Status": "" } http_version: recorded_at: Tue, 15 Nov 2016 14:41:56 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/reg/496313 body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiYnNHbTk2Z1YzMDNJWHhfTzFQZjljMTQwS1Nqc25yN0dlLVROWDk5MnZQWSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiIxUFU1Y1BKejMxeDJWTTdlNFN2TVZYa1gzTHJ3cVhjaVNaTmhYMFNhQXVEMjYxVHVzbU1mdFI2aWZfYmxfa21acFVhSEM4bkszS3JyQ3hFdE1sQlBDTmFIR1Y3M0k0WlRLSVpDZWp2RU5yUU5idmxLWnlUREo3VFNLOE95VWpXQ1VYX3EtUFJJblpmelR0aFRlRTNRRFpVXzFINHlWTVI1TFpVTUhMY2FqQUVGNWhMc2NyYjRsaWQtT3dHR1o4eFVMTDQtRXdscDM5OEl2TnlGRjcwQmhmOUZlX1ZTZDlYWEJ2LTczekhNS3JKT3hxQjFLcWxvRGd6SGJlR2NEVFktLS1ZQ1ZIX0JRS2o3NkZIdEFaMFZadjFZekhqcVdIRTRWRk5iMlp1NWVKa2psRmhJaE5xdnhRcHZnZ0tlamNVWndzMFFoX3FnZ2c4RW9kamtvelZneHhXdFllS0FBdWNISTFtdXZOWWFFMHNWQ0hoRkRraUY5MExqc2RWMGptLWlQaVpQcmxYSDF5QVl1UEYxZ3pDSVZRR051TWwyYVZxMDNxQ3FXa25uNVVNcXdMZndXVHRMMmRaclBBWXVyOVA0UGN6TmdLaGt0ellZSXYzdk1wTWdWT0UwTHl5MS1FVmFFXzBvR0lBYkhGWjRTVFlRQks2QjZYMzBzN3pDQmRSWmZwUUIyLTF4TjhyeGR2LTA5NWdqdU9DU29wd1l2eVFTd2ZCM2RuWDE0QWFUbEdPQjBMWFktOU4wYjdqNmZKRDd1WmctMFJYQkxHeVg4QWFmaFhmNS1kVkVVZGE0OFowN3k2QV81WElGOVFZT1liSDhOalJ4MlRwdlRBNkxrYVNpNEpjQ2dhWDhuelBiWGVjUkdoM2EtU0RGX3B0TDNFSFhOUVAtVkN2bVhORSJ9fQ","payload":"eyJyZXNvdXJjZSI6InJlZyIsImFncmVlbWVudCI6Imh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL2RvY3VtZW50cy9MRS1TQS12MS4xLjEtQXVndXN0LTEtMjAxNi5wZGYifQ","signature":"bjfzi6JMUt1PdqgoOyxDbbrSQvdX8paNbs_Y88AeNjELF3nZGP-mddEi_E1xZVcl-5iMv3Nk7E-BA54fp0AsnKogWskEPoezh6KMnNVbdtAmG5iNCCrve6QnJ-qIUSTIHqEqefwSk7odg3lnYk2WqKhYDJ0brLmRWQ_VEKa-Jy24fl3h1pypJRAIqjh3fckQk_OVfTmdBP8zyf7Y201Nh6e3aDFXHuHrvMUIxShzb8IKK_dARBllextzhFKD6UNk9Ls2u0E4HoUunMa2n68zkOrWmPPJ2qH5Z4va8anNwcnbHGLKD36Qs6nHn9Xty5TnL0fUc1U9AFQcsTMM3Z6DM6CIgKA6QSiE3Z1VPpHB_It87DVf8tPGJFGwD3iyx-OKhTxvyUHHmTPmk88PwLr_13ewbQdllj7limSf-4cizpwSPqV-pcgWZ1FAMex9RTCVFL_AlGD5RaiEXE1JD_KirhHFiiQD8CdyEdmlQ3VWCX4tBZ8JqMb-RhJWyVZtKBC2Hz5Ip7GbfHScdSxtu2ZpV9ShMdirkK-c730xQiIGlQ4NqhHXB7T4B-FuPdZltsABKZ9L3OzAPwkpsB6tXmHVTc_nQCOc4ihhKsSx64EIgQnDLj7zsqTEDhhkssOJbH_suzdS9UGXvLZtnZmnTddhRO6ly3Y49mqxYfwYaRBEGnc"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 202 message: Accepted headers: Server: - nginx Content-Type: - application/json Content-Length: - '986' Boulder-Request-Id: - wXU0LXZn388qMI7nkiGmMjtOLuTL1YXga6TXgEkcaY0 Boulder-Requester: - '496313' Link: - ;rel="next" - ;rel="terms-of-service" Replay-Nonce: - k6q9ogZWb4QIIrozUEITO8j5CaX26WWwXJH0wCqdtis Expires: - Tue, 15 Nov 2016 14:41:57 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 14:41:57 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "id": 496313, "key": { "kty": "RSA", "n": "1PU5cPJz31x2VM7e4SvMVXkX3LrwqXciSZNhX0SaAuD261TusmMftR6if_bl_kmZpUaHC8nK3KrrCxEtMlBPCNaHGV73I4ZTKIZCejvENrQNbvlKZyTDJ7TSK8OyUjWCUX_q-PRInZfzTthTeE3QDZU_1H4yVMR5LZUMHLcajAEF5hLscrb4lid-OwGGZ8xULL4-Ewlp398IvNyFF70Bhf9Fe_VSd9XXBv-73zHMKrJOxqB1KqloDgzHbeGcDTY---YCVH_BQKj76FHtAZ0VZv1YzHjqWHE4VFNb2Zu5eJkjlFhIhNqvxQpvggKejcUZws0Qh_qggg8EodjkozVgxxWtYeKAAucHI1muvNYaE0sVCHhFDkiF90LjsdV0jm-iPiZPrlXH1yAYuPF1gzCIVQGNuMl2aVq03qCqWknn5UMqwLfwWTtL2dZrPAYur9P4PczNgKhktzYYIv3vMpMgVOE0Lyy1-EVaE_0oGIAbHFZ4STYQBK6B6X30s7zCBdRZfpQB2-1xN8rxdv-095gjuOCSopwYvyQSwfB3dnX14AaTlGOB0LXY-9N0b7j6fJD7uZg-0RXBLGyX8AafhXf5-dVEUda48Z07y6A_5XIF9QYOYbH8NjRx2TpvTA6LkaSi4JcCgaX8nzPbXecRGh3a-SDF_ptL3EHXNQP-VCvmXNE", "e": "AQAB" }, "contact": [ "mailto:test@example.com" ], "agreement": "https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf", "initialIp": "213.123.191.198", "createdAt": "2016-11-15T14:41:56Z", "Status": "" } http_version: recorded_at: Tue, 15 Nov 2016 14:41:57 GMT recorded_with: VCR 3.0.3 ================================================ FILE: test/fixtures/vcr_cassettes/acme-new-reg.yml ================================================ --- http_interactions: - request: method: head uri: https://acme-v01.api.letsencrypt.org/acme/new-reg body: encoding: US-ASCII string: '' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept: - "*/*" response: status: code: 405 message: Method Not Allowed headers: Server: - nginx Content-Type: - application/problem+json Content-Length: - '91' Allow: - POST Boulder-Request-Id: - GfiXJrw6eCPE_k8PjG53XawaQeRnV2PUX9bGLaT3C9s Replay-Nonce: - MVNQOuBotmhIFlOm6k-H0vEueFFwUFm5KGxOv4EMtRc Expires: - Tue, 15 Nov 2016 14:41:48 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 14:41:48 GMT Connection: - keep-alive body: encoding: UTF-8 string: '' http_version: recorded_at: Tue, 15 Nov 2016 14:41:49 GMT - request: method: post uri: https://acme-v01.api.letsencrypt.org/acme/new-reg body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiTVZOUU91Qm90bWhJRmxPbTZrLUgwdkV1ZUZGd1VGbTVLR3hPdjRFTXRSYyIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ1dnNtRnNmQ0dvWEktSlJjcWJqZzlVZjdvbEtGX1NtbDA4WlRqUktLVF8yemNOVFJ1S3dmc0U4TjZFSi1XZGllU1AyY2M4WGZJTEtRaDIxNFZORkozdkxNb3BzRzc0NXZ1eWJSeTZIYWZ0UTNLVEQwVXF6MEdzLWhnRGRnVHF3SGQ2Q3ZicWpvemVBLTNsWXJSUkxrRW1XQTE0S2JxTWxqN1F0MC1mRmh1cjJuMmhhUllFTnFoNkgybVNXYTc1aFA3Nk1FcEEzeFhiVnp0Q3dXaVRFS1lXZ3NUX182RmNxTjlsMXRRM3BFR0wzVzVNNVNqMWticTRROF9pRXJtdmxUZEFHQ1VYQ2dldUR3ZXBTQk1pTjFHcGc1YVozYTEwUEpIaWdVbTU4dG9SbjRHbHROdm8yVXhSWlVPcUpFdWgwMlpWajFFTWQydWVTWXZqOHR5bzluR3ItNzFxNlNsem12SzN4NTk1dDVqWGg5RXQ4b3hkTVlMR1Z3am9pV1Bqblk5TnNwekcyUnM5dnVROXVhUDJtN0ZoWEVPbm9XZHpBTkE2VE1FazVEM0ZEZnF2bS1kRGl6b3g2QWk0M3piTmRhbmtESjF0bEdXVG1qMUJvYlNhcEt1MmFPeUhwRUtMZTV1eWEzVldGbFRxRnctSFRXMmpKaERkNi1RMk04cTF2aDY1UzVWLWc4czYwM1hLVW9xU21VTVluRDdRbGdEYmlQLWpNdW1VSUt1VXRDajFTejJzZXBKUTAyRjJkb1hoMjdVc1ItbTR4Qm9wZzVhZVlSN3g2YklqVTNvNV93MjZ4UWxod04wMW1jbVZ6WVFtcjIydVpSNnU0ZUhfX3MtazRTTzNuNElYRVk0NkJwTEZZcE11VnRuanY5akFuWUVTeVNzMlQ3bnBJZ0lRTSJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1yZWciLCJjb250YWN0IjpbIm1haWx0bzp0ZXN0QGV4YW1wbGUuY29tIl19","signature":"lATsODydPbG1heB9xuKz2ol-N_k6eFIU4skagAbeWl54WQlgFRhAfZc3xAqH3Wb46z1jlT5saS2CNZJfCKPXH9IXa9xYbyJb8xroVJwIUwNAhf7cuKCYQnG5X5YAuFqmdoh_gRdN6gnviQ2AX6YrRsN5gX7e8kZ86kvpKKiL13qMssYrdz27-dqa4as8_uIYj9-79Av_l63kI2RPJ_c8r7o89wbisidn8EB1fIV03_qr6LoH2NGAQLQih7NNvD3L99B_Fb-PtzRckc7oCNXYLg6yBmWXrKr6F4UC5LfshvqzHLS3RYGYWJSLpTmysS2lY0neQHW3lW2KTMMrDMh6wS94Q_N-5-TSafbi3Iv1j9VEgye3-GRZu6JeL_6YwN3pHMZXbOR6lqUCnzfcHBtMHRLbKSdu9tV_61kE4bqQKD0hFZxS0dJZmN8ALgcANfWOM8bUCe8MMfIFWkprUxKg8yHM5zXu-bNWcoMHeCzhf8WRpJuC3YsxPRGBTy9UMGzvJnv73eZ1HXZeDlWI-A9h36FnenFZlmsPOUVUPNhJpp5o1GVcqLtBf3rOzhc1wupLjJyFIGiaqYPpxliNQfkT3nAJ2_FxRSDBDyu8THVcCwVpONx7Zjw-ItFwDGaaeu0ukaZYnVxNLdnbwJEMWKCFwDLn1MiuWjXyKqMqXJOjTpE"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '914' Boulder-Request-Id: - t4ied2TSDfRTPLfBw0yqCEeTer2ny3-1Y-deugqvxhM Boulder-Requester: - '6221151' Link: - ;rel="next" - ;rel="terms-of-service" Location: - https://acme-v01.api.letsencrypt.org/acme/reg/6221151 Replay-Nonce: - vszalF2wceiKMdhOWj3D-Ry9nMTusShH_kdS89eq9_Q X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Tue, 15 Nov 2016 14:41:51 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 14:41:51 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "id": 6221151, "key": { "kty": "RSA", "n": "uvsmFsfCGoXI-JRcqbjg9Uf7olKF_Sml08ZTjRKKT_2zcNTRuKwfsE8N6EJ-WdieSP2cc8XfILKQh214VNFJ3vLMopsG745vuybRy6HaftQ3KTD0Uqz0Gs-hgDdgTqwHd6CvbqjozeA-3lYrRRLkEmWA14KbqMlj7Qt0-fFhur2n2haRYENqh6H2mSWa75hP76MEpA3xXbVztCwWiTEKYWgsT__6FcqN9l1tQ3pEGL3W5M5Sj1kbq4Q8_iErmvlTdAGCUXCgeuDwepSBMiN1Gpg5aZ3a10PJHigUm58toRn4GltNvo2UxRZUOqJEuh02ZVj1EMd2ueSYvj8tyo9nGr-71q6SlzmvK3x595t5jXh9Et8oxdMYLGVwjoiWPjnY9NspzG2Rs9vuQ9uaP2m7FhXEOnoWdzANA6TMEk5D3FDfqvm-dDizox6Ai43zbNdankDJ1tlGWTmj1BobSapKu2aOyHpEKLe5uya3VWFlTqFw-HTW2jJhDd6-Q2M8q1vh65S5V-g8s603XKUoqSmUMYnD7QlgDbiP-jMumUIKuUtCj1Sz2sepJQ02F2doXh27UsR-m4xBopg5aeYR7x6bIjU3o5_w26xQlhwN01mcmVzYQmr22uZR6u4eH__s-k4SO3n4IXEY46BpLFYpMuVtnjv9jAnYESySs2T7npIgIQM", "e": "AQAB" }, "contact": [ "mailto:test@example.com" ], "initialIp": "213.123.191.198", "createdAt": "2016-11-15T14:41:51.277641087Z", "Status": "" } http_version: recorded_at: Tue, 15 Nov 2016 14:41:53 GMT - request: method: post uri: https://acme-v01.api.letsencrypt.org/acme/reg/6221151 body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoidnN6YWxGMndjZWlLTWRoT1dqM0QtUnk5bk1UdXNTaEhfa2RTODllcTlfUSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ1dnNtRnNmQ0dvWEktSlJjcWJqZzlVZjdvbEtGX1NtbDA4WlRqUktLVF8yemNOVFJ1S3dmc0U4TjZFSi1XZGllU1AyY2M4WGZJTEtRaDIxNFZORkozdkxNb3BzRzc0NXZ1eWJSeTZIYWZ0UTNLVEQwVXF6MEdzLWhnRGRnVHF3SGQ2Q3ZicWpvemVBLTNsWXJSUkxrRW1XQTE0S2JxTWxqN1F0MC1mRmh1cjJuMmhhUllFTnFoNkgybVNXYTc1aFA3Nk1FcEEzeFhiVnp0Q3dXaVRFS1lXZ3NUX182RmNxTjlsMXRRM3BFR0wzVzVNNVNqMWticTRROF9pRXJtdmxUZEFHQ1VYQ2dldUR3ZXBTQk1pTjFHcGc1YVozYTEwUEpIaWdVbTU4dG9SbjRHbHROdm8yVXhSWlVPcUpFdWgwMlpWajFFTWQydWVTWXZqOHR5bzluR3ItNzFxNlNsem12SzN4NTk1dDVqWGg5RXQ4b3hkTVlMR1Z3am9pV1Bqblk5TnNwekcyUnM5dnVROXVhUDJtN0ZoWEVPbm9XZHpBTkE2VE1FazVEM0ZEZnF2bS1kRGl6b3g2QWk0M3piTmRhbmtESjF0bEdXVG1qMUJvYlNhcEt1MmFPeUhwRUtMZTV1eWEzVldGbFRxRnctSFRXMmpKaERkNi1RMk04cTF2aDY1UzVWLWc4czYwM1hLVW9xU21VTVluRDdRbGdEYmlQLWpNdW1VSUt1VXRDajFTejJzZXBKUTAyRjJkb1hoMjdVc1ItbTR4Qm9wZzVhZVlSN3g2YklqVTNvNV93MjZ4UWxod04wMW1jbVZ6WVFtcjIydVpSNnU0ZUhfX3MtazRTTzNuNElYRVk0NkJwTEZZcE11VnRuanY5akFuWUVTeVNzMlQ3bnBJZ0lRTSJ9fQ","payload":"eyJyZXNvdXJjZSI6InJlZyIsImFncmVlbWVudCI6Imh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL2RvY3VtZW50cy9MRS1TQS12MS4xLjEtQXVndXN0LTEtMjAxNi5wZGYifQ","signature":"cbkJdYxO992xxhGJAMYubzl9-dAZHCcuBgm0G-_Urz7plFSummhzR-XnfmitZQpMLjXqtMRhdlSgD9l2V4NtAGHIwtyGRsCHImkpeKHLgHgfik5fUo-KxhuKO99lXcq5x60064n8E6F3sJqHeEZpzgKgXH7rMhsDf6XyPdQ2M2Qp_goSThWFRIvVPZKo_hXq9esms3oLAZ6z6sFHIyHgIJpM8k88kkVmy3PpsqSXkIK_n-Z9fXPCvcdfyS8QMxs9DhmLSPBfdnHQaTX79rZ3pTpFnJO-09PpNJ6IHhIJeT6GvndABW00eo_vdhNCZ72H1w146q8cum4hP6Sw-u9WH1nT9LTA_Hte7sOI6A4Km6OogAinDCwb8IW7K-nvzVNlI_rPSY0SWFCqxk9f-nY2Ubvcct64gDlK4Z9tVEFYF3m1CiLw7P8JUUl2-iv9u5NR8t1wgRldnXAqbtUVaaA8llX1povNLJAD44zXwV9SoSxqGu3vTXNyouQX3tGB_5A1s9iFyJmY7JynzVuEcunQibJotYiGOdnVSekVY1JlpRbZ4JyUvcaQhOs4eVDXfKDFNs5sqhUJXCCstXU9WU1Emt2ukXB_AWfWfp-zoicoaJRZKHvAXnqTtJ7R48cWWsGZwShulOU0uzGPpduw6F8P1pszgShRkGUTW90VtiyzPaQ"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 202 message: Accepted headers: Server: - nginx Content-Type: - application/json Content-Length: - '987' Boulder-Request-Id: - prHRvD5svPow5N6feO3EzDks_C74xV7DyJD-lIzZWZo Boulder-Requester: - '6221151' Link: - ;rel="next" - ;rel="terms-of-service" Replay-Nonce: - _CvfLT_7WJoK01qwx2_dk_vAXNPcadb4sxQaLOG0s8k Expires: - Tue, 15 Nov 2016 14:41:54 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 14:41:54 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "id": 6221151, "key": { "kty": "RSA", "n": "uvsmFsfCGoXI-JRcqbjg9Uf7olKF_Sml08ZTjRKKT_2zcNTRuKwfsE8N6EJ-WdieSP2cc8XfILKQh214VNFJ3vLMopsG745vuybRy6HaftQ3KTD0Uqz0Gs-hgDdgTqwHd6CvbqjozeA-3lYrRRLkEmWA14KbqMlj7Qt0-fFhur2n2haRYENqh6H2mSWa75hP76MEpA3xXbVztCwWiTEKYWgsT__6FcqN9l1tQ3pEGL3W5M5Sj1kbq4Q8_iErmvlTdAGCUXCgeuDwepSBMiN1Gpg5aZ3a10PJHigUm58toRn4GltNvo2UxRZUOqJEuh02ZVj1EMd2ueSYvj8tyo9nGr-71q6SlzmvK3x595t5jXh9Et8oxdMYLGVwjoiWPjnY9NspzG2Rs9vuQ9uaP2m7FhXEOnoWdzANA6TMEk5D3FDfqvm-dDizox6Ai43zbNdankDJ1tlGWTmj1BobSapKu2aOyHpEKLe5uya3VWFlTqFw-HTW2jJhDd6-Q2M8q1vh65S5V-g8s603XKUoqSmUMYnD7QlgDbiP-jMumUIKuUtCj1Sz2sepJQ02F2doXh27UsR-m4xBopg5aeYR7x6bIjU3o5_w26xQlhwN01mcmVzYQmr22uZR6u4eH__s-k4SO3n4IXEY46BpLFYpMuVtnjv9jAnYESySs2T7npIgIQM", "e": "AQAB" }, "contact": [ "mailto:test@example.com" ], "agreement": "https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf", "initialIp": "213.123.191.198", "createdAt": "2016-11-15T14:41:51Z", "Status": "" } http_version: recorded_at: Tue, 15 Nov 2016 14:41:54 GMT recorded_with: VCR 3.0.3 ================================================ FILE: test/fixtures/vcr_cassettes/check-cloudflare-authentiation-failure.yml ================================================ --- http_interactions: - request: method: get uri: https://api.cloudflare.com/client/v4/user body: encoding: US-ASCII string: '' headers: X-Auth-Email: - max@substrakt.com X-Auth-Key: - this-is-not-a-real-tokenb Content-Type: - application/json response: status: code: 400 message: Bad Request headers: Date: - Tue, 29 Nov 2016 15:08:13 GMT Content-Type: - application/json Transfer-Encoding: - chunked Connection: - keep-alive Set-Cookie: - __cfduid=dc09026808ef50bffd20ee15ce87df3181480432093; expires=Wed, 29-Nov-17 15:08:13 GMT; path=/; domain=.cloudflare.com; HttpOnly Expires: - Sun, 25 Jan 1981 05:00:00 GMT Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN Server: - cloudflare-nginx Cf-Ray: - 3096f94a7ab53578-LHR body: encoding: UTF-8 string: '{"success":false,"errors":[{"code":6003,"message":"Invalid request headers","error_chain":[{"code":6103,"message":"Invalid format for X-Auth-Key header"}]}],"messages":[],"result":null}' http_version: recorded_at: Tue, 29 Nov 2016 15:08:14 GMT recorded_with: VCR 3.0.3 ================================================ FILE: test/fixtures/vcr_cassettes/check-cloudflare-authentiation-success.yml ================================================ --- http_interactions: - request: method: get uri: https://api.cloudflare.com/client/v4/user body: encoding: US-ASCII string: '' headers: X-Auth-Email: - max@substrakt.com X-Auth-Key: - 856a0658ade46696ec3e165827d728382f989 Content-Type: - application/json response: status: code: 200 message: OK headers: Date: - Tue, 29 Nov 2016 15:07:22 GMT Content-Type: - application/json Transfer-Encoding: - chunked Connection: - keep-alive Set-Cookie: - __cfduid=d25906969eb0578ee329ca8ed02669d3f1480432042; expires=Wed, 29-Nov-17 15:07:22 GMT; path=/; domain=.cloudflare.com; HttpOnly Expires: - Sun, 25 Jan 1981 05:00:00 GMT Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN Server: - cloudflare-nginx Cf-Ray: - 3096f8078c5a35b4-LHR body: encoding: UTF-8 string: '{"result":{"id":"ed0c2e827e608a93b65c429e503f5374","email":"max@substrakt.com","username":"1d1ea72d0ec1888c9c3dc35dd9ffa4ee","first_name":null,"last_name":null,"telephone":null,"country":null,"zipcode":null,"two_factor_authentication_enabled":false,"two_factor_authentication_locked":false,"created_on":"2016-02-11T15:28:34.019505Z","modified_on":"2016-09-06T12:46:08.721952Z","organizations":null,"has_pro_zones":false,"has_business_zones":false,"has_enterprise_zones":false},"success":true,"errors":[],"messages":[]}' http_version: recorded_at: Tue, 29 Nov 2016 15:07:22 GMT recorded_with: VCR 3.0.3 ================================================ FILE: test/fixtures/vcr_cassettes/check-heroku-authentication-failure.yml ================================================ --- http_interactions: - request: method: get uri: https://api.heroku.com/apps body: encoding: US-ASCII string: '' headers: Accept: - application/vnd.heroku+json; version=3 Authorization: - Bearer this-is-not-a-real-token Content-Type: - application/json response: status: code: 401 message: Unauthorized headers: Cache-Control: - private, no-cache Content-Type: - application/json Date: - Tue, 29 Nov 2016 14:59:27 GMT Request-Id: - 8159efa5-26dd-430c-6683-39993c6e3deb,9f74e1df-8d85-3cba-8187-2403d1b38964 Vary: - Accept-Encoding Via: - 1.1 spaces-router (+291255b) X-Content-Type-Options: - nosniff X-Runtime: - '0.022004634' Content-Length: - '63' Connection: - keep-alive body: encoding: UTF-8 string: '{"id":"unauthorized","message":"Invalid credentials provided."}' http_version: recorded_at: Tue, 29 Nov 2016 14:59:27 GMT recorded_with: VCR 3.0.3 ================================================ FILE: test/fixtures/vcr_cassettes/check-heroku-authentication-succeed.yml ================================================ --- http_interactions: - request: method: get uri: https://api.heroku.com/apps body: encoding: US-ASCII string: '' headers: Accept: - application/vnd.heroku+json; version=3 Authorization: - Bearer 3c3b9d66-015a-4c91-bda2-14c79c88fb15 Content-Type: - application/json response: status: code: 200 message: OK headers: Accept-Ranges: - id, name, updated_at Cache-Control: - private, no-cache Content-Range: - name app-1..app-2 Content-Type: - application/json Date: - Tue, 29 Nov 2016 14:57:34 GMT Etag: - '"929997e75d2782be47676c465897379e"' Last-Modified: - Tue, 29 Nov 2016 12:13:44 GMT Oauth-Scope: - global Oauth-Scope-Accepted: - global read read-protected write write-protected Ratelimit-Multiplier: - '1' Ratelimit-Remaining: - '4499' Request-Id: - 2e26469f-95f7-44b5-5b22-3d7503210e58,45780389-1416-e76c-c25d-9438fe7b587e Vary: - Accept-Encoding Via: - 1.1 spaces-router (+291255b) X-Content-Type-Options: - nosniff X-Runtime: - '0.1298948' Transfer-Encoding: - chunked Connection: - keep-alive body: encoding: UTF-8 string: 'REDACTED' http_version: recorded_at: Tue, 29 Nov 2016 14:57:35 GMT recorded_with: VCR 3.0.3 ================================================ FILE: test/fixtures/vcr_cassettes/new-cert-provisioner-heroku-success.yml ================================================ --- http_interactions: - request: method: head uri: https://acme-staging.api.letsencrypt.org/acme/new-reg body: encoding: US-ASCII string: '' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept: - "*/*" response: status: code: 405 message: Method Not Allowed headers: Server: - nginx Content-Type: - application/problem+json Content-Length: - '91' Allow: - POST Boulder-Request-Id: - DQYOe_uUWsYSeRnksCFWprTPAb50a8yvJitsDcBKR4I Replay-Nonce: - pfBlp0oHblH28U62W8vxW_LDIa_E8VZQhMZk1yRI7a0 Expires: - Fri, 25 Nov 2016 19:43:48 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Fri, 25 Nov 2016 19:43:48 GMT Connection: - keep-alive body: encoding: UTF-8 string: '' http_version: recorded_at: Fri, 25 Nov 2016 19:43:48 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-reg body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoicGZCbHAwb0hibEgyOFU2Mlc4dnhXX0xESWFfRThWWlFoTVprMXlSSTdhMCIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ1NTRZdWE1WV91N3lXMlZHS0drQVpjRW8yWGx5Sk9YdGVyR3dac01zRU54aG5oUUFSR0l5cFdkZkd4N0pyWll1Zm80NTNuZWFJWk1LY19DSDY4bXpmQVRQM0hUV2tjNE9hQ0hPaFN2TVh5bEdaMWJKelpnV0I5VEFUc3JZNjYxd1g3eEhteVNOVDYtamdYel9XY3dQVDU1b1pDY2M5QUgtT0FyUzhEdUo4NU0wNFpwWDZUaHBoS2x1QlRncUlMYnhjNVJydndCcFRHemw1VU5mUmhzd0xKbEZiMmdvQ0dsUFVERUhjSy1GQ2xIRmVubkRnU0VlWDRLaHdYdXgzazBLb3FXemxibURwWjc0X0trMFMwWC1zdmVqTUphMFExaThnSWJxQmRhZFlvaHo0aDhJV05SbW9za1BHXzNTWGRuLWZKOE53eHZwbzhFS04yNjEzdGhQd1JvMnlSQkR5YU5TcFBMNXJ0RllhTXM0SkgtdlFDNTNIUXoyTVlOb200dU92TkVWUFV1dTVvQXRna2NrOVNGcXc3djBza1pLdTQtZUlSZEFFZTFaQW5LQXRXYlE3M2p1T3RzekIyeE1Oc0ZiaVE1a1lGZVB5bzV1WlJKSEtXLVJycVJySmpCTFg5RVJZWEktQUI0aFpDOExRajlDY0hjZDgtNEt0QkdnYlJLX3pKR2paSENYdk9qeXRxcU9UZEwwM1lFZEVKZXFsZDA0dDYyeDU4dl9fZUYyMldNeS1ETUxhaTAxRElVSkFaX2hFN3JwOU1WOVQxdDQ5WUNIVElTYlhhaWM2YTF3YjZicFNsbDRUVHJTbHFpa0ZsY0w0VEh2MjkzZmxzR0drRzZGYXNqTFpiZUczUjRYTTlMYl9Ha0RkTXZMcThzQ3BLQ3NWaFlNVEhXTzk3ayJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1yZWciLCJjb250YWN0IjpbIm1haWx0bzptYXhAc3Vic3RyYWt0LmNvbSJdfQ","signature":"J1BX8nxB_4sW8r1MsxDXhnR3N9RZmL4VhxfP6Jn5y-Jdcw6pV7JkXMLieKzNsVTbDMp6IY7G5doiQZHMZcDnh4EvbPOXomOySRfpxCzlMCJh-apQvJ4LJSqICyTJXSg-ONhuY7EUWT2Lbe4uTNiXQieTc1qpe06Y8u0HHSCAUtafrmX2zAWU8PCmpxp-YjUA4fYELKrNppsAiuo7riC5zpAFVL01FcmcqB4xK_q2Fe99pQZTq16am65UTCxB3dctgYNUej9IqKQGM4YA0UCLe-TC9tYbg18ya7kcA-r5KeTx-Sejb1MT7nfKgRfV58KukDe54h-T1N1DhnYWKE35FTLWud-hu6hiDspSZ0_aZphyMC72OsiDTzPeW8jZQHd22ToHCh5eFKD25UGzhIH1Kv4C82J5hzxjhjb90aiPFj0RHgUOkvvw_LuNtlkO-SV8U1rxi5fTS6WiUJpg0MlKJ48m1i6tCmmX9FDqsfWmC_ssFrIfFxu-L1qJbLk8pIfnXvYL5UUygFhG-Epeqp0P2dusKK8fl_t5n5w05j8Z8uQQ2ffJPF-aT0ypHmYqwvM4iRJeh6BKWKYeXT0URRpVXcoU91sNw_STy77gIFDv804462ikqmo2UZphCet2Ly9RZ92kdn6i61wG2grex2fhQ7Q6HQGdS23BJoMFvDNF8bY"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '912' Boulder-Request-Id: - tawKmVjk_laKcq84xhuNDX-7UfbJQbT6HPTeWxscfKM Boulder-Requester: - '515230' Link: - ;rel="next" - ;rel="terms-of-service" Location: - https://acme-staging.api.letsencrypt.org/acme/reg/515230 Replay-Nonce: - fN8QJN5a4maxLFEIKpaI5ZzSXJCbQB3-XDPyZjbwQRs X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Fri, 25 Nov 2016 19:43:49 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Fri, 25 Nov 2016 19:43:49 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "id": 515230, "key": { "kty": "RSA", "n": "u54Yua5Y_u7yW2VGKGkAZcEo2XlyJOXterGwZsMsENxhnhQARGIypWdfGx7JrZYufo453neaIZMKc_CH68mzfATP3HTWkc4OaCHOhSvMXylGZ1bJzZgWB9TATsrY661wX7xHmySNT6-jgXz_WcwPT55oZCcc9AH-OArS8DuJ85M04ZpX6ThphKluBTgqILbxc5RrvwBpTGzl5UNfRhswLJlFb2goCGlPUDEHcK-FClHFennDgSEeX4KhwXux3k0KoqWzlbmDpZ74_Kk0S0X-svejMJa0Q1i8gIbqBdadYohz4h8IWNRmoskPG_3SXdn-fJ8Nwxvpo8EKN2613thPwRo2yRBDyaNSpPL5rtFYaMs4JH-vQC53HQz2MYNom4uOvNEVPUuu5oAtgkck9SFqw7v0skZKu4-eIRdAEe1ZAnKAtWbQ73juOtszB2xMNsFbiQ5kYFePyo5uZRJHKW-RrqRrJjBLX9ERYXI-AB4hZC8LQj9CcHcd8-4KtBGgbRK_zJGjZHCXvOjytqqOTdL03YEdEJeqld04t62x58v__eF22WMy-DMLai01DIUJAZ_hE7rp9MV9T1t49YCHTISbXaic6a1wb6bpSll4TTrSlqikFlcL4THv293flsGGkG6FasjLZbeG3R4XM9Lb_GkDdMvLq8sCpKCsVhYMTHWO97k", "e": "AQAB" }, "contact": [ "mailto:max@substrakt.com" ], "initialIp": "82.43.101.135", "createdAt": "2016-11-25T19:43:49.349440381Z", "Status": "" } http_version: recorded_at: Fri, 25 Nov 2016 19:43:49 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/reg/515230 body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiZk44UUpONWE0bWF4TEZFSUtwYUk1WnpTWEpDYlFCMy1YRFB5Wmpid1FScyIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ1NTRZdWE1WV91N3lXMlZHS0drQVpjRW8yWGx5Sk9YdGVyR3dac01zRU54aG5oUUFSR0l5cFdkZkd4N0pyWll1Zm80NTNuZWFJWk1LY19DSDY4bXpmQVRQM0hUV2tjNE9hQ0hPaFN2TVh5bEdaMWJKelpnV0I5VEFUc3JZNjYxd1g3eEhteVNOVDYtamdYel9XY3dQVDU1b1pDY2M5QUgtT0FyUzhEdUo4NU0wNFpwWDZUaHBoS2x1QlRncUlMYnhjNVJydndCcFRHemw1VU5mUmhzd0xKbEZiMmdvQ0dsUFVERUhjSy1GQ2xIRmVubkRnU0VlWDRLaHdYdXgzazBLb3FXemxibURwWjc0X0trMFMwWC1zdmVqTUphMFExaThnSWJxQmRhZFlvaHo0aDhJV05SbW9za1BHXzNTWGRuLWZKOE53eHZwbzhFS04yNjEzdGhQd1JvMnlSQkR5YU5TcFBMNXJ0RllhTXM0SkgtdlFDNTNIUXoyTVlOb200dU92TkVWUFV1dTVvQXRna2NrOVNGcXc3djBza1pLdTQtZUlSZEFFZTFaQW5LQXRXYlE3M2p1T3RzekIyeE1Oc0ZiaVE1a1lGZVB5bzV1WlJKSEtXLVJycVJySmpCTFg5RVJZWEktQUI0aFpDOExRajlDY0hjZDgtNEt0QkdnYlJLX3pKR2paSENYdk9qeXRxcU9UZEwwM1lFZEVKZXFsZDA0dDYyeDU4dl9fZUYyMldNeS1ETUxhaTAxRElVSkFaX2hFN3JwOU1WOVQxdDQ5WUNIVElTYlhhaWM2YTF3YjZicFNsbDRUVHJTbHFpa0ZsY0w0VEh2MjkzZmxzR0drRzZGYXNqTFpiZUczUjRYTTlMYl9Ha0RkTXZMcThzQ3BLQ3NWaFlNVEhXTzk3ayJ9fQ","payload":"eyJyZXNvdXJjZSI6InJlZyIsImFncmVlbWVudCI6Imh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL2RvY3VtZW50cy9MRS1TQS12MS4xLjEtQXVndXN0LTEtMjAxNi5wZGYifQ","signature":"BYAgafAwJSu5711NO-f1pNkkCJmieHp2k7Oj2nIerFwjFD97vpDvcu9MTj_WZ9Q1YNreQ7mnlxyG1OV0oF4s968NYD89vaZEm9sTmPCQcaJRnwRmUPmvNznqd2aq_P9hRWKu1g3tptPOLmiQ6l05mEF9HtRNtiUNo9v3lObFr9vUm9yzlrEHZASxDMnb7bYDSfLQswR3EntL5lCklYCEceESXveneOgUcfAYvNj6OCMXrkaVkX-y7GIuUrDBWnadkrJd_Ewnnb8GBTdezclC8Vufb5bY-jEyMlHh7gWwQQbi-HYKHwZ24d1xS7Fyu_hMfNv8FB62t3TZkw0v_Qhcs2o9wrDlgrYPZ_ESMw9MfJSmKBzF4WwL6ETBfnEyUlmWLglePupSESWDakAUbEyFvhtVlEsCvJbaH52zEmxs2jvhsMwHIUw4PPeGebM0YKSAfC8zDEkCla28iE30OAKkeT1FbGUft6izDEi-BM_CCG2seRznsBsdf0KWGreamic7ixA7ugPhZASZ-w448LxnJeY7Y1AV8dORitKoD6VZ4PBSNaZCoRYSxaM7IZDfM9Ta7KyffAJh4iOSWNsdi558AsB4ToTlYit92J5wqqvRj5OaaONYDY_1NbVlI5dCh9PMjSprR3T0c_2Cgr0NrzlTf80EIA-hjV_uOECe2FfPAUU"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 202 message: Accepted headers: Server: - nginx Content-Type: - application/json Content-Length: - '985' Boulder-Request-Id: - PSu9181IU_ffF_oQ113fbrAHzUAWVG5kMZS5D72Zf64 Boulder-Requester: - '515230' Link: - ;rel="next" - ;rel="terms-of-service" Replay-Nonce: - OcUwF8GNHtAHzzyb9kUJlFy0vXNtO0sWhM9dDbrNpFE Expires: - Fri, 25 Nov 2016 19:43:49 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Fri, 25 Nov 2016 19:43:49 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "id": 515230, "key": { "kty": "RSA", "n": "u54Yua5Y_u7yW2VGKGkAZcEo2XlyJOXterGwZsMsENxhnhQARGIypWdfGx7JrZYufo453neaIZMKc_CH68mzfATP3HTWkc4OaCHOhSvMXylGZ1bJzZgWB9TATsrY661wX7xHmySNT6-jgXz_WcwPT55oZCcc9AH-OArS8DuJ85M04ZpX6ThphKluBTgqILbxc5RrvwBpTGzl5UNfRhswLJlFb2goCGlPUDEHcK-FClHFennDgSEeX4KhwXux3k0KoqWzlbmDpZ74_Kk0S0X-svejMJa0Q1i8gIbqBdadYohz4h8IWNRmoskPG_3SXdn-fJ8Nwxvpo8EKN2613thPwRo2yRBDyaNSpPL5rtFYaMs4JH-vQC53HQz2MYNom4uOvNEVPUuu5oAtgkck9SFqw7v0skZKu4-eIRdAEe1ZAnKAtWbQ73juOtszB2xMNsFbiQ5kYFePyo5uZRJHKW-RrqRrJjBLX9ERYXI-AB4hZC8LQj9CcHcd8-4KtBGgbRK_zJGjZHCXvOjytqqOTdL03YEdEJeqld04t62x58v__eF22WMy-DMLai01DIUJAZ_hE7rp9MV9T1t49YCHTISbXaic6a1wb6bpSll4TTrSlqikFlcL4THv293flsGGkG6FasjLZbeG3R4XM9Lb_GkDdMvLq8sCpKCsVhYMTHWO97k", "e": "AQAB" }, "contact": [ "mailto:max@substrakt.com" ], "agreement": "https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf", "initialIp": "82.43.101.135", "createdAt": "2016-11-25T19:43:49Z", "Status": "" } http_version: recorded_at: Fri, 25 Nov 2016 19:43:50 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-authz body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiT2NVd0Y4R05IdEFIenp5YjlrVUpsRnkwdlhOdE8wc1doTTlkRGJyTnBGRSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ1NTRZdWE1WV91N3lXMlZHS0drQVpjRW8yWGx5Sk9YdGVyR3dac01zRU54aG5oUUFSR0l5cFdkZkd4N0pyWll1Zm80NTNuZWFJWk1LY19DSDY4bXpmQVRQM0hUV2tjNE9hQ0hPaFN2TVh5bEdaMWJKelpnV0I5VEFUc3JZNjYxd1g3eEhteVNOVDYtamdYel9XY3dQVDU1b1pDY2M5QUgtT0FyUzhEdUo4NU0wNFpwWDZUaHBoS2x1QlRncUlMYnhjNVJydndCcFRHemw1VU5mUmhzd0xKbEZiMmdvQ0dsUFVERUhjSy1GQ2xIRmVubkRnU0VlWDRLaHdYdXgzazBLb3FXemxibURwWjc0X0trMFMwWC1zdmVqTUphMFExaThnSWJxQmRhZFlvaHo0aDhJV05SbW9za1BHXzNTWGRuLWZKOE53eHZwbzhFS04yNjEzdGhQd1JvMnlSQkR5YU5TcFBMNXJ0RllhTXM0SkgtdlFDNTNIUXoyTVlOb200dU92TkVWUFV1dTVvQXRna2NrOVNGcXc3djBza1pLdTQtZUlSZEFFZTFaQW5LQXRXYlE3M2p1T3RzekIyeE1Oc0ZiaVE1a1lGZVB5bzV1WlJKSEtXLVJycVJySmpCTFg5RVJZWEktQUI0aFpDOExRajlDY0hjZDgtNEt0QkdnYlJLX3pKR2paSENYdk9qeXRxcU9UZEwwM1lFZEVKZXFsZDA0dDYyeDU4dl9fZUYyMldNeS1ETUxhaTAxRElVSkFaX2hFN3JwOU1WOVQxdDQ5WUNIVElTYlhhaWM2YTF3YjZicFNsbDRUVHJTbHFpa0ZsY0w0VEh2MjkzZmxzR0drRzZGYXNqTFpiZUczUjRYTTlMYl9Ha0RkTXZMcThzQ3BLQ3NWaFlNVEhXTzk3ayJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1hdXRoeiIsImlkZW50aWZpZXIiOnsidHlwZSI6ImRucyIsInZhbHVlIjoid3d3LnN1YnN0cmFrdC5jb20ifX0","signature":"oxpJVsNJDP2-xsCwVFdjVaCOub_Klk5viSSwFCgltRDWYsJizp7N1cR-6UJdDHuG2MjQHMX_T3fb1AwnprraUIuuhYVMjjUYAg2NVpCtIF3G8HObWMKBHYDd1AIDANwkdlrOzd00ssnMnt1YfEtws_F5j6OyIKZpCP5zbz-dclwBd1KdlDVU_Lb7yzQC7vmARVXUFq2TXHsKbs34vTcyUg1MR9v2-PGTFttJ1ruYkF6UGzGU3S27XWooc-1N5Geyk2lyiu3vd_VBy0fyTJTdmYu7Y9rFLzkDeVsjPin-0BEAXlL8Rd9yX6TMVHl-iw_1y_KanmOm6aNlTNlo4pE_kG9tP2iQaJyg3DuURWYIpFaM5XhMaFTVyFtJVuUCf-Wve286bhjdpJjfMlYBBliobZkGAFF7bocIRBYQwuqM_a0NVYMkuZC_R98EpXcxzZTG_L1PkIWHessrhRsSP4xJ2OnwY0nCTN-kS9xWODjugeOtDLMnm21vbyy-guQej8KHpiLYWkfwlHL-DJSh5McwzivPg0zU3gN71rPE2fF4czE2Fa3LxPfN8S0eAJIuNaS5lGDp9WiW7vuwHKH6VInBlfa_jeidvlRSXorCX1Iw70c3A-IIOEZT5PqNOyAPZtplBBOCyHv2IDF78jORaVm8wgZa9BK5BlBJ7ksHufG8euY"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '1011' Boulder-Request-Id: - Rh-KnlIB_3e_mn5Wytsna0iUIN9KxNz7qFNossRe9X0 Boulder-Requester: - '515230' Link: - ;rel="next" Location: - https://acme-staging.api.letsencrypt.org/acme/authz/9zcZviLntxFRNItDBZa8350l-Za7ezQaWkBKnrRSYEs Replay-Nonce: - VKs1pIokAwxCupqKFweucuAqDZ8SflFZAjpILnSphAE X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Fri, 25 Nov 2016 19:43:50 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Fri, 25 Nov 2016 19:43:50 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "identifier": { "type": "dns", "value": "www.substrakt.com" }, "status": "pending", "expires": "2016-12-02T19:43:50.476963624Z", "challenges": [ { "type": "tls-sni-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/9zcZviLntxFRNItDBZa8350l-Za7ezQaWkBKnrRSYEs/17255030", "token": "ZONyyOzF4msuy58Qab-wjEDx95ZA-ZpPD4thbv8YRjA" }, { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/9zcZviLntxFRNItDBZa8350l-Za7ezQaWkBKnrRSYEs/17255031", "token": "0gOAYLuO6t27BhDtN9br5Bb_OjwBYNsh4XWRihyJW5c" }, { "type": "http-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/9zcZviLntxFRNItDBZa8350l-Za7ezQaWkBKnrRSYEs/17255032", "token": "RaRBalJkSDdziXHBPif1QC0oUze3OcWhMeDpZv0ecrA" } ], "combinations": [ [ 2 ], [ 1 ], [ 0 ] ] } http_version: recorded_at: Fri, 25 Nov 2016 19:43:50 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-authz body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiVktzMXBJb2tBd3hDdXBxS0Z3ZXVjdUFxRFo4U2ZsRlpBanBJTG5TcGhBRSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ1NTRZdWE1WV91N3lXMlZHS0drQVpjRW8yWGx5Sk9YdGVyR3dac01zRU54aG5oUUFSR0l5cFdkZkd4N0pyWll1Zm80NTNuZWFJWk1LY19DSDY4bXpmQVRQM0hUV2tjNE9hQ0hPaFN2TVh5bEdaMWJKelpnV0I5VEFUc3JZNjYxd1g3eEhteVNOVDYtamdYel9XY3dQVDU1b1pDY2M5QUgtT0FyUzhEdUo4NU0wNFpwWDZUaHBoS2x1QlRncUlMYnhjNVJydndCcFRHemw1VU5mUmhzd0xKbEZiMmdvQ0dsUFVERUhjSy1GQ2xIRmVubkRnU0VlWDRLaHdYdXgzazBLb3FXemxibURwWjc0X0trMFMwWC1zdmVqTUphMFExaThnSWJxQmRhZFlvaHo0aDhJV05SbW9za1BHXzNTWGRuLWZKOE53eHZwbzhFS04yNjEzdGhQd1JvMnlSQkR5YU5TcFBMNXJ0RllhTXM0SkgtdlFDNTNIUXoyTVlOb200dU92TkVWUFV1dTVvQXRna2NrOVNGcXc3djBza1pLdTQtZUlSZEFFZTFaQW5LQXRXYlE3M2p1T3RzekIyeE1Oc0ZiaVE1a1lGZVB5bzV1WlJKSEtXLVJycVJySmpCTFg5RVJZWEktQUI0aFpDOExRajlDY0hjZDgtNEt0QkdnYlJLX3pKR2paSENYdk9qeXRxcU9UZEwwM1lFZEVKZXFsZDA0dDYyeDU4dl9fZUYyMldNeS1ETUxhaTAxRElVSkFaX2hFN3JwOU1WOVQxdDQ5WUNIVElTYlhhaWM2YTF3YjZicFNsbDRUVHJTbHFpa0ZsY0w0VEh2MjkzZmxzR0drRzZGYXNqTFpiZUczUjRYTTlMYl9Ha0RkTXZMcThzQ3BLQ3NWaFlNVEhXTzk3ayJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1hdXRoeiIsImlkZW50aWZpZXIiOnsidHlwZSI6ImRucyIsInZhbHVlIjoic3Vic3RyYWt0LmNvbSJ9fQ","signature":"EmhVqxSSMXqiIv_VfnLXqb0ReEnT2Yh2vHiQXQ16wjeV6pOJ2UYuCHXjuIv9ZVDKxz5g34y-wQkabyYmkkBFSAdNCcn5WL4Le-Yfdx-siJWR303KIbf2piQjjmLyv9szgNpSpYo4Sw1SM_FLnamP-F4WK_LyTLQc8K93qRdD-RDcKAjpGsPQGY7BynBeXENsSo3egjVQ1ImS8bOIOJA17OBwKreoJn4pWn8MtoicrHfgLDqUCTsUnSqG_DZxp37LGoUt7duVTEw_aRdnFPkPahz7kmYnhr4pEXthiShLe24DD_yYg3Xh8muctbJLEXL0vgAzVBMeQ7Wh6NswicY1WWXzZPyBp3EYQb8QNwalvVf0wvMGkr-gf5FXvo398ByYAckjLbwDtestO5bCM3tfejKgRSOa0Ey9PAiuyeJg1pLH2cspUI0as7_Mglw1fmV_cnZP2l8SdGWJGKJ-Yb9b5Hyk5l3rk_Kd8xa5d3TJc_r2Jq5uIX6aSKbxIWGhv_Ow3BFjD32QV444ipcvDF0JFDbnhn_nbbi5sQnlVEmotuZKDbvJmF3Oj-vNFORzZ8SKwor240nyVXD9YXukN3ou8FZ3kXKKvl9xMf2gFOSfpvN-J4SJiQYO1y5mtmuu7YSCZGsvAR0cY73f9Bcd8NdEAgn9nZhjM9AivGXHVJTH-Qo"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '1007' Boulder-Request-Id: - enkNdnaIUtRBgXG51-yyesmu-havJoqf28_kZEqJQcU Boulder-Requester: - '515230' Link: - ;rel="next" Location: - https://acme-staging.api.letsencrypt.org/acme/authz/AUg9phkJKzkrHFEigYPzA8M3w9HSesInZU4eYXBxN4k Replay-Nonce: - JAp97kFgm6jfygatsgUMJXljUu0pTYYeJKsi8c66qfY X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Fri, 25 Nov 2016 19:43:51 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Fri, 25 Nov 2016 19:43:51 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "identifier": { "type": "dns", "value": "substrakt.com" }, "status": "pending", "expires": "2016-12-02T19:43:51.016716778Z", "challenges": [ { "type": "http-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/AUg9phkJKzkrHFEigYPzA8M3w9HSesInZU4eYXBxN4k/17255033", "token": "YBmLYlZqG8L9IcRoCVFLUClsmtnMzYYlCRxGrIdQl0Y" }, { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/AUg9phkJKzkrHFEigYPzA8M3w9HSesInZU4eYXBxN4k/17255034", "token": "hkVutrAaDw_YZWlH6Rktn4qvZqPNpzw1X6IbPW-FOss" }, { "type": "tls-sni-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/AUg9phkJKzkrHFEigYPzA8M3w9HSesInZU4eYXBxN4k/17255035", "token": "DREv0Ub7G98RJ8LV0O1pcKj3N7GiPyUWE_8UrMmJ4Fo" } ], "combinations": [ [ 1 ], [ 0 ], [ 2 ] ] } http_version: recorded_at: Fri, 25 Nov 2016 19:43:51 GMT - request: method: post uri: https://www.cloudflare.com/api_json.html body: encoding: US-ASCII string: a=rec_new&z=substrakt.com&type=TXT&name=_acme-challenge.www.substrakt.com&content=u-ByBNjjCHeiSnMLtb5MIP9DMClhHQpoqaLyxpsifeI&ttl=1&service_mode=1&tkn=49029fecd405689687af84b77176e344c8259&u=max%40substrakt.com headers: Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" User-Agent: - Ruby Content-Type: - application/x-www-form-urlencoded response: status: code: 200 message: OK headers: Date: - Fri, 25 Nov 2016 19:43:52 GMT Content-Type: - application/json Transfer-Encoding: - chunked Connection: - keep-alive Set-Cookie: - CF_UALE=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0 - __cfduid=df4833e848f88cda9727d42073c63ca1c1480103031; expires=Sat, 25-Nov-17 19:43:51 GMT; path=/; domain=.cloudflare.com; HttpOnly - vses2=t1r5g9a1hkah0h8qupskhiai15; path=/; domain=www.cloudflare.com; secure; HttpOnly Expires: - Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN Content-Security-Policy: - default-src 'self' https://*; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://* data:; img-src 'self' https://* data:; style-src 'self' 'unsafe-inline' https://*; font-src 'self' https://* data:; frame-src https://*; connect-src 'self' https://* wss://*.zopim.com data:; X-Xss-Protection: - 1; mode=block Server: - cloudflare-nginx Cf-Ray: - 3077978a4830350c-LHR body: encoding: ASCII-8BIT string: '{"request":{"act":"rec_new"},"response":{"rec":{"obj":{"rec_id":"669364345","rec_hash":"e619789f14ceac02390543d9ab7b269a","zone_name":"substrakt.com","name":"_acme-challenge.www.substrakt.com","display_name":"_acme-challenge.www","type":"TXT","prio":null,"content":"u-ByBNjjCHeiSnMLtb5MIP9DMClhHQpoqaLyxpsifeI","display_content":"u-ByBNjjCHeiSnMLtb5MIP9DMClhHQpoqaLyxpsifeI","ttl":"1","ttl_ceil":86400,"ssl_id":"5084311","ssl_status":"V","ssl_expires_on":null,"auto_ttl":1,"service_mode":"0","props":{"proxiable":0,"cloud_on":0,"cf_open":1,"vanity_lock":0,"ssl":1,"expired_ssl":0,"expiring_ssl":0,"pending_ssl":0}}}},"result":"success","msg":null}' http_version: recorded_at: Fri, 25 Nov 2016 19:43:52 GMT - request: method: post uri: https://www.cloudflare.com/api_json.html body: encoding: US-ASCII string: a=rec_new&z=substrakt.com&type=TXT&name=_acme-challenge.substrakt.com&content=nqFjZVsylspPNT7TzFvoLvIf_yzkbVF9cXKvv-qpftU&ttl=1&service_mode=1&tkn=49029fecd405689687af84b77176e344c8259&u=max%40substrakt.com headers: Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" User-Agent: - Ruby Content-Type: - application/x-www-form-urlencoded response: status: code: 200 message: OK headers: Date: - Fri, 25 Nov 2016 19:43:52 GMT Content-Type: - application/json Transfer-Encoding: - chunked Connection: - keep-alive Set-Cookie: - CF_UALE=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0 - __cfduid=dfdeebab913a45a61209e50a2cc2b5c491480103032; expires=Sat, 25-Nov-17 19:43:52 GMT; path=/; domain=.cloudflare.com; HttpOnly - vses2=b3a5vv58unqpbfm3cqvl2u1l41; path=/; domain=www.cloudflare.com; secure; HttpOnly Expires: - Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN Content-Security-Policy: - default-src 'self' https://*; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://* data:; img-src 'self' https://* data:; style-src 'self' 'unsafe-inline' https://*; font-src 'self' https://* data:; frame-src https://*; connect-src 'self' https://* wss://*.zopim.com data:; X-Xss-Protection: - 1; mode=block Server: - cloudflare-nginx Cf-Ray: - 3077978fcca206e8-LHR body: encoding: ASCII-8BIT string: '{"request":{"act":"rec_new"},"response":{"rec":{"obj":{"rec_id":"669364348","rec_hash":"21acc6f2c111419a962b2669b98c4663","zone_name":"substrakt.com","name":"_acme-challenge.substrakt.com","display_name":"_acme-challenge","type":"TXT","prio":null,"content":"nqFjZVsylspPNT7TzFvoLvIf_yzkbVF9cXKvv-qpftU","display_content":"nqFjZVsylspPNT7TzFvoLvIf_yzkbVF9cXKvv-qpftU","ttl":"1","ttl_ceil":86400,"ssl_id":"5084311","ssl_status":"V","ssl_expires_on":null,"auto_ttl":1,"service_mode":"0","props":{"proxiable":0,"cloud_on":0,"cf_open":1,"vanity_lock":0,"ssl":1,"expired_ssl":0,"expiring_ssl":0,"pending_ssl":0}}}},"result":"success","msg":null}' http_version: recorded_at: Fri, 25 Nov 2016 19:43:52 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/challenge/9zcZviLntxFRNItDBZa8350l-Za7ezQaWkBKnrRSYEs/17255031 body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiSkFwOTdrRmdtNmpmeWdhdHNnVU1KWGxqVXUwcFRZWWVKS3NpOGM2NnFmWSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ1NTRZdWE1WV91N3lXMlZHS0drQVpjRW8yWGx5Sk9YdGVyR3dac01zRU54aG5oUUFSR0l5cFdkZkd4N0pyWll1Zm80NTNuZWFJWk1LY19DSDY4bXpmQVRQM0hUV2tjNE9hQ0hPaFN2TVh5bEdaMWJKelpnV0I5VEFUc3JZNjYxd1g3eEhteVNOVDYtamdYel9XY3dQVDU1b1pDY2M5QUgtT0FyUzhEdUo4NU0wNFpwWDZUaHBoS2x1QlRncUlMYnhjNVJydndCcFRHemw1VU5mUmhzd0xKbEZiMmdvQ0dsUFVERUhjSy1GQ2xIRmVubkRnU0VlWDRLaHdYdXgzazBLb3FXemxibURwWjc0X0trMFMwWC1zdmVqTUphMFExaThnSWJxQmRhZFlvaHo0aDhJV05SbW9za1BHXzNTWGRuLWZKOE53eHZwbzhFS04yNjEzdGhQd1JvMnlSQkR5YU5TcFBMNXJ0RllhTXM0SkgtdlFDNTNIUXoyTVlOb200dU92TkVWUFV1dTVvQXRna2NrOVNGcXc3djBza1pLdTQtZUlSZEFFZTFaQW5LQXRXYlE3M2p1T3RzekIyeE1Oc0ZiaVE1a1lGZVB5bzV1WlJKSEtXLVJycVJySmpCTFg5RVJZWEktQUI0aFpDOExRajlDY0hjZDgtNEt0QkdnYlJLX3pKR2paSENYdk9qeXRxcU9UZEwwM1lFZEVKZXFsZDA0dDYyeDU4dl9fZUYyMldNeS1ETUxhaTAxRElVSkFaX2hFN3JwOU1WOVQxdDQ5WUNIVElTYlhhaWM2YTF3YjZicFNsbDRUVHJTbHFpa0ZsY0w0VEh2MjkzZmxzR0drRzZGYXNqTFpiZUczUjRYTTlMYl9Ha0RkTXZMcThzQ3BLQ3NWaFlNVEhXTzk3ayJ9fQ","payload":"eyJyZXNvdXJjZSI6ImNoYWxsZW5nZSIsInR5cGUiOiJkbnMtMDEiLCJrZXlBdXRob3JpemF0aW9uIjoiMGdPQVlMdU82dDI3QmhEdE45YnI1QmJfT2p3QllOc2g0WFdSaWh5Slc1Yy5CSGgycURuOEg4c0EyTUZnMUVxc0JIR3R0NnZZNzJJX3VkQTVJNlg3Yk93In0","signature":"E3K9RUArWnEWOl3LbSFgWhlU21Y--8FaGsTVAZ3aoMd8GTE1TQyawJHVupO2exRqRZOxLcM2J-UHsNFIFx4QSpy8cHBD9DGJjmp_UjNN77n59Zt-PvUa5nMBN-8JJyOH0UZYeag0eZRhhrlYENGTweTJH1HqlRRPFzANSfKjCAIsWydjMjD8VG_zRRWfv8Z5MEUUcQHmHIpejfKqIVuTBCmmRVlDbO5VWChCL7xJ3g0uIffgFFACIs_z0SxMPjQvahJ7m9BMNdY-UDLbBVfVJxomfiwpXCzxHMw9voCMiVb1mwG9p1woH6HrprANdO7D90g_fr3NvmY78rtQAMbNJM9gnFfN8JS3Ir81aF6c2CIcqAIDsFICpnvQq2ubnicyYyYcBYiIx_lP5EDnJG_PLSgGLoIEen1mf7T2hAK82qda9Dh-cE2miBAD7csBvAI3WjKl85c_2UaX9u7k97518RyHtvWt6YYuXtZN6tT919iEeV1bt6ODrekeldjbwY-hkeYp-eXBMDib9lRgNlvBuQn9Q-nQIAYS9XTAZ7KKya5sctcG91Bc4hzfwMELbkPxPcM6QdsLq74UC2B72P7maq3M3_v4kPrVLIrkbE05fAUSL5OhiMOUWByizqVnf4blqxJsFUqh_K6cAXOGHzEs2Aimts87xV9vcFG2vq7D7og"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 202 message: Accepted headers: Server: - nginx Content-Type: - application/json Content-Length: - '337' Boulder-Request-Id: - vQyS7Qh2mySxzOiAmsZ6zddUWvEr5aoL9q3agTZLZ1w Boulder-Requester: - '515230' Link: - ;rel="up" Location: - https://acme-staging.api.letsencrypt.org/acme/challenge/9zcZviLntxFRNItDBZa8350l-Za7ezQaWkBKnrRSYEs/17255031 Replay-Nonce: - OqhPKVOw7GQVb-hklD6ifrH7-ALwXq0hG3PEX4rJaKM Expires: - Fri, 25 Nov 2016 19:44:53 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Fri, 25 Nov 2016 19:44:53 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/9zcZviLntxFRNItDBZa8350l-Za7ezQaWkBKnrRSYEs/17255031", "token": "0gOAYLuO6t27BhDtN9br5Bb_OjwBYNsh4XWRihyJW5c", "keyAuthorization": "0gOAYLuO6t27BhDtN9br5Bb_OjwBYNsh4XWRihyJW5c.BHh2qDn8H8sA2MFg1EqsBHGtt6vY72I_udA5I6X7bOw" } http_version: recorded_at: Fri, 25 Nov 2016 19:44:53 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/challenge/AUg9phkJKzkrHFEigYPzA8M3w9HSesInZU4eYXBxN4k/17255034 body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiT3FoUEtWT3c3R1FWYi1oa2xENmlmckg3LUFMd1hxMGhHM1BFWDRySmFLTSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ1NTRZdWE1WV91N3lXMlZHS0drQVpjRW8yWGx5Sk9YdGVyR3dac01zRU54aG5oUUFSR0l5cFdkZkd4N0pyWll1Zm80NTNuZWFJWk1LY19DSDY4bXpmQVRQM0hUV2tjNE9hQ0hPaFN2TVh5bEdaMWJKelpnV0I5VEFUc3JZNjYxd1g3eEhteVNOVDYtamdYel9XY3dQVDU1b1pDY2M5QUgtT0FyUzhEdUo4NU0wNFpwWDZUaHBoS2x1QlRncUlMYnhjNVJydndCcFRHemw1VU5mUmhzd0xKbEZiMmdvQ0dsUFVERUhjSy1GQ2xIRmVubkRnU0VlWDRLaHdYdXgzazBLb3FXemxibURwWjc0X0trMFMwWC1zdmVqTUphMFExaThnSWJxQmRhZFlvaHo0aDhJV05SbW9za1BHXzNTWGRuLWZKOE53eHZwbzhFS04yNjEzdGhQd1JvMnlSQkR5YU5TcFBMNXJ0RllhTXM0SkgtdlFDNTNIUXoyTVlOb200dU92TkVWUFV1dTVvQXRna2NrOVNGcXc3djBza1pLdTQtZUlSZEFFZTFaQW5LQXRXYlE3M2p1T3RzekIyeE1Oc0ZiaVE1a1lGZVB5bzV1WlJKSEtXLVJycVJySmpCTFg5RVJZWEktQUI0aFpDOExRajlDY0hjZDgtNEt0QkdnYlJLX3pKR2paSENYdk9qeXRxcU9UZEwwM1lFZEVKZXFsZDA0dDYyeDU4dl9fZUYyMldNeS1ETUxhaTAxRElVSkFaX2hFN3JwOU1WOVQxdDQ5WUNIVElTYlhhaWM2YTF3YjZicFNsbDRUVHJTbHFpa0ZsY0w0VEh2MjkzZmxzR0drRzZGYXNqTFpiZUczUjRYTTlMYl9Ha0RkTXZMcThzQ3BLQ3NWaFlNVEhXTzk3ayJ9fQ","payload":"eyJyZXNvdXJjZSI6ImNoYWxsZW5nZSIsInR5cGUiOiJkbnMtMDEiLCJrZXlBdXRob3JpemF0aW9uIjoiaGtWdXRyQWFEd19ZWldsSDZSa3RuNHF2WnFQTnB6dzFYNkliUFctRk9zcy5CSGgycURuOEg4c0EyTUZnMUVxc0JIR3R0NnZZNzJJX3VkQTVJNlg3Yk93In0","signature":"nSSLTifvv3Jwtc_Unqk4fFmUznn4KKkkTLek80amdiVfWNEbDhZClNsEH2OB4xJ23m3uH3eHc2GfawKcAUvRet4CCq-k3JPNYOhDnEi2_gmfzd4vcXSMQ1cP54RSZgYwptvMmPxVJua5dg0yHFsciTBWrHsKTgfxsYL_i6ry2Ch-dXaF2sa63kkiRHGapV5PWgYiRNHVrcF1xWgs9zxZl76AWWRNRY5_YPP8b4XgrkgqEDcWIksdnHDKlTOvSTnkx7kCvpRMVFfF3_bIewNsa1Y1H0tLzYaXcdOUXyRycfp-JTJySfVb-Y7oF9iQ9Rcz5-ayNw5WOuay5TDJxGUQyEcJcuQA584iRJFA3DVwuwh7Z0a64VKbKb6Ywz67D8JWcUmWomHU8ah_CoVSjmFvxPrHkUCR_rUYy2Y4YWu0ItSCACr8bazh29IH8Rf7H_8fgjwl4s1k75cVrZKlFGGnq_3Yk7R4Fg0uvPLFe5wt41x-ApRAeGomyEP9_e17aOR87b1CQ5aaWkhR5419NYr46UgdGQJQn73wDNaUFi92mJh1wdFVPXftcXw3GctvuX22acjDoQQrAxnadEITc-WXW_We6H4FG9fE1Ok6oJ7-n0mLxruMgj-Xd63Xod9kbLxM0ZPWYOMmtTjPk18gKBw-DFxNTPngyLklk-8OJOp8fPE"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 202 message: Accepted headers: Server: - nginx Content-Type: - application/json Content-Length: - '337' Boulder-Request-Id: - "-WawGxKmafs_u3_vVGkVyfpuEGZfU0NbOKjyoQVZOiY" Boulder-Requester: - '515230' Link: - ;rel="up" Location: - https://acme-staging.api.letsencrypt.org/acme/challenge/AUg9phkJKzkrHFEigYPzA8M3w9HSesInZU4eYXBxN4k/17255034 Replay-Nonce: - TPtoS-qXabiURBVYI1LA4fo_kSk0XL9Ct8OGuc7WeiQ Expires: - Fri, 25 Nov 2016 19:44:53 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Fri, 25 Nov 2016 19:44:53 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/AUg9phkJKzkrHFEigYPzA8M3w9HSesInZU4eYXBxN4k/17255034", "token": "hkVutrAaDw_YZWlH6Rktn4qvZqPNpzw1X6IbPW-FOss", "keyAuthorization": "hkVutrAaDw_YZWlH6Rktn4qvZqPNpzw1X6IbPW-FOss.BHh2qDn8H8sA2MFg1EqsBHGtt6vY72I_udA5I6X7bOw" } http_version: recorded_at: Fri, 25 Nov 2016 19:44:53 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-cert body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiVFB0b1MtcVhhYmlVUkJWWUkxTEE0Zm9fa1NrMFhMOUN0OE9HdWM3V2VpUSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ1NTRZdWE1WV91N3lXMlZHS0drQVpjRW8yWGx5Sk9YdGVyR3dac01zRU54aG5oUUFSR0l5cFdkZkd4N0pyWll1Zm80NTNuZWFJWk1LY19DSDY4bXpmQVRQM0hUV2tjNE9hQ0hPaFN2TVh5bEdaMWJKelpnV0I5VEFUc3JZNjYxd1g3eEhteVNOVDYtamdYel9XY3dQVDU1b1pDY2M5QUgtT0FyUzhEdUo4NU0wNFpwWDZUaHBoS2x1QlRncUlMYnhjNVJydndCcFRHemw1VU5mUmhzd0xKbEZiMmdvQ0dsUFVERUhjSy1GQ2xIRmVubkRnU0VlWDRLaHdYdXgzazBLb3FXemxibURwWjc0X0trMFMwWC1zdmVqTUphMFExaThnSWJxQmRhZFlvaHo0aDhJV05SbW9za1BHXzNTWGRuLWZKOE53eHZwbzhFS04yNjEzdGhQd1JvMnlSQkR5YU5TcFBMNXJ0RllhTXM0SkgtdlFDNTNIUXoyTVlOb200dU92TkVWUFV1dTVvQXRna2NrOVNGcXc3djBza1pLdTQtZUlSZEFFZTFaQW5LQXRXYlE3M2p1T3RzekIyeE1Oc0ZiaVE1a1lGZVB5bzV1WlJKSEtXLVJycVJySmpCTFg5RVJZWEktQUI0aFpDOExRajlDY0hjZDgtNEt0QkdnYlJLX3pKR2paSENYdk9qeXRxcU9UZEwwM1lFZEVKZXFsZDA0dDYyeDU4dl9fZUYyMldNeS1ETUxhaTAxRElVSkFaX2hFN3JwOU1WOVQxdDQ5WUNIVElTYlhhaWM2YTF3YjZicFNsbDRUVHJTbHFpa0ZsY0w0VEh2MjkzZmxzR0drRzZGYXNqTFpiZUczUjRYTTlMYl9Ha0RkTXZMcThzQ3BLQ3NWaFlNVEhXTzk3ayJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1jZXJ0IiwiY3NyIjoiTUlJQ256Q0NBWWNDQVFJd0hERWFNQmdHQTFVRUF3d1JkM2QzTG5OMVluTjBjbUZyZEM1amIyMHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEQ3JxVU8tTDB2UktVcGhETW9nNF8yMVhSVEowSURVN0JTMmZCcTN2a2llejlQOEd1R2JQMVVvOV9TMkU0ZU5LSXFIWWxVNmN3MWRiT3hvVHRYaWlfVTY4QVZZRmJoWnRwS0tiZU5BZkE0OUlyaV9HS2tkOFEwMHZlSl81enFsWnZqRkx2eHBkUmRQQldrVHR3MHpjU2dJWkQydW51RDNEdzVLcWY5RnpYVUE4X0o5N1FLUks5d1IyOV9YSy0wT1BlaWJabGUtSUdBa2xZam80UklMN1VueENEaGRYVWJ2YUI3U2lBeEF1aVdld0tQSkl3WHM0UW9LTnAwNU9kdFFIeV9wN0xWaDNsN01EcXhKY0d2cXdBbjE1WlhjWWc3aW5lTDJPVWdyMk1SVEpSbUdYeWhtdnVsR29aNE5VTy1nUlEtQ1FmOFhNeEJ0c0dWRlJEVkJmZzdBZ01CQUFHZ1BqQThCZ2txaGtpRzl3MEJDUTR4THpBdE1Dc0dBMVVkRVFRa01DS0NFWGQzZHk1emRXSnpkSEpoYTNRdVkyOXRnZzF6ZFdKemRISmhhM1F1WTI5dE1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQU9oNmdqNkV4UHJYdVhQcC1mc1BKTm5wVVdyeGVyTS1CR3FiVER2WGZtQThYRDVzZzZlcFNPZ1V2UzBoS0d6SU5TSGJuZC1laFY1cHVmZk53bHk3MHFyNU5fcUhsSjNaTHpXYTdvMVEtNmJ3YXFPaXBqV0tJREw1NEJWd053TUhjWGV2VDhrVWxnM1MyTmctSDFRVkgtdEk2M2RPdWpoNjFrRlhhZW9KUHFENDlJTDJnYTdNMzhZb2FwNmozc0VjN2JnMEhPQ0Vna0VFSloxOWdfRmpFSmdvdGRIVnBmT1NqRGkwNldKWjItbENaRjBRSDFSSjJWUzJ2c202dV9oNXRZNTNhbnVMczZjT09nVkNVQ2I4ZDZHbi11bExDY0NzXzAyS09vWm1mYUdmVmJnU01PVy1ZMkp5YUdyblp4NkIwSlRPcnlXNFlZem5KM3dtWXUzUEItIn0","signature":"uHvhuyJHZDmA5EMWL5pqYWH9ogXuQ6GRIiym5fw4OEe9GBlw9RQPIGFrg97kWhyK7mIFA4SHcC12nhZKZYDkDQx01iPABhLO7O08EpZ4e4ivU7JgwMKIO6sVc17iYKqutGXo6u3lYlbYuF3XT9wr-frpi0Kyny_iSmt9pFLTy6Ay0_wYDmzN_kw1fm-6c6mpbIY6KcKHHR2to-UsjFk6uUfr6wvgpaNOotgGGrySbnE8J4uDTb2ND3HYX29a9i2qCXS-ugnlZRISHab1EQaJmUKivA1leMeBFvUoZEFPoPl3GywOCexnBYQCrDRSdUSmbBNAmo1o2CEBXyWienNpYLyX7K4bDcr2p9e6OGUm3IgIoQtFoTkYqw5dWtlAFA7TuuJMY-LXBI3VAdKvg1ak3mOMtsTDRG0kcAsmpaP8zmBqJwZESk26ux-mpoxJ8reHoTwzPo93Cy8qc9PQwji1jmn9Zs3yxywIbjqrZNOGD-2gnVISQE9xWDtdyxF0peId9P7DG4Cx3ifTR7OIke9rEFHLdY-I_HLZfU8Kdn-okp5PYeMdi_TRQK2CTjaf2CkolkF-GaeZ47CFlinONfMfeX7lQfp6GYVvglvt4h94pMyjoG7S0lGuFt8uMAIBvF6Z8r1Sm7kl5phx85q7fNI358HuO2zoHO9dnc5fuG8WgXM"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/pkix-cert Content-Length: - '1274' Boulder-Request-Id: - "-6NpeFKSPxiTJEwrd9s_hx6c1kNc_kWDt1pSR35C4JE" Boulder-Requester: - '515230' Link: - ;rel="up" Location: - https://acme-staging.api.letsencrypt.org/acme/cert/fa4b69c38073141a7eea9bb114c26150f7c0 Replay-Nonce: - qezAbnjgJKo0y3NAEfGg9F3K3AA8jYKI-yg4o50WuD8 X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Fri, 25 Nov 2016 19:44:54 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Fri, 25 Nov 2016 19:44:54 GMT Connection: - keep-alive body: encoding: ASCII-8BIT string: !binary |- MIIE9jCCA96gAwIBAgITAPpLacOAcxQafuqbsRTCYVD3wDANBgkqhkiG9w0B AQsFADAiMSAwHgYDVQQDDBdGYWtlIExFIEludGVybWVkaWF0ZSBYMTAeFw0x NjExMjUxODQ1MDBaFw0xNzAyMjMxODQ1MDBaMBwxGjAYBgNVBAMTEXd3dy5z dWJzdHJha3QuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA wq6lDvi9L0SlKYQzKIOP9tV0UydCA1OwUtnwat75Ins/T/Brhmz9VKPf0thO HjSiKh2JVOnMNXWzsaE7V4ov1OvAFWBW4WbaSim3jQHwOPSK4vxipHfENNL3 if+c6pWb4xS78aXUXTwVpE7cNM3EoCGQ9rp7g9w8OSqn/Rc11APPyfe0CkSv cEdvf1yvtDj3om2ZXviBgJJWI6OESC+1J8Qg4XV1G72ge0ogMQLolnsCjySM F7OEKCjadOTnbUB8v6ey1Yd5ezA6sSXBr6sAJ9eWV3GIO4p3i9jlIK9jEUyU Zhl8oZr7pRqGeDVDvoEUPgkH/FzMQbbBlRUQ1QX4OwIDAQABo4ICKTCCAiUw DgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcD AjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQRQZjLolDgUCryrpcZ8JVcFLEs 3TAfBgNVHSMEGDAWgBTAzANGuVggzFxycPPhLssgpvVoOjB4BggrBgEFBQcB AQRsMGowMwYIKwYBBQUHMAGGJ2h0dHA6Ly9vY3NwLnN0Zy1pbnQteDEubGV0 c2VuY3J5cHQub3JnLzAzBggrBgEFBQcwAoYnaHR0cDovL2NlcnQuc3RnLWlu dC14MS5sZXRzZW5jcnlwdC5vcmcvMCsGA1UdEQQkMCKCDXN1YnN0cmFrdC5j b22CEXd3dy5zdWJzdHJha3QuY29tMIH+BgNVHSAEgfYwgfMwCAYGZ4EMAQIB MIHmBgsrBgEEAYLfEwEBATCB1jAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5s ZXRzZW5jcnlwdC5vcmcwgasGCCsGAQUFBwICMIGeDIGbVGhpcyBDZXJ0aWZp Y2F0ZSBtYXkgb25seSBiZSByZWxpZWQgdXBvbiBieSBSZWx5aW5nIFBhcnRp ZXMgYW5kIG9ubHkgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBDZXJ0aWZpY2F0 ZSBQb2xpY3kgZm91bmQgYXQgaHR0cHM6Ly9sZXRzZW5jcnlwdC5vcmcvcmVw b3NpdG9yeS8wDQYJKoZIhvcNAQELBQADggEBAE+r7xj9qkLUKSEvy8GCf4L3 FvCaWWA+fEGUyqPy5ANHaKh5EUBDDZAfFaptSXas402bIKA+gIqx3Fq+rS87 SuXwG/OB0BvXGvLe7nHAxpMNRtHx51zz2RSKmDpQGgDJ9z7iwEgoDsn0Fwmf IR/HoTOIrQP4STC866/eXj8NrppHZf08/ZTegGYyXSwaW5w12uZRqQfpO3Kj 2L9XjOPh7j3mxi5E1HrSj4ZemJnQh8pC+6jwT2qfoCjYhHkUaxPBlP2yiljH IA0a1TgVIqGI9WeH8LZmC/GG5dpLG0htwL+mmIKth/x5YNU5jKJWZA6ESHv8 3e2A3d7wgI9d792ntD4= http_version: recorded_at: Fri, 25 Nov 2016 19:44:54 GMT - request: method: get uri: https://acme-staging.api.letsencrypt.org/acme/issuer-cert body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoicWV6QWJuamdKS28weTNOQUVmR2c5RjNLM0FBOGpZS0kteWc0bzUwV3VEOCIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ1NTRZdWE1WV91N3lXMlZHS0drQVpjRW8yWGx5Sk9YdGVyR3dac01zRU54aG5oUUFSR0l5cFdkZkd4N0pyWll1Zm80NTNuZWFJWk1LY19DSDY4bXpmQVRQM0hUV2tjNE9hQ0hPaFN2TVh5bEdaMWJKelpnV0I5VEFUc3JZNjYxd1g3eEhteVNOVDYtamdYel9XY3dQVDU1b1pDY2M5QUgtT0FyUzhEdUo4NU0wNFpwWDZUaHBoS2x1QlRncUlMYnhjNVJydndCcFRHemw1VU5mUmhzd0xKbEZiMmdvQ0dsUFVERUhjSy1GQ2xIRmVubkRnU0VlWDRLaHdYdXgzazBLb3FXemxibURwWjc0X0trMFMwWC1zdmVqTUphMFExaThnSWJxQmRhZFlvaHo0aDhJV05SbW9za1BHXzNTWGRuLWZKOE53eHZwbzhFS04yNjEzdGhQd1JvMnlSQkR5YU5TcFBMNXJ0RllhTXM0SkgtdlFDNTNIUXoyTVlOb200dU92TkVWUFV1dTVvQXRna2NrOVNGcXc3djBza1pLdTQtZUlSZEFFZTFaQW5LQXRXYlE3M2p1T3RzekIyeE1Oc0ZiaVE1a1lGZVB5bzV1WlJKSEtXLVJycVJySmpCTFg5RVJZWEktQUI0aFpDOExRajlDY0hjZDgtNEt0QkdnYlJLX3pKR2paSENYdk9qeXRxcU9UZEwwM1lFZEVKZXFsZDA0dDYyeDU4dl9fZUYyMldNeS1ETUxhaTAxRElVSkFaX2hFN3JwOU1WOVQxdDQ5WUNIVElTYlhhaWM2YTF3YjZicFNsbDRUVHJTbHFpa0ZsY0w0VEh2MjkzZmxzR0drRzZGYXNqTFpiZUczUjRYTTlMYl9Ha0RkTXZMcThzQ3BLQ3NWaFlNVEhXTzk3ayJ9fQ","payload":"e30","signature":"XY5hoCrTZ7VjCjvEdGEJfSHV4UpV7_2HRe8TkDyDQqueFHBW3pLbwiGRRDn_f4d-eEvrIx0tMr_uw_xIwsxNbagMzt3UoeqJdLL5Uk0WB_sNSei4NEtIChAnHBaaKNdo-FCaq9Gl8EJVvKN4HK9NxzgXLL6W3fKVIj13NruepaEfC9PU_j1Pb4OKzPSPRTK5ajmFg2Sb6n3sRqhWwYGzTJm-v5nNEUAHt60RjfH0flVJQPWisSRfZger_-D04M0rIIo-mRXRYTsBPg0rSr4nBPwmHDz-3lVJbBXT0i_BEy9iFzMn_pKne1puAutga8SL14lEezbeqRMPiw1KuJWbWZMHxQXSDVKU0W9J-ZN-0FBazcUDnWUfWrc6Qyw_8M9oDSjzPixVh1RsqlsYIm63nQCnPXJzFMC0TKfa_8BJ2iSqSCn-sIMVSaQDZ1cyvQcND4dlJfW_hFhX_Z0hoeFf50jBuhocGrBuPMFf6oW3nDUmTzFCfq4dsUz9sB3Tv7ceDxlxvfUpf8hWe2nAMeN89VfX0BS6Li6aLJHRISO-suuATZruO2pqlkHhj4Dp8XHewrCGlrDcw16b2NVKOUdprSktS4NK-y5ngOxSd7jxzMKPQsCNGmxay-fu5ZVnwoMT5Qg8ztEMq7lrolv9cV4sNgQl-i6UJUqC9PsR56fsmm4"}' headers: User-Agent: - Acme::Client v0.3.7 (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: Server: - nginx Content-Type: - application/pkix-cert Content-Length: - '1199' Boulder-Request-Id: - MBbOsY_5txwuejfS3DgRcC3eo0BHW0Oe_G7Y5L0URqQ Replay-Nonce: - S3E9q-m_Hv211tzT0exvzN3FmyYSFZ_C8TDe15fxmF8 X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Fri, 25 Nov 2016 19:44:54 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Fri, 25 Nov 2016 19:44:54 GMT Connection: - keep-alive body: encoding: ASCII-8BIT string: !binary |- MIIEqzCCApOgAwIBAgIRAIvhKg5ZRO08VGQx8JdhT+UwDQYJKoZIhvcNAQEL BQAwGjEYMBYGA1UEAwwPRmFrZSBMRSBSb290IFgxMB4XDTE2MDUyMzIyMDc1 OVoXDTM2MDUyMzIyMDc1OVowIjEgMB4GA1UEAwwXRmFrZSBMRSBJbnRlcm1l ZGlhdGUgWDEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDtWKyS Dn7rWZc5ggjz3ZB08jO4xti3uzINfD5sQ7Lj7hzetUT+wQob+iXSZkhnvx+I vdbXF5/yt8aWPpUKnPymoLxsYiI5gQBLxNDzIec0OIaflWqAr29m7J8+NNtA pEN8nZFnf3bhehZW7AxmS1m0ZnSsdHw0Fw+bgixPg2MQ9k9oefFeqa+7Kqdl z5bbrUYV2volxhDFtnI4Mh8BiWCNxDH1Hizq+GKCcHsinDZWurCqder/afJB nQs+SBSL6MVApHt+d35zjBD92fO2Je56dhMfzCgOKXeJ340WhW3TjD1zqLZX eaCyUNRnfOmWZV8nEhtHOFbUCU7r/KkjMZO9AgMBAAGjgeMwgeAwDgYDVR0P AQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFMDMA0a5 WCDMXHJw8+EuyyCm9Wg6MHoGCCsGAQUFBwEBBG4wbDA0BggrBgEFBQcwAYYo aHR0cDovL29jc3Auc3RnLXJvb3QteDEubGV0c2VuY3J5cHQub3JnLzA0Bggr BgEFBQcwAoYoaHR0cDovL2NlcnQuc3RnLXJvb3QteDEubGV0c2VuY3J5cHQu b3JnLzAfBgNVHSMEGDAWgBTBJnSkikSg5vogKNhcI5pFiBh54DANBgkqhkiG 9w0BAQsFAAOCAgEABYSu4Il+fI0MYU42OTmEj+1HqQ5DvyAeyCA6sGuZdwjF UGeVOv3NnLyfofuUOjEbY5irFCDtnv+0ckukUZN9lz4Q2YjWGUpW4TTu3ieT saC9AFvCSgNHJyWSVtWvB5XDxsqawl1KzHzzwr132bF2rtGtazSqVqK9E07s GHMCf+zpDQVDVVGtqZPHwX3KqUtefE621b8RI6VCl4oD30Olf8pjuzG4JKBF RFclzLRjo/h7IkkfjZ8wDa7faOjVXx6n+eUQ29cIMCzr8/rNWHS9pYGGQKJi Y2xmVC9h12H99XyfzWE9vb5zKP3MVG6neX1hSdo7PEAb9fqRhHkqVsqUvJlI RmvXvVKTwNCP3eCjRCCIPTAvjV+4ni786iXwwFYNz8l3PmPLCyQXWGohnJ8i Bm+5nk7O2ynaPVW0U2W+pt2wSVuvdDM5zGv2f9ltNWUiYZHJ1mmO97jSY/6Y fdOUH66iRtQtDkHBRdkNBsMbD+Em2TgBldtHNSJBfB3pm9FblgOcJ0FSWcUD WJ7vO0+NTXlgrRofRT6pVywzxVo6dND0WzYlTWeUVsO40xJqhgUQRER9YLOL xJ0O6C8i0xFxAMKOtSdodMB3RIwt7RFQ0uytn5Z5MqkYhlMI3J1tPRTp1nEt 9fyGspBOO05gi148Qasp+3N+svqKomoQglNoAxU= http_version: recorded_at: Fri, 25 Nov 2016 19:44:54 GMT - request: method: patch uri: https://api.heroku.com/apps/ssl-test-maxwoolf/features/http-sni body: encoding: UTF-8 string: '{"enabled":true}' headers: Accept: - application/vnd.heroku+json; version=3.sni_ssl_cert Authorization: - Bearer 67705361-152c-4761-96aa-ec904d6cd071 Content-Type: - application/json response: status: code: 404 message: Not Found headers: Cache-Control: - private, no-cache Content-Type: - application/json Date: - Fri, 25 Nov 2016 19:44:55 GMT Ratelimit-Multiplier: - '1' Ratelimit-Remaining: - '4491' Request-Id: - 49a27510-71fe-45f9-4a52-0840a0a057c3,36dde210-58e4-c835-e65e-79cd4ae9192c Vary: - Accept-Encoding Via: - 1.1 spaces-router (+291255b) X-Content-Type-Options: - nosniff X-Runtime: - '0.080851622' Content-Length: - '79' Connection: - keep-alive body: encoding: UTF-8 string: '{"resource":"feature","id":"not_found","message":"Couldn''t find that feature."}' http_version: recorded_at: Fri, 25 Nov 2016 19:44:55 GMT - request: method: post uri: https://api.heroku.com/apps/ssl-test-maxwoolf/sni-endpoints body: encoding: UTF-8 string: '{"certificate_chain":"-----BEGIN CERTIFICATE-----\nMIIE9jCCA96gAwIBAgITAPpLacOAcxQafuqbsRTCYVD3wDANBgkqhkiG9w0BAQsF\nADAiMSAwHgYDVQQDDBdGYWtlIExFIEludGVybWVkaWF0ZSBYMTAeFw0xNjExMjUx\nODQ1MDBaFw0xNzAyMjMxODQ1MDBaMBwxGjAYBgNVBAMTEXd3dy5zdWJzdHJha3Qu\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwq6lDvi9L0SlKYQz\nKIOP9tV0UydCA1OwUtnwat75Ins/T/Brhmz9VKPf0thOHjSiKh2JVOnMNXWzsaE7\nV4ov1OvAFWBW4WbaSim3jQHwOPSK4vxipHfENNL3if+c6pWb4xS78aXUXTwVpE7c\nNM3EoCGQ9rp7g9w8OSqn/Rc11APPyfe0CkSvcEdvf1yvtDj3om2ZXviBgJJWI6OE\nSC+1J8Qg4XV1G72ge0ogMQLolnsCjySMF7OEKCjadOTnbUB8v6ey1Yd5ezA6sSXB\nr6sAJ9eWV3GIO4p3i9jlIK9jEUyUZhl8oZr7pRqGeDVDvoEUPgkH/FzMQbbBlRUQ\n1QX4OwIDAQABo4ICKTCCAiUwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsG\nAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQRQZjLolDg\nUCryrpcZ8JVcFLEs3TAfBgNVHSMEGDAWgBTAzANGuVggzFxycPPhLssgpvVoOjB4\nBggrBgEFBQcBAQRsMGowMwYIKwYBBQUHMAGGJ2h0dHA6Ly9vY3NwLnN0Zy1pbnQt\neDEubGV0c2VuY3J5cHQub3JnLzAzBggrBgEFBQcwAoYnaHR0cDovL2NlcnQuc3Rn\nLWludC14MS5sZXRzZW5jcnlwdC5vcmcvMCsGA1UdEQQkMCKCDXN1YnN0cmFrdC5j\nb22CEXd3dy5zdWJzdHJha3QuY29tMIH+BgNVHSAEgfYwgfMwCAYGZ4EMAQIBMIHm\nBgsrBgEEAYLfEwEBATCB1jAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5sZXRzZW5j\ncnlwdC5vcmcwgasGCCsGAQUFBwICMIGeDIGbVGhpcyBDZXJ0aWZpY2F0ZSBtYXkg\nb25seSBiZSByZWxpZWQgdXBvbiBieSBSZWx5aW5nIFBhcnRpZXMgYW5kIG9ubHkg\naW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBDZXJ0aWZpY2F0ZSBQb2xpY3kgZm91bmQg\nYXQgaHR0cHM6Ly9sZXRzZW5jcnlwdC5vcmcvcmVwb3NpdG9yeS8wDQYJKoZIhvcN\nAQELBQADggEBAE+r7xj9qkLUKSEvy8GCf4L3FvCaWWA+fEGUyqPy5ANHaKh5EUBD\nDZAfFaptSXas402bIKA+gIqx3Fq+rS87SuXwG/OB0BvXGvLe7nHAxpMNRtHx51zz\n2RSKmDpQGgDJ9z7iwEgoDsn0FwmfIR/HoTOIrQP4STC866/eXj8NrppHZf08/ZTe\ngGYyXSwaW5w12uZRqQfpO3Kj2L9XjOPh7j3mxi5E1HrSj4ZemJnQh8pC+6jwT2qf\noCjYhHkUaxPBlP2yiljHIA0a1TgVIqGI9WeH8LZmC/GG5dpLG0htwL+mmIKth/x5\nYNU5jKJWZA6ESHv83e2A3d7wgI9d792ntD4=\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIEqzCCApOgAwIBAgIRAIvhKg5ZRO08VGQx8JdhT+UwDQYJKoZIhvcNAQELBQAw\nGjEYMBYGA1UEAwwPRmFrZSBMRSBSb290IFgxMB4XDTE2MDUyMzIyMDc1OVoXDTM2\nMDUyMzIyMDc1OVowIjEgMB4GA1UEAwwXRmFrZSBMRSBJbnRlcm1lZGlhdGUgWDEw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDtWKySDn7rWZc5ggjz3ZB0\n8jO4xti3uzINfD5sQ7Lj7hzetUT+wQob+iXSZkhnvx+IvdbXF5/yt8aWPpUKnPym\noLxsYiI5gQBLxNDzIec0OIaflWqAr29m7J8+NNtApEN8nZFnf3bhehZW7AxmS1m0\nZnSsdHw0Fw+bgixPg2MQ9k9oefFeqa+7Kqdlz5bbrUYV2volxhDFtnI4Mh8BiWCN\nxDH1Hizq+GKCcHsinDZWurCqder/afJBnQs+SBSL6MVApHt+d35zjBD92fO2Je56\ndhMfzCgOKXeJ340WhW3TjD1zqLZXeaCyUNRnfOmWZV8nEhtHOFbUCU7r/KkjMZO9\nAgMBAAGjgeMwgeAwDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAw\nHQYDVR0OBBYEFMDMA0a5WCDMXHJw8+EuyyCm9Wg6MHoGCCsGAQUFBwEBBG4wbDA0\nBggrBgEFBQcwAYYoaHR0cDovL29jc3Auc3RnLXJvb3QteDEubGV0c2VuY3J5cHQu\nb3JnLzA0BggrBgEFBQcwAoYoaHR0cDovL2NlcnQuc3RnLXJvb3QteDEubGV0c2Vu\nY3J5cHQub3JnLzAfBgNVHSMEGDAWgBTBJnSkikSg5vogKNhcI5pFiBh54DANBgkq\nhkiG9w0BAQsFAAOCAgEABYSu4Il+fI0MYU42OTmEj+1HqQ5DvyAeyCA6sGuZdwjF\nUGeVOv3NnLyfofuUOjEbY5irFCDtnv+0ckukUZN9lz4Q2YjWGUpW4TTu3ieTsaC9\nAFvCSgNHJyWSVtWvB5XDxsqawl1KzHzzwr132bF2rtGtazSqVqK9E07sGHMCf+zp\nDQVDVVGtqZPHwX3KqUtefE621b8RI6VCl4oD30Olf8pjuzG4JKBFRFclzLRjo/h7\nIkkfjZ8wDa7faOjVXx6n+eUQ29cIMCzr8/rNWHS9pYGGQKJiY2xmVC9h12H99Xyf\nzWE9vb5zKP3MVG6neX1hSdo7PEAb9fqRhHkqVsqUvJlIRmvXvVKTwNCP3eCjRCCI\nPTAvjV+4ni786iXwwFYNz8l3PmPLCyQXWGohnJ8iBm+5nk7O2ynaPVW0U2W+pt2w\nSVuvdDM5zGv2f9ltNWUiYZHJ1mmO97jSY/6YfdOUH66iRtQtDkHBRdkNBsMbD+Em\n2TgBldtHNSJBfB3pm9FblgOcJ0FSWcUDWJ7vO0+NTXlgrRofRT6pVywzxVo6dND0\nWzYlTWeUVsO40xJqhgUQRER9YLOLxJ0O6C8i0xFxAMKOtSdodMB3RIwt7RFQ0uyt\nn5Z5MqkYhlMI3J1tPRTp1nEt9fyGspBOO05gi148Qasp+3N+svqKomoQglNoAxU=\n-----END CERTIFICATE-----\n","private_key":"-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAwq6lDvi9L0SlKYQzKIOP9tV0UydCA1OwUtnwat75Ins/T/Br\nhmz9VKPf0thOHjSiKh2JVOnMNXWzsaE7V4ov1OvAFWBW4WbaSim3jQHwOPSK4vxi\npHfENNL3if+c6pWb4xS78aXUXTwVpE7cNM3EoCGQ9rp7g9w8OSqn/Rc11APPyfe0\nCkSvcEdvf1yvtDj3om2ZXviBgJJWI6OESC+1J8Qg4XV1G72ge0ogMQLolnsCjySM\nF7OEKCjadOTnbUB8v6ey1Yd5ezA6sSXBr6sAJ9eWV3GIO4p3i9jlIK9jEUyUZhl8\noZr7pRqGeDVDvoEUPgkH/FzMQbbBlRUQ1QX4OwIDAQABAoIBAHqj1D0TOvJ89uKp\nciTShC2FmCsN7wrzfH8k5cwdPKqZI3AzTzk2jXv1Y/mJ4+QpWgLX6nyAb/E5fYKn\nxB9IYQtrm+ybbP+/cEIJ96QvlWn7u0Z0oZtkC0kPoXrgeLRanQI3PJJk2dwGDsgc\nGaJ2AaiynIShQ0/0vEdy9LJ+HZ250gLgK4yjcV0WR+Ilvjs1EHK8i6NtTpGiGruF\nwv7N9yIfehBiQtZ9v7DT/gq21TVmW6qCc7+EJTxDtCXxcg8CsOLt7aoyGs61rjwo\n6+a8HursDNeO53yDAAFwZwKFBSZwfvcdy+KxVfp+5TsehZZkcmyP04pl+u92auRV\nt8V81EECgYEA+SqbtaO2GJeV3nFIjzqT6zVF9HStRncsVHLn50cGluKT7TqySOAT\n8QG59TbhCrTx7ST5Eu9nM0ia8q9jW/vYw+U2do9GmQ3OIl8rbKZMjy/vrPA2yzZM\nBz5h4YE9F6KxR+gXtIaGSI0kIXHw3HeAQoU02+BS6kecQHZLnMW/EtsCgYEAyAWB\nBbTS0qTIYSnfd6JIbekPLGvkEvrcD7TcCk8HztTOswEZjgPW8BCkMoAetG1dvvBv\nW6d6J1zRKbHD5KtvDVRCF+GUJBdv5GIhRdcvimQyZa6dV9uqHlmg2rd2Q+UuNjpA\nluyZKcDOCQqvBypeIUc3WOWBa278hXTGnNwSviECgYA3UWRcgUouT4kwZ4oqcmDg\nuWUcjsLhgBfRb+lYiYZG/WrGIl/umgETYsS8UkDINb/4XFsH/yq0UgxEkPfINjO7\n2imrTMfptwzqyKJFbu5UY9ocVQB1QUrD2O+2NxEvLCmbw0VwCOXLObqpyjglWkqZ\neiVwI2+FH/zqutiyp5xyPQKBgQCPB+CLRBK9rjfbwyWZVuKUNeQzz7L4H4rdcGco\nt/rNXD+yoUa01uoMINpJgnRycQJoV2ZKFCi1nRm0xvldu3ld/rKEgTp91ISeu80v\nNAE65QtkysiY2ut7aHwt6qMXSfsRq/Yj9mxP/x9WN92RMiq9gT+CwhsZx/OrOyYL\nZRPCAQKBgCCH3zbeTAU6iif+OEb5SpsSunMeoiBagFWyEsGsNBNViUQMtt5dQiRy\noAGxBOZOCOVgiCaLKAzTSxSnqZksPKm3qhwa23lIb5TZdfUhKCZE/QrTtsiiV6/B\ngjuQfeabmKl22MZUnYYCprdJNs+mHj72UIcoftuVhK11d9iy3Wsj\n-----END RSA PRIVATE KEY-----\n"}' headers: Accept: - application/vnd.heroku+json; version=3.sni_ssl_cert Authorization: - Bearer 67705361-152c-4761-96aa-ec904d6cd071 Content-Type: - application/json response: status: code: 202 message: Accepted headers: Cache-Control: - private, no-cache Content-Type: - application/json Date: - Fri, 25 Nov 2016 19:44:56 GMT Oauth-Scope: - global Oauth-Scope-Accepted: - global write write-protected Ratelimit-Multiplier: - '1' Ratelimit-Remaining: - '4490' Request-Id: - 99fa5d8a-ec09-44e8-7703-53ff71c4e5e3,7476eb24-ac18-5871-40f0-7c9a2f2c4b3b Vary: - Accept-Encoding Via: - 1.1 spaces-router (+291255b) X-Content-Type-Options: - nosniff X-Runtime: - '0.549942558' Transfer-Encoding: - chunked Connection: - keep-alive body: encoding: UTF-8 string: '{"app":{"id":"81bc00a1-056a-4987-9a61-77a07b3b36ec","name":"ssl-test-maxwoolf"},"certificate_chain":"-----BEGIN CERTIFICATE-----\nMIIE9jCCA96gAwIBAgITAPpLacOAcxQafuqbsRTCYVD3wDANBgkqhkiG9w0BAQsF\nADAiMSAwHgYDVQQDDBdGYWtlIExFIEludGVybWVkaWF0ZSBYMTAeFw0xNjExMjUx\nODQ1MDBaFw0xNzAyMjMxODQ1MDBaMBwxGjAYBgNVBAMTEXd3dy5zdWJzdHJha3Qu\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwq6lDvi9L0SlKYQz\nKIOP9tV0UydCA1OwUtnwat75Ins/T/Brhmz9VKPf0thOHjSiKh2JVOnMNXWzsaE7\nV4ov1OvAFWBW4WbaSim3jQHwOPSK4vxipHfENNL3if+c6pWb4xS78aXUXTwVpE7c\nNM3EoCGQ9rp7g9w8OSqn/Rc11APPyfe0CkSvcEdvf1yvtDj3om2ZXviBgJJWI6OE\nSC+1J8Qg4XV1G72ge0ogMQLolnsCjySMF7OEKCjadOTnbUB8v6ey1Yd5ezA6sSXB\nr6sAJ9eWV3GIO4p3i9jlIK9jEUyUZhl8oZr7pRqGeDVDvoEUPgkH/FzMQbbBlRUQ\n1QX4OwIDAQABo4ICKTCCAiUwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsG\nAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQRQZjLolDg\nUCryrpcZ8JVcFLEs3TAfBgNVHSMEGDAWgBTAzANGuVggzFxycPPhLssgpvVoOjB4\nBggrBgEFBQcBAQRsMGowMwYIKwYBBQUHMAGGJ2h0dHA6Ly9vY3NwLnN0Zy1pbnQt\neDEubGV0c2VuY3J5cHQub3JnLzAzBggrBgEFBQcwAoYnaHR0cDovL2NlcnQuc3Rn\nLWludC14MS5sZXRzZW5jcnlwdC5vcmcvMCsGA1UdEQQkMCKCDXN1YnN0cmFrdC5j\nb22CEXd3dy5zdWJzdHJha3QuY29tMIH+BgNVHSAEgfYwgfMwCAYGZ4EMAQIBMIHm\nBgsrBgEEAYLfEwEBATCB1jAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5sZXRzZW5j\ncnlwdC5vcmcwgasGCCsGAQUFBwICMIGeDIGbVGhpcyBDZXJ0aWZpY2F0ZSBtYXkg\nb25seSBiZSByZWxpZWQgdXBvbiBieSBSZWx5aW5nIFBhcnRpZXMgYW5kIG9ubHkg\naW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBDZXJ0aWZpY2F0ZSBQb2xpY3kgZm91bmQg\nYXQgaHR0cHM6Ly9sZXRzZW5jcnlwdC5vcmcvcmVwb3NpdG9yeS8wDQYJKoZIhvcN\nAQELBQADggEBAE+r7xj9qkLUKSEvy8GCf4L3FvCaWWA+fEGUyqPy5ANHaKh5EUBD\nDZAfFaptSXas402bIKA+gIqx3Fq+rS87SuXwG/OB0BvXGvLe7nHAxpMNRtHx51zz\n2RSKmDpQGgDJ9z7iwEgoDsn0FwmfIR/HoTOIrQP4STC866/eXj8NrppHZf08/ZTe\ngGYyXSwaW5w12uZRqQfpO3Kj2L9XjOPh7j3mxi5E1HrSj4ZemJnQh8pC+6jwT2qf\noCjYhHkUaxPBlP2yiljHIA0a1TgVIqGI9WeH8LZmC/GG5dpLG0htwL+mmIKth/x5\nYNU5jKJWZA6ESHv83e2A3d7wgI9d792ntD4=\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIEqzCCApOgAwIBAgIRAIvhKg5ZRO08VGQx8JdhT+UwDQYJKoZIhvcNAQELBQAw\nGjEYMBYGA1UEAwwPRmFrZSBMRSBSb290IFgxMB4XDTE2MDUyMzIyMDc1OVoXDTM2\nMDUyMzIyMDc1OVowIjEgMB4GA1UEAwwXRmFrZSBMRSBJbnRlcm1lZGlhdGUgWDEw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDtWKySDn7rWZc5ggjz3ZB0\n8jO4xti3uzINfD5sQ7Lj7hzetUT+wQob+iXSZkhnvx+IvdbXF5/yt8aWPpUKnPym\noLxsYiI5gQBLxNDzIec0OIaflWqAr29m7J8+NNtApEN8nZFnf3bhehZW7AxmS1m0\nZnSsdHw0Fw+bgixPg2MQ9k9oefFeqa+7Kqdlz5bbrUYV2volxhDFtnI4Mh8BiWCN\nxDH1Hizq+GKCcHsinDZWurCqder/afJBnQs+SBSL6MVApHt+d35zjBD92fO2Je56\ndhMfzCgOKXeJ340WhW3TjD1zqLZXeaCyUNRnfOmWZV8nEhtHOFbUCU7r/KkjMZO9\nAgMBAAGjgeMwgeAwDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAw\nHQYDVR0OBBYEFMDMA0a5WCDMXHJw8+EuyyCm9Wg6MHoGCCsGAQUFBwEBBG4wbDA0\nBggrBgEFBQcwAYYoaHR0cDovL29jc3Auc3RnLXJvb3QteDEubGV0c2VuY3J5cHQu\nb3JnLzA0BggrBgEFBQcwAoYoaHR0cDovL2NlcnQuc3RnLXJvb3QteDEubGV0c2Vu\nY3J5cHQub3JnLzAfBgNVHSMEGDAWgBTBJnSkikSg5vogKNhcI5pFiBh54DANBgkq\nhkiG9w0BAQsFAAOCAgEABYSu4Il+fI0MYU42OTmEj+1HqQ5DvyAeyCA6sGuZdwjF\nUGeVOv3NnLyfofuUOjEbY5irFCDtnv+0ckukUZN9lz4Q2YjWGUpW4TTu3ieTsaC9\nAFvCSgNHJyWSVtWvB5XDxsqawl1KzHzzwr132bF2rtGtazSqVqK9E07sGHMCf+zp\nDQVDVVGtqZPHwX3KqUtefE621b8RI6VCl4oD30Olf8pjuzG4JKBFRFclzLRjo/h7\nIkkfjZ8wDa7faOjVXx6n+eUQ29cIMCzr8/rNWHS9pYGGQKJiY2xmVC9h12H99Xyf\nzWE9vb5zKP3MVG6neX1hSdo7PEAb9fqRhHkqVsqUvJlIRmvXvVKTwNCP3eCjRCCI\nPTAvjV+4ni786iXwwFYNz8l3PmPLCyQXWGohnJ8iBm+5nk7O2ynaPVW0U2W+pt2w\nSVuvdDM5zGv2f9ltNWUiYZHJ1mmO97jSY/6YfdOUH66iRtQtDkHBRdkNBsMbD+Em\n2TgBldtHNSJBfB3pm9FblgOcJ0FSWcUDWJ7vO0+NTXlgrRofRT6pVywzxVo6dND0\nWzYlTWeUVsO40xJqhgUQRER9YLOLxJ0O6C8i0xFxAMKOtSdodMB3RIwt7RFQ0uyt\nn5Z5MqkYhlMI3J1tPRTp1nEt9fyGspBOO05gi148Qasp+3N+svqKomoQglNoAxU=\n-----END CERTIFICATE-----\n","cname":null,"created_at":"2016-11-25T19:44:56Z","id":"b8043b0a-ae99-4998-befd-2cf7b4ecb362","name":"velociraptor-64516","updated_at":"2016-11-25T19:44:56Z","warnings":{"ssl_cert":["provides no domain(s) that are configured for this Heroku app"]},"ssl_cert":{"ca_signed?":false,"cert_domains":["www.substrakt.com","substrakt.com"],"expires_at":"2017-02-23T18:45:00Z","issuer":"/CN=Fake LE Intermediate X1","self_signed?":false,"starts_at":"2016-11-25T18:45:00Z","subject":"/CN=www.substrakt.com","id":"5f4de200-2f59-4359-a009-2b9ef09d8a9e"}}' http_version: recorded_at: Fri, 25 Nov 2016 19:44:56 GMT recorded_with: VCR 3.0.3 ================================================ FILE: test/fixtures/vcr_cassettes/new-cert-provisioner-heroku.yml ================================================ --- http_interactions: - request: method: head uri: https://acme-staging.api.letsencrypt.org/acme/new-reg body: encoding: US-ASCII string: '' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept: - "*/*" response: status: code: 405 message: Method Not Allowed headers: Server: - nginx Content-Type: - application/problem+json Content-Length: - '91' Allow: - POST Boulder-Request-Id: - ckXPPtLtoRIdqMIyof2FcDj5mMY4oPp3N61wR6pCXbM Replay-Nonce: - zGW2hQ3xVmiyz70kbF7fq6LlYoV1ulwYbZMIQvx9HfA Expires: - Fri, 25 Nov 2016 19:30:36 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Fri, 25 Nov 2016 19:30:36 GMT Connection: - keep-alive body: encoding: UTF-8 string: '' http_version: recorded_at: Fri, 25 Nov 2016 19:30:36 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-reg body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiekdXMmhRM3hWbWl5ejcwa2JGN2ZxNkxsWW9WMXVsd1liWk1JUXZ4OUhmQSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ5bWpzRS0xdGNkVEdjaUEtT2lrcFlRbk8wMkpaNEt3ZlB3NFVkQUxIOFB2dThDZ05TQTJMeDM1NF9ibFUyQUlWbk0taGlWTjQzcHlac0w0NWFibmJJTXRvR0c2dHBHaU9hRGZ2V0J1V2dndTlaeXFCeUgydXVIWXRIR3QyakdTNEhyMi1pVjdva216amc2VEJQT2F5cG15ZmE1UExMbGFtai00Njl4QkZQdlpiUXZGMGQ4RXJOQUh2MmNtbFUwY2xBUmNIeHBQdUFyZzJ3eTMtb3ZKYjdRRWNxN29LZDgxTXZmNFVnVnVkbVN2djNvOERPZDQ4ajRDM056MHk2NzR3MmpCbDFMdThLM2tpVTdmamE1M3VURkZGeDk3aWFyODczXzc0VFB1clZOeXJSQVR0eUNjV1ZQWVZ2ZE5YTVN4OUNGUHRWSDZJbGZib1duckVzTUoxYXFmX04xWHZuaEl4WjRMZERTTzBmZ2FSTW5rU09tRFluUWFZbldOTmRKd2xvLXg3TXM2a3J5SE9yNmVNa0xrWU1pU0EwTWFPd21yOGN6ejk2VWxNX01Tdzc4SE5vbzRhRkw2SFQtMVVDWVZKYWpXUnhHUE9CV3dIeExocnVwMjE0UmlzOGxJSENXSEczQzRmWFIyMFhGRWdrajZPTTVwei1sempPcGZvbk1BTU9IUnc1M3RHSklodlFISHhyUC1QREZZc01RWTlxWVdncjRybEJQRUVyN2t3UkVjRTlDYS1kLUhwNjhkX0tnRUhrUjAwS2dPOWYweER3VkZhcHhxaGNtTGF3alRPUVdFdkRJbC13Wm9QM2tFVFlNeTA5bm5YN1dieDZOcVBPbzh3RTVnU1NKWlNtSC1nS0F5YVBYN0hMNmhTN203d0w1ZFQ4Z0doZ3Z6ZmlZVSJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1yZWciLCJjb250YWN0IjpbIm1haWx0bzptYXhAc3Vic3RyYWt0LmNvbSJdfQ","signature":"oaSlihny0rkfyxYtkiPdsgxxicGJoT2HhlsnXVUNfLAvQg7hXTBdPxwHbkkvOdWL3E0kJNQSa82tH8g3tNFMVql47W0U6fK4DePriL7_y11OgAzPGzZ7C-0_hXbcwYFoAwwKbBonqacPUa0XAf3uLHGL6DwMcuhKAtFzIHxA0Y7Ga1nYGLf43_E076LhLNlD0zDTFKXnmNbnHqmTjVrSmbWqc0OmDPJCwVoN8kzTcsfLo-HsA6IWIZ3q-eMfHp7WtnVcqvgT8YTn3egPP6J-Ho-syxW9u3UDxsUok9N9w1ERidUe3I_X-i1nY9RIyZypbhwM7s0q6Y6NqOXa5LN5QZo5zAoUApKyffu_DDFmD6gErAiEsL0qccNROtdRHWqs1GcO7VZ6fijmeTQu4yiyHtxnHpXjWhVyJp9wFovMA9sHDMbvD8uhVkS4f3N8nXsw3zzTPtbLaqtimLMCLAazh0hHiRyG779g043uNQoM9XjWoEYZG3lhVhd12etbyQljWiHBIB1vDreDo7rLjMKpA1zAX0YvKi4tUi4Mbpvc-S1X14WgY48bv57basest9nN4Jjx8mTziQD0VCnv2RjFkwPOK6GhO58dV1h93BgENKxSeUie5IaqRZsLhyhGbv0hsZLe9Y-1OMJjdR-P6ZJ4M80PNkMHgWwhdYdiSgNdcbY"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '912' Boulder-Request-Id: - MZ1eRoHC20AWq4SSpfIPXFgwMW7I3dYdDmd4L9HApcU Boulder-Requester: - '515213' Link: - ;rel="next" - ;rel="terms-of-service" Location: - https://acme-staging.api.letsencrypt.org/acme/reg/515213 Replay-Nonce: - CC10TqddTMiBhYDvMY9kRV5BdVaRZZwPYSC8tJC_Ph8 X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Fri, 25 Nov 2016 19:30:37 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Fri, 25 Nov 2016 19:30:37 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "id": 515213, "key": { "kty": "RSA", "n": "ymjsE-1tcdTGciA-OikpYQnO02JZ4KwfPw4UdALH8Pvu8CgNSA2Lx354_blU2AIVnM-hiVN43pyZsL45abnbIMtoGG6tpGiOaDfvWBuWggu9ZyqByH2uuHYtHGt2jGS4Hr2-iV7okmzjg6TBPOaypmyfa5PLLlamj-469xBFPvZbQvF0d8ErNAHv2cmlU0clARcHxpPuArg2wy3-ovJb7QEcq7oKd81Mvf4UgVudmSvv3o8DOd48j4C3Nz0y674w2jBl1Lu8K3kiU7fja53uTFFFx97iar873_74TPurVNyrRATtyCcWVPYVvdNXMSx9CFPtVH6IlfboWnrEsMJ1aqf_N1XvnhIxZ4LdDSO0fgaRMnkSOmDYnQaYnWNNdJwlo-x7Ms6kryHOr6eMkLkYMiSA0MaOwmr8czz96UlM_MSw78HNoo4aFL6HT-1UCYVJajWRxGPOBWwHxLhrup214Ris8lIHCWHG3C4fXR20XFEgkj6OM5pz-lzjOpfonMAMOHRw53tGJIhvQHHxrP-PDFYsMQY9qYWgr4rlBPEEr7kwREcE9Ca-d-Hp68d_KgEHkR00KgO9f0xDwVFapxqhcmLawjTOQWEvDIl-wZoP3kETYMy09nnX7Wbx6NqPOo8wE5gSSJZSmH-gKAyaPX7HL6hS7m7wL5dT8gGhgvzfiYU", "e": "AQAB" }, "contact": [ "mailto:max@substrakt.com" ], "initialIp": "82.43.101.135", "createdAt": "2016-11-25T19:30:37.369505856Z", "Status": "" } http_version: recorded_at: Fri, 25 Nov 2016 19:30:37 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/reg/515213 body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiQ0MxMFRxZGRUTWlCaFlEdk1ZOWtSVjVCZFZhUlpad1BZU0M4dEpDX1BoOCIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ5bWpzRS0xdGNkVEdjaUEtT2lrcFlRbk8wMkpaNEt3ZlB3NFVkQUxIOFB2dThDZ05TQTJMeDM1NF9ibFUyQUlWbk0taGlWTjQzcHlac0w0NWFibmJJTXRvR0c2dHBHaU9hRGZ2V0J1V2dndTlaeXFCeUgydXVIWXRIR3QyakdTNEhyMi1pVjdva216amc2VEJQT2F5cG15ZmE1UExMbGFtai00Njl4QkZQdlpiUXZGMGQ4RXJOQUh2MmNtbFUwY2xBUmNIeHBQdUFyZzJ3eTMtb3ZKYjdRRWNxN29LZDgxTXZmNFVnVnVkbVN2djNvOERPZDQ4ajRDM056MHk2NzR3MmpCbDFMdThLM2tpVTdmamE1M3VURkZGeDk3aWFyODczXzc0VFB1clZOeXJSQVR0eUNjV1ZQWVZ2ZE5YTVN4OUNGUHRWSDZJbGZib1duckVzTUoxYXFmX04xWHZuaEl4WjRMZERTTzBmZ2FSTW5rU09tRFluUWFZbldOTmRKd2xvLXg3TXM2a3J5SE9yNmVNa0xrWU1pU0EwTWFPd21yOGN6ejk2VWxNX01Tdzc4SE5vbzRhRkw2SFQtMVVDWVZKYWpXUnhHUE9CV3dIeExocnVwMjE0UmlzOGxJSENXSEczQzRmWFIyMFhGRWdrajZPTTVwei1sempPcGZvbk1BTU9IUnc1M3RHSklodlFISHhyUC1QREZZc01RWTlxWVdncjRybEJQRUVyN2t3UkVjRTlDYS1kLUhwNjhkX0tnRUhrUjAwS2dPOWYweER3VkZhcHhxaGNtTGF3alRPUVdFdkRJbC13Wm9QM2tFVFlNeTA5bm5YN1dieDZOcVBPbzh3RTVnU1NKWlNtSC1nS0F5YVBYN0hMNmhTN203d0w1ZFQ4Z0doZ3Z6ZmlZVSJ9fQ","payload":"eyJyZXNvdXJjZSI6InJlZyIsImFncmVlbWVudCI6Imh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL2RvY3VtZW50cy9MRS1TQS12MS4xLjEtQXVndXN0LTEtMjAxNi5wZGYifQ","signature":"GMttEM2sWjUYQiRtJpIAS00uCEQX1ciQ1wGVQpS9IGrxx5hCcKXr4BZSSO_DJFzaFzpWGByb8PgNzOmkn1XJ2wzeiPbNt9xNH3Za-1syzAnAH5Lv75Rt-uvgpWrxVG-g5FUZH45_3RuWN9j8DLgVvqQuomEb7YAVbbxEErt6WMZ5tVSYvpAYLjaD7O5K2AHfjb_U2bOPs6UTqdNsbu65uak9YwodcqQ-89IIGBUr-UWSv5GWzc59PukcE--71QwNOMtU1JpqiJl2eHWzDvRC1krHtcz6bQyUg65STRW8b-lklu5gCwdjXAjm19YKHY-G_wuRWNxPhzhPyCSA5t_xct7NdWIW2s-9dHEgWjhFlT3MiMIJ3ccoH1Q5oojSyiexcGmq_rDOsLqNqRa-xwp_9W1Bg11pNIiFdbDLs7w1wZ9pZIWS-4UQTJljaXhCJ2_uDmFfu1z2H1YFmVHLDa2DO6gGAyINySH62ve5ViBoe8SCEUtGOhbZhvPEHep2ipKENLI9YSRMx_r6-g1-17PACk7JLREpx-J8oq80vmQmLqa-jeGJtj3drPnO0ODn-CEk0dxod_fw9hs8EwMuuDBje9-pGpjnKmkAEJItuRoVqTbOzMTGgsJFu0z0UrQsgteLmYQBw3x35y5OIDI8OrLkVjQ6xAcmsZTaNxqC21-HYQk"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 202 message: Accepted headers: Server: - nginx Content-Type: - application/json Content-Length: - '985' Boulder-Request-Id: - u0sJri58wlez9J8BkQ899P5s1Q2gqidfuUb0QBv0Wuw Boulder-Requester: - '515213' Link: - ;rel="next" - ;rel="terms-of-service" Replay-Nonce: - AMmjdD5_Oa48OZRwqc9dteB3f7ixJvu1HrJPIvoL3XM Expires: - Fri, 25 Nov 2016 19:30:38 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Fri, 25 Nov 2016 19:30:38 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "id": 515213, "key": { "kty": "RSA", "n": "ymjsE-1tcdTGciA-OikpYQnO02JZ4KwfPw4UdALH8Pvu8CgNSA2Lx354_blU2AIVnM-hiVN43pyZsL45abnbIMtoGG6tpGiOaDfvWBuWggu9ZyqByH2uuHYtHGt2jGS4Hr2-iV7okmzjg6TBPOaypmyfa5PLLlamj-469xBFPvZbQvF0d8ErNAHv2cmlU0clARcHxpPuArg2wy3-ovJb7QEcq7oKd81Mvf4UgVudmSvv3o8DOd48j4C3Nz0y674w2jBl1Lu8K3kiU7fja53uTFFFx97iar873_74TPurVNyrRATtyCcWVPYVvdNXMSx9CFPtVH6IlfboWnrEsMJ1aqf_N1XvnhIxZ4LdDSO0fgaRMnkSOmDYnQaYnWNNdJwlo-x7Ms6kryHOr6eMkLkYMiSA0MaOwmr8czz96UlM_MSw78HNoo4aFL6HT-1UCYVJajWRxGPOBWwHxLhrup214Ris8lIHCWHG3C4fXR20XFEgkj6OM5pz-lzjOpfonMAMOHRw53tGJIhvQHHxrP-PDFYsMQY9qYWgr4rlBPEEr7kwREcE9Ca-d-Hp68d_KgEHkR00KgO9f0xDwVFapxqhcmLawjTOQWEvDIl-wZoP3kETYMy09nnX7Wbx6NqPOo8wE5gSSJZSmH-gKAyaPX7HL6hS7m7wL5dT8gGhgvzfiYU", "e": "AQAB" }, "contact": [ "mailto:max@substrakt.com" ], "agreement": "https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf", "initialIp": "82.43.101.135", "createdAt": "2016-11-25T19:30:37Z", "Status": "" } http_version: recorded_at: Fri, 25 Nov 2016 19:30:38 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-authz body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiQU1tamRENV9PYTQ4T1pSd3FjOWR0ZUIzZjdpeEp2dTFIckpQSXZvTDNYTSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ5bWpzRS0xdGNkVEdjaUEtT2lrcFlRbk8wMkpaNEt3ZlB3NFVkQUxIOFB2dThDZ05TQTJMeDM1NF9ibFUyQUlWbk0taGlWTjQzcHlac0w0NWFibmJJTXRvR0c2dHBHaU9hRGZ2V0J1V2dndTlaeXFCeUgydXVIWXRIR3QyakdTNEhyMi1pVjdva216amc2VEJQT2F5cG15ZmE1UExMbGFtai00Njl4QkZQdlpiUXZGMGQ4RXJOQUh2MmNtbFUwY2xBUmNIeHBQdUFyZzJ3eTMtb3ZKYjdRRWNxN29LZDgxTXZmNFVnVnVkbVN2djNvOERPZDQ4ajRDM056MHk2NzR3MmpCbDFMdThLM2tpVTdmamE1M3VURkZGeDk3aWFyODczXzc0VFB1clZOeXJSQVR0eUNjV1ZQWVZ2ZE5YTVN4OUNGUHRWSDZJbGZib1duckVzTUoxYXFmX04xWHZuaEl4WjRMZERTTzBmZ2FSTW5rU09tRFluUWFZbldOTmRKd2xvLXg3TXM2a3J5SE9yNmVNa0xrWU1pU0EwTWFPd21yOGN6ejk2VWxNX01Tdzc4SE5vbzRhRkw2SFQtMVVDWVZKYWpXUnhHUE9CV3dIeExocnVwMjE0UmlzOGxJSENXSEczQzRmWFIyMFhGRWdrajZPTTVwei1sempPcGZvbk1BTU9IUnc1M3RHSklodlFISHhyUC1QREZZc01RWTlxWVdncjRybEJQRUVyN2t3UkVjRTlDYS1kLUhwNjhkX0tnRUhrUjAwS2dPOWYweER3VkZhcHhxaGNtTGF3alRPUVdFdkRJbC13Wm9QM2tFVFlNeTA5bm5YN1dieDZOcVBPbzh3RTVnU1NKWlNtSC1nS0F5YVBYN0hMNmhTN203d0w1ZFQ4Z0doZ3Z6ZmlZVSJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1hdXRoeiIsImlkZW50aWZpZXIiOnsidHlwZSI6ImRucyIsInZhbHVlIjoid3d3LnN1YnN0cmFrdC5jb20ifX0","signature":"tgWE9NeFf9csc04e7qNlH11Nzve_ZGKOnK5eIN6lNDEDU_zHXngvnNC2wKYzzKosgu_iafRfut1yNr8cAoFtx_J3c6XRahi4UOm4eQ6sID5f1lBlkqwik_VAluZgWnQ5KB8ciRePn4xZVtWZlm5jKrZgoW3z_JIFloAoguC_IGIJQJXVBUpagwinTvo9saaDF5ajuU5NgLyDvXVhrQExbQ38vW0xMjgLghiJkQ8PYnpcbieBsgeeKGdE1pwUzdQIdGggMZUbxMnr_6ReUBg6-Q5t2_CkSRa777vyNNTW3WYZTpbGi8PaTfFJBW9maGgKx7cUHsDgfYp8A1-6EnMGe5XpINyyzr7YN5tMj76EGU2TUeelPx96lLw24YsI-X9qE67sQLqdrncB3j3277ZOK6_W6K94z_4q6BDS4AWKk0xVQQRFDVpeBBC2F_6fCJaC2ejNxtawaniyyLqXUIhg1AxEDaUJR2_CDIzMf6vEuieepbjyVN1VjYEUXSEQfTxD8_m94qgutkCn1uhmsWjsRdCk_ZdLow7_zedSFZmpTlPlhphyae1kekhh9r5eojFBw1intiBMfo0iNVk7lk3hukHMz-IvqERIeXdFnM9uMWPmPjdzxpcNQ8EzEgRCEo2ITbF0nXQRFlPFwaDGOXrxeTlmGKKF5SHQurwaV6VVnqU"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '1011' Boulder-Request-Id: - Y47ADtlB5pMYpr8XnJUat3ZAdCRuvhAFymIcUqebkD0 Boulder-Requester: - '515213' Link: - ;rel="next" Location: - https://acme-staging.api.letsencrypt.org/acme/authz/PsI-t7YLKt1WQQ5P173ExztDs9mnf3pbAbvMZ8yPPKQ Replay-Nonce: - 7EIdYQAgpPl80t7a6WyJpEQuLlXbMamq4kblbgJ8q_s X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Fri, 25 Nov 2016 19:30:38 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Fri, 25 Nov 2016 19:30:38 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "identifier": { "type": "dns", "value": "www.substrakt.com" }, "status": "pending", "expires": "2016-12-02T19:30:38.580058804Z", "challenges": [ { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/PsI-t7YLKt1WQQ5P173ExztDs9mnf3pbAbvMZ8yPPKQ/17254940", "token": "OdYWiVDujvpnaASua9Fl6rCiDJApS3DcAIIAZ1096Fk" }, { "type": "tls-sni-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/PsI-t7YLKt1WQQ5P173ExztDs9mnf3pbAbvMZ8yPPKQ/17254941", "token": "QdOO3Z23iQ2Z1ZAZJo1j18MEEMvHTICNxw2XFBGdmq4" }, { "type": "http-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/PsI-t7YLKt1WQQ5P173ExztDs9mnf3pbAbvMZ8yPPKQ/17254942", "token": "w7Jw-MRLx7D2niAq_9a_n-0_dUGJqBAecGap-xXZMAI" } ], "combinations": [ [ 1 ], [ 0 ], [ 2 ] ] } http_version: recorded_at: Fri, 25 Nov 2016 19:30:38 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-authz body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiN0VJZFlRQWdwUGw4MHQ3YTZXeUpwRVF1TGxYYk1hbXE0a2JsYmdKOHFfcyIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ5bWpzRS0xdGNkVEdjaUEtT2lrcFlRbk8wMkpaNEt3ZlB3NFVkQUxIOFB2dThDZ05TQTJMeDM1NF9ibFUyQUlWbk0taGlWTjQzcHlac0w0NWFibmJJTXRvR0c2dHBHaU9hRGZ2V0J1V2dndTlaeXFCeUgydXVIWXRIR3QyakdTNEhyMi1pVjdva216amc2VEJQT2F5cG15ZmE1UExMbGFtai00Njl4QkZQdlpiUXZGMGQ4RXJOQUh2MmNtbFUwY2xBUmNIeHBQdUFyZzJ3eTMtb3ZKYjdRRWNxN29LZDgxTXZmNFVnVnVkbVN2djNvOERPZDQ4ajRDM056MHk2NzR3MmpCbDFMdThLM2tpVTdmamE1M3VURkZGeDk3aWFyODczXzc0VFB1clZOeXJSQVR0eUNjV1ZQWVZ2ZE5YTVN4OUNGUHRWSDZJbGZib1duckVzTUoxYXFmX04xWHZuaEl4WjRMZERTTzBmZ2FSTW5rU09tRFluUWFZbldOTmRKd2xvLXg3TXM2a3J5SE9yNmVNa0xrWU1pU0EwTWFPd21yOGN6ejk2VWxNX01Tdzc4SE5vbzRhRkw2SFQtMVVDWVZKYWpXUnhHUE9CV3dIeExocnVwMjE0UmlzOGxJSENXSEczQzRmWFIyMFhGRWdrajZPTTVwei1sempPcGZvbk1BTU9IUnc1M3RHSklodlFISHhyUC1QREZZc01RWTlxWVdncjRybEJQRUVyN2t3UkVjRTlDYS1kLUhwNjhkX0tnRUhrUjAwS2dPOWYweER3VkZhcHhxaGNtTGF3alRPUVdFdkRJbC13Wm9QM2tFVFlNeTA5bm5YN1dieDZOcVBPbzh3RTVnU1NKWlNtSC1nS0F5YVBYN0hMNmhTN203d0w1ZFQ4Z0doZ3Z6ZmlZVSJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1hdXRoeiIsImlkZW50aWZpZXIiOnsidHlwZSI6ImRucyIsInZhbHVlIjoic3Vic3RyYWt0LmNvbSJ9fQ","signature":"eRyNJRqS15nHJODd07cdMhap61gRF-jt9dEfDChULpHx04drcLknO-QgrhFxMl3TbVFTD5gYE9nzIMa_GdqrRKPuvnRDkM9eSPNx9oVy-IAhB_qirFlgP4xdXntP4vUnezNJJFfad6SRRVf-lI1Y7gGXPJadrWzHLFIYlkVNHZos5UoFs5ohrU_YLu72c4KznkLwQQ3Sx3Rybug6RVpm_D8tn_YE8zmO3jhCfKfBTRkXOX8krFsQ0YbPAPgY6ktt28_dlYWDzdwXH587ZuR4iqxm8j9mYxm4SpwomWd_oYmQ-Kkup-ALz-49QsE4GNm0ASwiLNdHMvXdtlr-GaTSQjjU8hxqM-8VY0Tc5W2Lq_RKbUVB7KXJ-8I8ux_B-3Nj7GFaWcnB14ktwmPwig5QAWDXNOf2H0RYJ3hGgrRp-8J7UA6SdxuoUBRQFbpP0ijwnozthPofMYfLoyauFQO-Dgpo167GpySItOCqFgWQ1BMpEnEr_cPDIxXcvbAtcinReGsxsKpzE_sjyPU4l69CMf0HaAMuC-W0cFJrLTmN-8aBFrIeihHImTKPukdZstctc1iWEyWYJSJnH5L5U0KHWX3Ie4P3p2v0xw9Pgydr8xDtVZXT5_zoQsmG1ytFr7Y6yPDFbnOWe4Wqa1sDWI8P-VQO4ILbnC4xX9A4AeI6bKM"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '1007' Boulder-Request-Id: - HvKER6RSqCJMtUKjMPVblDq-WvFhREpzXVVF4zzqIPw Boulder-Requester: - '515213' Link: - ;rel="next" Location: - https://acme-staging.api.letsencrypt.org/acme/authz/fQRt7uMWq2TGQUU5dVlHK2RuUgWkTOLVQazMSm6an84 Replay-Nonce: - W63wY-o1CjuMizgDi056Jn2SW6954CEER3CUrGALmU8 X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Fri, 25 Nov 2016 19:30:39 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Fri, 25 Nov 2016 19:30:39 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "identifier": { "type": "dns", "value": "substrakt.com" }, "status": "pending", "expires": "2016-12-02T19:30:39.097675028Z", "challenges": [ { "type": "tls-sni-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/fQRt7uMWq2TGQUU5dVlHK2RuUgWkTOLVQazMSm6an84/17254943", "token": "CYrZ08xeIfrh8Q13m3RiBS2E-occ2VNT9HYmPhBL9u4" }, { "type": "http-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/fQRt7uMWq2TGQUU5dVlHK2RuUgWkTOLVQazMSm6an84/17254944", "token": "uqVTEgTU8Ti9gDGCyQiD9MHc9hdx1LCTLg3jdwtp3sk" }, { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/fQRt7uMWq2TGQUU5dVlHK2RuUgWkTOLVQazMSm6an84/17254945", "token": "nagb5O4bMZ5QiumOTmYOLKp36FfIZcr-Mw6rtGlZO38" } ], "combinations": [ [ 0 ], [ 2 ], [ 1 ] ] } http_version: recorded_at: Fri, 25 Nov 2016 19:30:39 GMT - request: method: post uri: https://www.cloudflare.com/api_json.html body: encoding: US-ASCII string: a=rec_new&z=substrakt.com&type=TXT&name=_acme-challenge.www.substrakt.com&content=o_FTGsFdaIdXA7x_tFXYXdgjI12mrmsj4C3OJVUEejM&ttl=1&service_mode=1&tkn=49029fecd405689687af84b77176e344c8259&u=max%40substrakt.com headers: Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" User-Agent: - Ruby Content-Type: - application/x-www-form-urlencoded response: status: code: 200 message: OK headers: Date: - Fri, 25 Nov 2016 19:30:41 GMT Content-Type: - application/json Transfer-Encoding: - chunked Connection: - keep-alive Set-Cookie: - CF_UALE=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0 - __cfduid=dae5db3f5643e064b088503e80f8285c01480102240; expires=Sat, 25-Nov-17 19:30:40 GMT; path=/; domain=.cloudflare.com; HttpOnly - vses2=7fh9shnf23far48mb7ms7k7ta1; path=/; domain=www.cloudflare.com; secure; HttpOnly Expires: - Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN Content-Security-Policy: - default-src 'self' https://*; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://* data:; img-src 'self' https://* data:; style-src 'self' 'unsafe-inline' https://*; font-src 'self' https://* data:; frame-src https://*; connect-src 'self' https://* wss://*.zopim.com data:; X-Xss-Protection: - 1; mode=block Server: - cloudflare-nginx Cf-Ray: - 3077843a6b4c0cb9-LHR body: encoding: ASCII-8BIT string: '{"request":{"act":"rec_new"},"response":{"rec":{"obj":{"rec_id":"669350809","rec_hash":"56d1246c6e888c25fc0b74fdace90c1a","zone_name":"substrakt.com","name":"_acme-challenge.www.substrakt.com","display_name":"_acme-challenge.www","type":"TXT","prio":null,"content":"o_FTGsFdaIdXA7x_tFXYXdgjI12mrmsj4C3OJVUEejM","display_content":"o_FTGsFdaIdXA7x_tFXYXdgjI12mrmsj4C3OJVUEejM","ttl":"1","ttl_ceil":86400,"ssl_id":"5084311","ssl_status":"V","ssl_expires_on":null,"auto_ttl":1,"service_mode":"0","props":{"proxiable":0,"cloud_on":0,"cf_open":1,"vanity_lock":0,"ssl":1,"expired_ssl":0,"expiring_ssl":0,"pending_ssl":0}}}},"result":"success","msg":null}' http_version: recorded_at: Fri, 25 Nov 2016 19:30:41 GMT - request: method: post uri: https://www.cloudflare.com/api_json.html body: encoding: US-ASCII string: a=rec_new&z=substrakt.com&type=TXT&name=_acme-challenge.substrakt.com&content=YT-qkPZCDU2NGDMA3hkgw6e9H9FeF4ugqb7zab6HACg&ttl=1&service_mode=1&tkn=49029fecd405689687af84b77176e344c8259&u=max%40substrakt.com headers: Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" User-Agent: - Ruby Content-Type: - application/x-www-form-urlencoded response: status: code: 200 message: OK headers: Date: - Fri, 25 Nov 2016 19:30:42 GMT Content-Type: - application/json Transfer-Encoding: - chunked Connection: - keep-alive Set-Cookie: - CF_UALE=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0 - __cfduid=de3ee193c59db00d8b892fd42b5585bd21480102241; expires=Sat, 25-Nov-17 19:30:41 GMT; path=/; domain=.cloudflare.com; HttpOnly - vses2=br19slkmamp12tmftmq608r364; path=/; domain=www.cloudflare.com; secure; HttpOnly Expires: - Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN Content-Security-Policy: - default-src 'self' https://*; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://* data:; img-src 'self' https://* data:; style-src 'self' 'unsafe-inline' https://*; font-src 'self' https://* data:; frame-src https://*; connect-src 'self' https://* wss://*.zopim.com data:; X-Xss-Protection: - 1; mode=block Server: - cloudflare-nginx Cf-Ray: - 307784402e8206ee-LHR body: encoding: ASCII-8BIT string: '{"request":{"act":"rec_new"},"response":{"rec":{"obj":{"rec_id":"669350815","rec_hash":"17ffb0cf99af43dbe0764a3cf15134c8","zone_name":"substrakt.com","name":"_acme-challenge.substrakt.com","display_name":"_acme-challenge","type":"TXT","prio":null,"content":"YT-qkPZCDU2NGDMA3hkgw6e9H9FeF4ugqb7zab6HACg","display_content":"YT-qkPZCDU2NGDMA3hkgw6e9H9FeF4ugqb7zab6HACg","ttl":"1","ttl_ceil":86400,"ssl_id":"5084311","ssl_status":"V","ssl_expires_on":null,"auto_ttl":1,"service_mode":"0","props":{"proxiable":0,"cloud_on":0,"cf_open":1,"vanity_lock":0,"ssl":1,"expired_ssl":0,"expiring_ssl":0,"pending_ssl":0}}}},"result":"success","msg":null}' http_version: recorded_at: Fri, 25 Nov 2016 19:30:42 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/challenge/PsI-t7YLKt1WQQ5P173ExztDs9mnf3pbAbvMZ8yPPKQ/17254940 body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiVzYzd1ktbzFDanVNaXpnRGkwNTZKbjJTVzY5NTRDRUVSM0NVckdBTG1VOCIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ5bWpzRS0xdGNkVEdjaUEtT2lrcFlRbk8wMkpaNEt3ZlB3NFVkQUxIOFB2dThDZ05TQTJMeDM1NF9ibFUyQUlWbk0taGlWTjQzcHlac0w0NWFibmJJTXRvR0c2dHBHaU9hRGZ2V0J1V2dndTlaeXFCeUgydXVIWXRIR3QyakdTNEhyMi1pVjdva216amc2VEJQT2F5cG15ZmE1UExMbGFtai00Njl4QkZQdlpiUXZGMGQ4RXJOQUh2MmNtbFUwY2xBUmNIeHBQdUFyZzJ3eTMtb3ZKYjdRRWNxN29LZDgxTXZmNFVnVnVkbVN2djNvOERPZDQ4ajRDM056MHk2NzR3MmpCbDFMdThLM2tpVTdmamE1M3VURkZGeDk3aWFyODczXzc0VFB1clZOeXJSQVR0eUNjV1ZQWVZ2ZE5YTVN4OUNGUHRWSDZJbGZib1duckVzTUoxYXFmX04xWHZuaEl4WjRMZERTTzBmZ2FSTW5rU09tRFluUWFZbldOTmRKd2xvLXg3TXM2a3J5SE9yNmVNa0xrWU1pU0EwTWFPd21yOGN6ejk2VWxNX01Tdzc4SE5vbzRhRkw2SFQtMVVDWVZKYWpXUnhHUE9CV3dIeExocnVwMjE0UmlzOGxJSENXSEczQzRmWFIyMFhGRWdrajZPTTVwei1sempPcGZvbk1BTU9IUnc1M3RHSklodlFISHhyUC1QREZZc01RWTlxWVdncjRybEJQRUVyN2t3UkVjRTlDYS1kLUhwNjhkX0tnRUhrUjAwS2dPOWYweER3VkZhcHhxaGNtTGF3alRPUVdFdkRJbC13Wm9QM2tFVFlNeTA5bm5YN1dieDZOcVBPbzh3RTVnU1NKWlNtSC1nS0F5YVBYN0hMNmhTN203d0w1ZFQ4Z0doZ3Z6ZmlZVSJ9fQ","payload":"eyJyZXNvdXJjZSI6ImNoYWxsZW5nZSIsInR5cGUiOiJkbnMtMDEiLCJrZXlBdXRob3JpemF0aW9uIjoiT2RZV2lWRHVqdnBuYUFTdWE5Rmw2ckNpREpBcFMzRGNBSUlBWjEwOTZGay4wMlFKUWZiVFphTFZIV0Fnc3VibnlTUUk3Xzd3SElLQXNYMG12bXVfZEFRIn0","signature":"tIUTE4UZPWNLqNoqC3psu-SUX6CQmkVBxpGe0SouryQWefbolsh4FqL37nVGSIf0hpHsrnucQi9WPpRPO4p29Ua2HMwFEZOKZ0derKCZnqNIEeyKINHqM-NU4Z7P99cfto6OyF6XxRzPCXbkM9ZGOjkjr8Ufs2_Cdn_iYo48-B4C9pANaX99lqilaOqut-jWNYJ1ilJyvfuDZWl2oYTI8p-0fxv2mNgQoIvOSGzRqsFweEHqPh1kINGgqbX95ewpHwFNrQT8Y4jjACx9GwTS9_J_bZYu-3POmhbsLCs1NcmUfYVipnTOSVEGw0BncZlECFkM_xr_NL7XBnX63y8gS0NYYH3jlk_rCnAcmDkmSS4HHSK9AbcI7rEYC1mmtg4uxFgHhj43KrM-aRYyMaLP3lN_oQyEQoOHpcwjQ8t4lOGEE-RG5bfZYnOVq27FgE6l3xK4KpenM--3ZYATE0Sk7vvMiR8nki9xdm8cBaPEoJPd3x7Du0EeQPDntWe14rVhnkR_O3ew8xlSoGYa_OmZtbsRaPfc03ItklUp3gBy7ut28XyYWS5AKviIquANtg9pYxz_2t_puVBIz_9xwUEjhibsV3_Byyp7laG8JpoJAwZgLHa0AbDHz_KyBsqTDSlt8wXOyn7K8EJ5nQWPgHoioh37wJe1m-zd6Td5Fsd44Lw"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 202 message: Accepted headers: Server: - nginx Content-Type: - application/json Content-Length: - '337' Boulder-Request-Id: - 8fme7b_hOsHezipfdi3UlNn33DlNAAs2fX3Kk3CU4CA Boulder-Requester: - '515213' Link: - ;rel="up" Location: - https://acme-staging.api.letsencrypt.org/acme/challenge/PsI-t7YLKt1WQQ5P173ExztDs9mnf3pbAbvMZ8yPPKQ/17254940 Replay-Nonce: - G6FOhng_d8iQ0YyGUG005F19uoZSjChjHmxi8Na_T0E Expires: - Fri, 25 Nov 2016 19:31:42 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Fri, 25 Nov 2016 19:31:42 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/PsI-t7YLKt1WQQ5P173ExztDs9mnf3pbAbvMZ8yPPKQ/17254940", "token": "OdYWiVDujvpnaASua9Fl6rCiDJApS3DcAIIAZ1096Fk", "keyAuthorization": "OdYWiVDujvpnaASua9Fl6rCiDJApS3DcAIIAZ1096Fk.02QJQfbTZaLVHWAgsubnySQI7_7wHIKAsX0mvmu_dAQ" } http_version: recorded_at: Fri, 25 Nov 2016 19:31:42 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/challenge/fQRt7uMWq2TGQUU5dVlHK2RuUgWkTOLVQazMSm6an84/17254945 body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiRzZGT2huZ19kOGlRMFl5R1VHMDA1RjE5dW9aU2pDaGpIbXhpOE5hX1QwRSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ5bWpzRS0xdGNkVEdjaUEtT2lrcFlRbk8wMkpaNEt3ZlB3NFVkQUxIOFB2dThDZ05TQTJMeDM1NF9ibFUyQUlWbk0taGlWTjQzcHlac0w0NWFibmJJTXRvR0c2dHBHaU9hRGZ2V0J1V2dndTlaeXFCeUgydXVIWXRIR3QyakdTNEhyMi1pVjdva216amc2VEJQT2F5cG15ZmE1UExMbGFtai00Njl4QkZQdlpiUXZGMGQ4RXJOQUh2MmNtbFUwY2xBUmNIeHBQdUFyZzJ3eTMtb3ZKYjdRRWNxN29LZDgxTXZmNFVnVnVkbVN2djNvOERPZDQ4ajRDM056MHk2NzR3MmpCbDFMdThLM2tpVTdmamE1M3VURkZGeDk3aWFyODczXzc0VFB1clZOeXJSQVR0eUNjV1ZQWVZ2ZE5YTVN4OUNGUHRWSDZJbGZib1duckVzTUoxYXFmX04xWHZuaEl4WjRMZERTTzBmZ2FSTW5rU09tRFluUWFZbldOTmRKd2xvLXg3TXM2a3J5SE9yNmVNa0xrWU1pU0EwTWFPd21yOGN6ejk2VWxNX01Tdzc4SE5vbzRhRkw2SFQtMVVDWVZKYWpXUnhHUE9CV3dIeExocnVwMjE0UmlzOGxJSENXSEczQzRmWFIyMFhGRWdrajZPTTVwei1sempPcGZvbk1BTU9IUnc1M3RHSklodlFISHhyUC1QREZZc01RWTlxWVdncjRybEJQRUVyN2t3UkVjRTlDYS1kLUhwNjhkX0tnRUhrUjAwS2dPOWYweER3VkZhcHhxaGNtTGF3alRPUVdFdkRJbC13Wm9QM2tFVFlNeTA5bm5YN1dieDZOcVBPbzh3RTVnU1NKWlNtSC1nS0F5YVBYN0hMNmhTN203d0w1ZFQ4Z0doZ3Z6ZmlZVSJ9fQ","payload":"eyJyZXNvdXJjZSI6ImNoYWxsZW5nZSIsInR5cGUiOiJkbnMtMDEiLCJrZXlBdXRob3JpemF0aW9uIjoibmFnYjVPNGJNWjVRaXVtT1RtWU9MS3AzNkZmSVpjci1NdzZydEdsWk8zOC4wMlFKUWZiVFphTFZIV0Fnc3VibnlTUUk3Xzd3SElLQXNYMG12bXVfZEFRIn0","signature":"XE2AlYAbiRD61cEZ1cxnaCuy5zCMGUhmkQ1dhyK4faUJzJtkau9Oo45IKrVxoitze_ykzF6HpkReJcBY_U1JIyNgWJZ050zPIac-jztss6AsmhDJ1YyWUidyTY8lzGuY-WeU7Ji8Sv3dxrTXxrFL9Qb2L4Ah3oX4Nev9Hq3Jp65oxyOIKOBsKx4Fx1hxCHg7FtT1DUhb2XAA5RRPyscD9p6r3vNWUkQaZQrMlq_y8wZ62SHGFe0KSXbTuZx7D3JlU8n24HsHXfk51kBNZvslT59tJUaz3K6NL62khMUnLOzaETYBLj2PHXgfsL3-xaLZhh33iKfUb6-RrxExif3MxNRGMvaF1IZZKA3Ss56vmVbu4gI5cNSECf9g5Fl4fuMZ732e9YEfyc1M0IIwgIiqOT2I0hMhkCOdptZvgGkMmigEG9-9WSs-9UPZDs4JlWFJ3_SHANvnAK_5J_w0Md7-RSeshe_FSKaTrj61OyWGae4cEes4CGSKqr7jYvJLJ_GRUYPXQqezhDRNrj9-BDBOItjKJ3mjRhkUcgXU5ui4R-5TlHb3khxPLvs-2y-IIckplUsJByaiJV6JX9gF3-YQxH5JLxyNZKZ6OrPO4KZm6hRAGnRzzk7LPTpftJ1FjnVUbaDk7lu_ev13rnkQQPcE18aoFRrQMXE-9M1j9vseYKA"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 202 message: Accepted headers: Server: - nginx Content-Type: - application/json Content-Length: - '337' Boulder-Request-Id: - Awf5Ec1c1UNuSaTem3h03TBivPe-jhGMQuTxh8pHHEU Boulder-Requester: - '515213' Link: - ;rel="up" Location: - https://acme-staging.api.letsencrypt.org/acme/challenge/fQRt7uMWq2TGQUU5dVlHK2RuUgWkTOLVQazMSm6an84/17254945 Replay-Nonce: - oEVupN5se6K2xODYry9dYwt9jb5NWe39wPYaDNPDXY4 Expires: - Fri, 25 Nov 2016 19:31:43 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Fri, 25 Nov 2016 19:31:43 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/fQRt7uMWq2TGQUU5dVlHK2RuUgWkTOLVQazMSm6an84/17254945", "token": "nagb5O4bMZ5QiumOTmYOLKp36FfIZcr-Mw6rtGlZO38", "keyAuthorization": "nagb5O4bMZ5QiumOTmYOLKp36FfIZcr-Mw6rtGlZO38.02QJQfbTZaLVHWAgsubnySQI7_7wHIKAsX0mvmu_dAQ" } http_version: recorded_at: Fri, 25 Nov 2016 19:31:43 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-cert body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoib0VWdXBONXNlNksyeE9EWXJ5OWRZd3Q5amI1TldlMzl3UFlhRE5QRFhZNCIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ5bWpzRS0xdGNkVEdjaUEtT2lrcFlRbk8wMkpaNEt3ZlB3NFVkQUxIOFB2dThDZ05TQTJMeDM1NF9ibFUyQUlWbk0taGlWTjQzcHlac0w0NWFibmJJTXRvR0c2dHBHaU9hRGZ2V0J1V2dndTlaeXFCeUgydXVIWXRIR3QyakdTNEhyMi1pVjdva216amc2VEJQT2F5cG15ZmE1UExMbGFtai00Njl4QkZQdlpiUXZGMGQ4RXJOQUh2MmNtbFUwY2xBUmNIeHBQdUFyZzJ3eTMtb3ZKYjdRRWNxN29LZDgxTXZmNFVnVnVkbVN2djNvOERPZDQ4ajRDM056MHk2NzR3MmpCbDFMdThLM2tpVTdmamE1M3VURkZGeDk3aWFyODczXzc0VFB1clZOeXJSQVR0eUNjV1ZQWVZ2ZE5YTVN4OUNGUHRWSDZJbGZib1duckVzTUoxYXFmX04xWHZuaEl4WjRMZERTTzBmZ2FSTW5rU09tRFluUWFZbldOTmRKd2xvLXg3TXM2a3J5SE9yNmVNa0xrWU1pU0EwTWFPd21yOGN6ejk2VWxNX01Tdzc4SE5vbzRhRkw2SFQtMVVDWVZKYWpXUnhHUE9CV3dIeExocnVwMjE0UmlzOGxJSENXSEczQzRmWFIyMFhGRWdrajZPTTVwei1sempPcGZvbk1BTU9IUnc1M3RHSklodlFISHhyUC1QREZZc01RWTlxWVdncjRybEJQRUVyN2t3UkVjRTlDYS1kLUhwNjhkX0tnRUhrUjAwS2dPOWYweER3VkZhcHhxaGNtTGF3alRPUVdFdkRJbC13Wm9QM2tFVFlNeTA5bm5YN1dieDZOcVBPbzh3RTVnU1NKWlNtSC1nS0F5YVBYN0hMNmhTN203d0w1ZFQ4Z0doZ3Z6ZmlZVSJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1jZXJ0IiwiY3NyIjoiTUlJQ256Q0NBWWNDQVFJd0hERWFNQmdHQTFVRUF3d1JkM2QzTG5OMVluTjBjbUZyZEM1amIyMHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDX25UNngtREl2akZSY05nTFNxbGJaOFZzVG9leE51X1BwZXc0T0JIclBSd0s4Zy1oMFVfNmdONWFiU2o2Q1JJdU4zaUVfXzVQZ1VwSnR3UV80SmJhRFpxS2FsWUhXc0VUeHI0bXZoQ0ZEN2kzRzdCdEhuQXJEZ1B2WUtacHVGVVdXNkxOMlFwVUhmNTdITmZyM0VER0loa1NsZlBlN0txbkxWZU5kTTJOZEZ2STB2WDZYLXBGU0NfeUJjV19yQ3B0bjJGc2EyR0d3eDRWenl3RGM3QzhpblJFTEMzY2QwTlRSeDQ2R2pxczgycEZYMF9rSWdpaDJWWEJma3hZaG5VQS1Vd1VhdzczTDFianBTMGtCTzNLWjdWY3NHa01YaTRvSV9SYWctVmpxU2hNaEFKeWdhdDFZTExKUWEyMjF1S3ZTQXA1Z3hIeU1Dcm9GdTNBcEZJaDFBZ01CQUFHZ1BqQThCZ2txaGtpRzl3MEJDUTR4THpBdE1Dc0dBMVVkRVFRa01DS0NFWGQzZHk1emRXSnpkSEpoYTNRdVkyOXRnZzF6ZFdKemRISmhhM1F1WTI5dE1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQjRYNTJiLWlwTjJfZkhFTXU5UUNWckNVaUE5Q0RjY2lVazQ4bjRrZGExM3ZkZ25kT2JoQUx0STdCOG1lWFlheFJaNnkyTk5xcWl5TkhjRWwtZ0NDblBTMzZxZ3g0eFl2Ym9lU0dkVDJXOEtHdG82aWVhdy1mNUFkNW02dVpFc0tOYlgzc3BmZjNybjVobThsQ09BeWtlOFU3dmFJdks1OW5aZktpUXR5REdfVXRwUlZoQ1RlUHAtdmlHNlRmVEczYmJiM1ppcm9MbVVla1BPZnhSTzJDTm8wZ2I1WDRWcTB2Vl9iZXlhRjEzVkRETGRDdnBQV1Bub3RJOEVSMUhyYzBfaTZqUG5jN3BpQ0Qya2FDRm5ldmMtYm1rQWljZUF1cERVOUtRMWtZWnl2X21DRlVnQ1J3MmlvSFltZko5dzF6UVNlNVFxc2JSSVhzYXdRaFJ5d3dFIn0","signature":"H4X-RI_Ii2FPvsJSzEutJCZ6YCRGUVjO_9mssX3akA7SkvPSSlwm7F3L6DJgvKKKXJEJ9ydtcjN9gQBvx9Kt69kHqYEySrSVJiYQsT5DfDIFfVRJ_GE57b3z5ESadLr-5bNfDfSFoBnREf8sNkJaV5q0iZkSDNBhcfv-EJakS9hh76_OWuWpjV6lnmSLajx4MuFWdCNtSCocwnT9qJYWOeB5RBiOspSwSgDpprF6wjn91AfyBzID-uuTCowcqYUVrDIU7ULUaGF-Id041aAhtgxY1HGM2vP8DqfcjMcg0Z1GaJNaiZNbUYiBlZ8FKchhYcz5tb54BIbfasdhJhI14H-_1fHe3tSZ56O8T33NG84t1OLnXu4d7l6FqzijY0EHulrHl6ogc4CHaf6tOaqFl0QE6WS4Z_reO0lzajfp30MeO56AGuL2A33Y84iMSBTqQBkNvsG-9B8rMrPmYgTca3EizjKHq6q6_rmQet7i5cbiCiSxHfIJAehg2YoZbjjrO2CHrOyoBt4exfWfuiN9ecKQ9zBywFNFyWnk3kGIO__-dbD5Ljp1iLilrOoRrWAHEL-qa5hIsEZ0eB5Hdkiu21-WGjG7G4Ooru2aXaYhRtnEYAMAnFrN0zH-MLPJlEtbEyhxnJ1c5Gy4IoNLQCtM664NWvSNtzgJYdT14m2-5OA"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/pkix-cert Content-Length: - '1274' Boulder-Request-Id: - JT0eyM0CDqE_9xOiZ-fDvZ_v-DnTCtaXv0e6yrpa2_8 Boulder-Requester: - '515213' Link: - ;rel="up" Location: - https://acme-staging.api.letsencrypt.org/acme/cert/faaf54635f5cf9ec386dcf7530d3ac0cb159 Replay-Nonce: - AzI4YSu3U5pgGfwq-qUuFXxfiDWSihClsI-CuuznQ50 X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Fri, 25 Nov 2016 19:31:43 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Fri, 25 Nov 2016 19:31:43 GMT Connection: - keep-alive body: encoding: ASCII-8BIT string: !binary |- MIIE9jCCA96gAwIBAgITAPqvVGNfXPnsOG3PdTDTrAyxWTANBgkqhkiG9w0B AQsFADAiMSAwHgYDVQQDDBdGYWtlIExFIEludGVybWVkaWF0ZSBYMTAeFw0x NjExMjUxODMyMDBaFw0xNzAyMjMxODMyMDBaMBwxGjAYBgNVBAMTEXd3dy5z dWJzdHJha3QuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA v50+sfgyL4xUXDYC0qpW2fFbE6HsTbvz6XsODgR6z0cCvIPodFP+oDeWm0o+ gkSLjd4hP/+T4FKSbcEP+CW2g2aimpWB1rBE8a+Jr4QhQ+4txuwbR5wKw4D7 2CmabhVFluizdkKVB3+exzX69xAxiIZEpXz3uyqpy1XjXTNjXRbyNL1+l/qR Ugv8gXFv6wqbZ9hbGthhsMeFc8sA3OwvIp0RCwt3HdDU0ceOho6rPNqRV9P5 CIIodlVwX5MWIZ1APlMFGsO9y9W46UtJATtyme1XLBpDF4uKCP0WoPlY6koT IQCcoGrdWCyyUGtttbir0gKeYMR8jAq6BbtwKRSIdQIDAQABo4ICKTCCAiUw DgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcD AjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQG+gwoYoIjYWSO9Hf//pVDA5Y1 KDAfBgNVHSMEGDAWgBTAzANGuVggzFxycPPhLssgpvVoOjB4BggrBgEFBQcB AQRsMGowMwYIKwYBBQUHMAGGJ2h0dHA6Ly9vY3NwLnN0Zy1pbnQteDEubGV0 c2VuY3J5cHQub3JnLzAzBggrBgEFBQcwAoYnaHR0cDovL2NlcnQuc3RnLWlu dC14MS5sZXRzZW5jcnlwdC5vcmcvMCsGA1UdEQQkMCKCDXN1YnN0cmFrdC5j b22CEXd3dy5zdWJzdHJha3QuY29tMIH+BgNVHSAEgfYwgfMwCAYGZ4EMAQIB MIHmBgsrBgEEAYLfEwEBATCB1jAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5s ZXRzZW5jcnlwdC5vcmcwgasGCCsGAQUFBwICMIGeDIGbVGhpcyBDZXJ0aWZp Y2F0ZSBtYXkgb25seSBiZSByZWxpZWQgdXBvbiBieSBSZWx5aW5nIFBhcnRp ZXMgYW5kIG9ubHkgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBDZXJ0aWZpY2F0 ZSBQb2xpY3kgZm91bmQgYXQgaHR0cHM6Ly9sZXRzZW5jcnlwdC5vcmcvcmVw b3NpdG9yeS8wDQYJKoZIhvcNAQELBQADggEBAHZfwhmXxyplkYAZr+ZZ8JJv offPAzGUAu1xBWGYeDxf6VDiSRWa3INMi7++PADmSK57z05RuPJTh5wRRXsQ VpJvO/CO0jTD7CNiZxhy8F6IjGJ3Rd+ltYrZNluYl5PnSzGysKZMxiEAMfAW imo52TqM02QT2uOuEuwbCFJI9qh5gCqTS3QpthFj/rlsQ8Jy2HxhDpflqX9F ZgBraCGBOpkrCnZMog3TM8UwdAijRiRuSKHucry1BpuNX8FZeYIHIwK4k+q3 9lBX5KOKKvT0XaQd0Z9ZgPkOuBOLiV7KI0PK8CyHIkfYkhfzhl/IXwvpRv4s pn4qRHELJ0xhB4Zf79Y= http_version: recorded_at: Fri, 25 Nov 2016 19:31:43 GMT - request: method: get uri: https://acme-staging.api.letsencrypt.org/acme/issuer-cert body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiQXpJNFlTdTNVNXBnR2Z3cS1xVXVGWHhmaURXU2loQ2xzSS1DdXV6blE1MCIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ5bWpzRS0xdGNkVEdjaUEtT2lrcFlRbk8wMkpaNEt3ZlB3NFVkQUxIOFB2dThDZ05TQTJMeDM1NF9ibFUyQUlWbk0taGlWTjQzcHlac0w0NWFibmJJTXRvR0c2dHBHaU9hRGZ2V0J1V2dndTlaeXFCeUgydXVIWXRIR3QyakdTNEhyMi1pVjdva216amc2VEJQT2F5cG15ZmE1UExMbGFtai00Njl4QkZQdlpiUXZGMGQ4RXJOQUh2MmNtbFUwY2xBUmNIeHBQdUFyZzJ3eTMtb3ZKYjdRRWNxN29LZDgxTXZmNFVnVnVkbVN2djNvOERPZDQ4ajRDM056MHk2NzR3MmpCbDFMdThLM2tpVTdmamE1M3VURkZGeDk3aWFyODczXzc0VFB1clZOeXJSQVR0eUNjV1ZQWVZ2ZE5YTVN4OUNGUHRWSDZJbGZib1duckVzTUoxYXFmX04xWHZuaEl4WjRMZERTTzBmZ2FSTW5rU09tRFluUWFZbldOTmRKd2xvLXg3TXM2a3J5SE9yNmVNa0xrWU1pU0EwTWFPd21yOGN6ejk2VWxNX01Tdzc4SE5vbzRhRkw2SFQtMVVDWVZKYWpXUnhHUE9CV3dIeExocnVwMjE0UmlzOGxJSENXSEczQzRmWFIyMFhGRWdrajZPTTVwei1sempPcGZvbk1BTU9IUnc1M3RHSklodlFISHhyUC1QREZZc01RWTlxWVdncjRybEJQRUVyN2t3UkVjRTlDYS1kLUhwNjhkX0tnRUhrUjAwS2dPOWYweER3VkZhcHhxaGNtTGF3alRPUVdFdkRJbC13Wm9QM2tFVFlNeTA5bm5YN1dieDZOcVBPbzh3RTVnU1NKWlNtSC1nS0F5YVBYN0hMNmhTN203d0w1ZFQ4Z0doZ3Z6ZmlZVSJ9fQ","payload":"e30","signature":"nBKkqOziJZBCBSuBmFHb_N093VTkdcKktMHqej4GkmZ7djNZq5c_jxWEti8ztcrB3LEkLOVMzIBG4Z9CrzywI3QOm11FSBkWSiudbB9ZEQldRmanr9CJYLoARRHBwrWWZax9ZA0EqFyCxwG2R4_ga4Gw99jqRgjs6gqy3Hfdt2VhP2Y_ubXhSCOX9qP9PSLmlrRvRPVXas8fVONvEmEM6Ta0-onnwnJ6j_xpxDwBQJXk5lcBSgnzjQg4TBN2AflQb8vIr7Jr0Y7Lj4A6Ypwm0qWzAbiOt7LKQRNA0Iia0WHwRuKt9QhNJF2eCQ2eLDlx3OXrsPtKCwENnA0WCim-gRe4rHN2_zMk4vlUbhUeYPrDWitAILvK2UA5z4GLCG-Om8GlDKFtJ_-3IC8e1m8maOLjRVeXENaLpO5zilNE7dtmgdA0t0At82eeLCgfbK2oZZ-J0WoFir6vcocN6lHQHZvJfWwROA-P7E1eliQNjzJDCigW1fzPTtF2RwrMfsuKh6II37JD-rn0OsfoLHdPdR0-7kR_GrdD8FRg-X8LHIFpvCrz7Z-9rTDIcmomgjT5Jjmt1p784V1eIbiXUG9Tbu2Iv5qgA3nWMrUaCbrS9F0PyQL73474zYzt0aOWJ0qN-gfFL5aLVEaDboUkCqQjX35cjWIMqWdsPAjzXqhFsjU"}' headers: User-Agent: - Acme::Client v0.3.7 (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: Server: - nginx Content-Type: - application/pkix-cert Content-Length: - '1199' Boulder-Request-Id: - 0_umcR-GGHXnOwp5YgnJ_xoFEiYOfsFxHHwA6A7mtFY Replay-Nonce: - 0rnPhQj8e1mGzQlEDNPPPMHRyjkqpQmx8KzvdWZ2yTs X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Fri, 25 Nov 2016 19:31:44 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Fri, 25 Nov 2016 19:31:44 GMT Connection: - keep-alive body: encoding: ASCII-8BIT string: !binary |- MIIEqzCCApOgAwIBAgIRAIvhKg5ZRO08VGQx8JdhT+UwDQYJKoZIhvcNAQEL BQAwGjEYMBYGA1UEAwwPRmFrZSBMRSBSb290IFgxMB4XDTE2MDUyMzIyMDc1 OVoXDTM2MDUyMzIyMDc1OVowIjEgMB4GA1UEAwwXRmFrZSBMRSBJbnRlcm1l ZGlhdGUgWDEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDtWKyS Dn7rWZc5ggjz3ZB08jO4xti3uzINfD5sQ7Lj7hzetUT+wQob+iXSZkhnvx+I vdbXF5/yt8aWPpUKnPymoLxsYiI5gQBLxNDzIec0OIaflWqAr29m7J8+NNtA pEN8nZFnf3bhehZW7AxmS1m0ZnSsdHw0Fw+bgixPg2MQ9k9oefFeqa+7Kqdl z5bbrUYV2volxhDFtnI4Mh8BiWCNxDH1Hizq+GKCcHsinDZWurCqder/afJB nQs+SBSL6MVApHt+d35zjBD92fO2Je56dhMfzCgOKXeJ340WhW3TjD1zqLZX eaCyUNRnfOmWZV8nEhtHOFbUCU7r/KkjMZO9AgMBAAGjgeMwgeAwDgYDVR0P AQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFMDMA0a5 WCDMXHJw8+EuyyCm9Wg6MHoGCCsGAQUFBwEBBG4wbDA0BggrBgEFBQcwAYYo aHR0cDovL29jc3Auc3RnLXJvb3QteDEubGV0c2VuY3J5cHQub3JnLzA0Bggr BgEFBQcwAoYoaHR0cDovL2NlcnQuc3RnLXJvb3QteDEubGV0c2VuY3J5cHQu b3JnLzAfBgNVHSMEGDAWgBTBJnSkikSg5vogKNhcI5pFiBh54DANBgkqhkiG 9w0BAQsFAAOCAgEABYSu4Il+fI0MYU42OTmEj+1HqQ5DvyAeyCA6sGuZdwjF UGeVOv3NnLyfofuUOjEbY5irFCDtnv+0ckukUZN9lz4Q2YjWGUpW4TTu3ieT saC9AFvCSgNHJyWSVtWvB5XDxsqawl1KzHzzwr132bF2rtGtazSqVqK9E07s GHMCf+zpDQVDVVGtqZPHwX3KqUtefE621b8RI6VCl4oD30Olf8pjuzG4JKBF RFclzLRjo/h7IkkfjZ8wDa7faOjVXx6n+eUQ29cIMCzr8/rNWHS9pYGGQKJi Y2xmVC9h12H99XyfzWE9vb5zKP3MVG6neX1hSdo7PEAb9fqRhHkqVsqUvJlI RmvXvVKTwNCP3eCjRCCIPTAvjV+4ni786iXwwFYNz8l3PmPLCyQXWGohnJ8i Bm+5nk7O2ynaPVW0U2W+pt2wSVuvdDM5zGv2f9ltNWUiYZHJ1mmO97jSY/6Y fdOUH66iRtQtDkHBRdkNBsMbD+Em2TgBldtHNSJBfB3pm9FblgOcJ0FSWcUD WJ7vO0+NTXlgrRofRT6pVywzxVo6dND0WzYlTWeUVsO40xJqhgUQRER9YLOL xJ0O6C8i0xFxAMKOtSdodMB3RIwt7RFQ0uytn5Z5MqkYhlMI3J1tPRTp1nEt 9fyGspBOO05gi148Qasp+3N+svqKomoQglNoAxU= http_version: recorded_at: Fri, 25 Nov 2016 19:31:44 GMT - request: method: patch uri: https://api.heroku.com/apps/ssl-test-maxwoolf/features/http-sni body: encoding: UTF-8 string: '{"enabled":true}' headers: Accept: - application/vnd.heroku+json; version=3.sni_ssl_cert Authorization: - Bearer 67705361-152c-4761-96aa-ec904d6cd071 Content-Type: - application/json response: status: code: 404 message: Not Found headers: Cache-Control: - private, no-cache Content-Type: - application/json Date: - Fri, 25 Nov 2016 19:31:44 GMT Ratelimit-Multiplier: - '1' Ratelimit-Remaining: - '4499' Request-Id: - 3be92bad-f23d-40a9-64bc-19730e18e4a5,4771ce9b-e980-bb76-88f3-769d8c305ada Vary: - Accept-Encoding Via: - 1.1 spaces-router (+291255b) X-Content-Type-Options: - nosniff X-Runtime: - '0.06963218' Content-Length: - '79' Connection: - keep-alive body: encoding: UTF-8 string: '{"resource":"feature","id":"not_found","message":"Couldn''t find that feature."}' http_version: recorded_at: Fri, 25 Nov 2016 19:31:44 GMT - request: method: post uri: https://api.heroku.com/apps/ssl-test-maxwoolf/sni-endpoints body: encoding: UTF-8 string: '{"certificate_chain":"-----BEGIN CERTIFICATE-----\nMIIE9jCCA96gAwIBAgITAPqvVGNfXPnsOG3PdTDTrAyxWTANBgkqhkiG9w0BAQsF\nADAiMSAwHgYDVQQDDBdGYWtlIExFIEludGVybWVkaWF0ZSBYMTAeFw0xNjExMjUx\nODMyMDBaFw0xNzAyMjMxODMyMDBaMBwxGjAYBgNVBAMTEXd3dy5zdWJzdHJha3Qu\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv50+sfgyL4xUXDYC\n0qpW2fFbE6HsTbvz6XsODgR6z0cCvIPodFP+oDeWm0o+gkSLjd4hP/+T4FKSbcEP\n+CW2g2aimpWB1rBE8a+Jr4QhQ+4txuwbR5wKw4D72CmabhVFluizdkKVB3+exzX6\n9xAxiIZEpXz3uyqpy1XjXTNjXRbyNL1+l/qRUgv8gXFv6wqbZ9hbGthhsMeFc8sA\n3OwvIp0RCwt3HdDU0ceOho6rPNqRV9P5CIIodlVwX5MWIZ1APlMFGsO9y9W46UtJ\nATtyme1XLBpDF4uKCP0WoPlY6koTIQCcoGrdWCyyUGtttbir0gKeYMR8jAq6Bbtw\nKRSIdQIDAQABo4ICKTCCAiUwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsG\nAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQG+gwoYoIj\nYWSO9Hf//pVDA5Y1KDAfBgNVHSMEGDAWgBTAzANGuVggzFxycPPhLssgpvVoOjB4\nBggrBgEFBQcBAQRsMGowMwYIKwYBBQUHMAGGJ2h0dHA6Ly9vY3NwLnN0Zy1pbnQt\neDEubGV0c2VuY3J5cHQub3JnLzAzBggrBgEFBQcwAoYnaHR0cDovL2NlcnQuc3Rn\nLWludC14MS5sZXRzZW5jcnlwdC5vcmcvMCsGA1UdEQQkMCKCDXN1YnN0cmFrdC5j\nb22CEXd3dy5zdWJzdHJha3QuY29tMIH+BgNVHSAEgfYwgfMwCAYGZ4EMAQIBMIHm\nBgsrBgEEAYLfEwEBATCB1jAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5sZXRzZW5j\ncnlwdC5vcmcwgasGCCsGAQUFBwICMIGeDIGbVGhpcyBDZXJ0aWZpY2F0ZSBtYXkg\nb25seSBiZSByZWxpZWQgdXBvbiBieSBSZWx5aW5nIFBhcnRpZXMgYW5kIG9ubHkg\naW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBDZXJ0aWZpY2F0ZSBQb2xpY3kgZm91bmQg\nYXQgaHR0cHM6Ly9sZXRzZW5jcnlwdC5vcmcvcmVwb3NpdG9yeS8wDQYJKoZIhvcN\nAQELBQADggEBAHZfwhmXxyplkYAZr+ZZ8JJvoffPAzGUAu1xBWGYeDxf6VDiSRWa\n3INMi7++PADmSK57z05RuPJTh5wRRXsQVpJvO/CO0jTD7CNiZxhy8F6IjGJ3Rd+l\ntYrZNluYl5PnSzGysKZMxiEAMfAWimo52TqM02QT2uOuEuwbCFJI9qh5gCqTS3Qp\nthFj/rlsQ8Jy2HxhDpflqX9FZgBraCGBOpkrCnZMog3TM8UwdAijRiRuSKHucry1\nBpuNX8FZeYIHIwK4k+q39lBX5KOKKvT0XaQd0Z9ZgPkOuBOLiV7KI0PK8CyHIkfY\nkhfzhl/IXwvpRv4spn4qRHELJ0xhB4Zf79Y=\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIEqzCCApOgAwIBAgIRAIvhKg5ZRO08VGQx8JdhT+UwDQYJKoZIhvcNAQELBQAw\nGjEYMBYGA1UEAwwPRmFrZSBMRSBSb290IFgxMB4XDTE2MDUyMzIyMDc1OVoXDTM2\nMDUyMzIyMDc1OVowIjEgMB4GA1UEAwwXRmFrZSBMRSBJbnRlcm1lZGlhdGUgWDEw\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDtWKySDn7rWZc5ggjz3ZB0\n8jO4xti3uzINfD5sQ7Lj7hzetUT+wQob+iXSZkhnvx+IvdbXF5/yt8aWPpUKnPym\noLxsYiI5gQBLxNDzIec0OIaflWqAr29m7J8+NNtApEN8nZFnf3bhehZW7AxmS1m0\nZnSsdHw0Fw+bgixPg2MQ9k9oefFeqa+7Kqdlz5bbrUYV2volxhDFtnI4Mh8BiWCN\nxDH1Hizq+GKCcHsinDZWurCqder/afJBnQs+SBSL6MVApHt+d35zjBD92fO2Je56\ndhMfzCgOKXeJ340WhW3TjD1zqLZXeaCyUNRnfOmWZV8nEhtHOFbUCU7r/KkjMZO9\nAgMBAAGjgeMwgeAwDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAw\nHQYDVR0OBBYEFMDMA0a5WCDMXHJw8+EuyyCm9Wg6MHoGCCsGAQUFBwEBBG4wbDA0\nBggrBgEFBQcwAYYoaHR0cDovL29jc3Auc3RnLXJvb3QteDEubGV0c2VuY3J5cHQu\nb3JnLzA0BggrBgEFBQcwAoYoaHR0cDovL2NlcnQuc3RnLXJvb3QteDEubGV0c2Vu\nY3J5cHQub3JnLzAfBgNVHSMEGDAWgBTBJnSkikSg5vogKNhcI5pFiBh54DANBgkq\nhkiG9w0BAQsFAAOCAgEABYSu4Il+fI0MYU42OTmEj+1HqQ5DvyAeyCA6sGuZdwjF\nUGeVOv3NnLyfofuUOjEbY5irFCDtnv+0ckukUZN9lz4Q2YjWGUpW4TTu3ieTsaC9\nAFvCSgNHJyWSVtWvB5XDxsqawl1KzHzzwr132bF2rtGtazSqVqK9E07sGHMCf+zp\nDQVDVVGtqZPHwX3KqUtefE621b8RI6VCl4oD30Olf8pjuzG4JKBFRFclzLRjo/h7\nIkkfjZ8wDa7faOjVXx6n+eUQ29cIMCzr8/rNWHS9pYGGQKJiY2xmVC9h12H99Xyf\nzWE9vb5zKP3MVG6neX1hSdo7PEAb9fqRhHkqVsqUvJlIRmvXvVKTwNCP3eCjRCCI\nPTAvjV+4ni786iXwwFYNz8l3PmPLCyQXWGohnJ8iBm+5nk7O2ynaPVW0U2W+pt2w\nSVuvdDM5zGv2f9ltNWUiYZHJ1mmO97jSY/6YfdOUH66iRtQtDkHBRdkNBsMbD+Em\n2TgBldtHNSJBfB3pm9FblgOcJ0FSWcUDWJ7vO0+NTXlgrRofRT6pVywzxVo6dND0\nWzYlTWeUVsO40xJqhgUQRER9YLOLxJ0O6C8i0xFxAMKOtSdodMB3RIwt7RFQ0uyt\nn5Z5MqkYhlMI3J1tPRTp1nEt9fyGspBOO05gi148Qasp+3N+svqKomoQglNoAxU=\n-----END CERTIFICATE-----\n","private_key":"-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAv50+sfgyL4xUXDYC0qpW2fFbE6HsTbvz6XsODgR6z0cCvIPo\ndFP+oDeWm0o+gkSLjd4hP/+T4FKSbcEP+CW2g2aimpWB1rBE8a+Jr4QhQ+4txuwb\nR5wKw4D72CmabhVFluizdkKVB3+exzX69xAxiIZEpXz3uyqpy1XjXTNjXRbyNL1+\nl/qRUgv8gXFv6wqbZ9hbGthhsMeFc8sA3OwvIp0RCwt3HdDU0ceOho6rPNqRV9P5\nCIIodlVwX5MWIZ1APlMFGsO9y9W46UtJATtyme1XLBpDF4uKCP0WoPlY6koTIQCc\noGrdWCyyUGtttbir0gKeYMR8jAq6BbtwKRSIdQIDAQABAoIBAQCUPMU9D8Nbj5fQ\nAqTqb4djclpAdPuII8kOLvnvlD2iT9BpIS9bl4OcVYT5PFXhl7/TEC7vAP1ZBOht\nane9RQfO3j8bkmBxQ8sCowfEtla54/CcPRrZqnmVSBsN3xmu4lwE5J+59Mawl2Wx\nviwaqPd5JE7FLEnHDblwKlEMUG4lm/ydogatdQ3ivQcETA/wO2/lRmN4+OPYXHES\nc3+h/8plN6FImiRDS86voSmnFnvWv3SOYEeWwFQMtV744Y18y0ExAOMTyN2D0P7g\nsLM6j+2xg/s4EW5cN2M/kCD5iCI3Kz13BER2ZKPnceWZF1qgjfkL4GMPbeJvpqnD\nTnm8nFWBAoGBAOrFXJd9ynn396gwT1o9I/BlrNqBsaF4TX+RT2qRf7Ygg8VNYVX0\nHJJA7vVxlEDqQaZPrfjcm+bakgFfTAsc1aMOdVg0QY08gfzMiM7Q2saeYKTpne9O\n7afSfb6YxgGPxdWjYReMhI2OZMIzSb4yHDq5zV0dl/fVz6Ec3ACRaaOVAoGBANDw\n3L4/J4vVSR6+QFAoY0/pfjWtHoGk/N7/CH1rcZSbbZRtmiZD9GKUpNO2TLzufX6K\nUWI3hexkiwpjpftCIk2N+QLroPVDeGDjzTo7/rxs93K0flhE5jYTUVPktYgFebgw\ntblNrWASTHwK6MMheLxb3YFJjSQJdiaZJQI9xBlhAoGBAIh4UWp+ZMShsATEkFwU\nTl/fuqsJ2QfTtrkA7vkzutlT7UUzxfEBBdq+hCmI7HUPtznF94tCMh3v0A+cJcgP\n6t/t96heN/yxv54EB0KxhXsPdX5njrcdWmjDovS4OeGOgaG+ZyIZPLRMoaWByswU\ntPQuLYKDQWN/lkJBVGHAJXhBAoGARG1NbcTTF7l/G+FkwJupgqdOXRfYMM8uvX06\nc5C3ftq0NXL7k+KXa52QqYE/enSEhueXpZnXc0auPnXKCxJql4mSboFqkkhJaTnR\noWu6jk0FcPxpkFDoL/d9oAL77JMWfNr++LPWvurfP5R3DEiu+MkBLvE+lvm+Rv/K\nngRKb6ECgYEAu8yfzl+LH3Ur6wUw6RuO/3qfM+UbpD/XfUCSkJH3DerJKrAZ4wJn\na5eyjRWmNUs6j7nWCrG57zY8N9K+GbJv8YB1azPmpSavSHG5cs+kDgZFm/7gyLl0\nsqvARpkOHO+z1KSwbbLyCjnG4hn8ZnG/PqZxFrOfs/uyDwks/V3q+IQ=\n-----END RSA PRIVATE KEY-----\n"}' headers: Accept: - application/vnd.heroku+json; version=3.sni_ssl_cert Authorization: - Bearer 67705361-152c-4761-96aa-ec904d6cd071 Content-Type: - application/json response: status: code: 422 message: status code 422 headers: Cache-Control: - private, no-cache Content-Type: - application/json Date: - Fri, 25 Nov 2016 19:31:45 GMT Oauth-Scope: - global Oauth-Scope-Accepted: - global write write-protected Ratelimit-Multiplier: - '1' Ratelimit-Remaining: - '4498' Request-Id: - 65d10cec-e4fc-49a2-7197-19feac55f389,2044eadf-e49d-3898-9dcd-5f483da89757 Vary: - Accept-Encoding Via: - 1.1 spaces-router (+291255b) X-Content-Type-Options: - nosniff X-Runtime: - '0.089489278' Content-Length: - '123' Connection: - keep-alive body: encoding: UTF-8 string: '{"id":"invalid_params","message":"You need to be running on either Hobby or Professional dynos to be able to use SNI SSL."}' http_version: recorded_at: Fri, 25 Nov 2016 19:31:45 GMT - request: method: get uri: https://api.heroku.com/apps/ssl-test-maxwoolf/sni-endpoints body: encoding: US-ASCII string: '' headers: Accept: - application/vnd.heroku+json; version=3.sni_ssl_cert Authorization: - Bearer 67705361-152c-4761-96aa-ec904d6cd071 Content-Type: - application/json response: status: code: 200 message: OK headers: Cache-Control: - private, no-cache Content-Type: - application/json Date: - Fri, 25 Nov 2016 19:31:46 GMT Oauth-Scope: - global Oauth-Scope-Accepted: - global read read-protected write write-protected Ratelimit-Multiplier: - '1' Ratelimit-Remaining: - '4497' Request-Id: - 48be2da2-1b23-4bd1-5a48-1ec46a7ff0e6,dc5fafc9-6aaa-b1fc-7bfc-6568eb715825 Vary: - Accept-Encoding Via: - 1.1 spaces-router (+291255b) X-Content-Type-Options: - nosniff X-Runtime: - '0.091705926' Content-Length: - '2' Connection: - keep-alive body: encoding: UTF-8 string: "[]" http_version: recorded_at: Fri, 25 Nov 2016 19:31:46 GMT recorded_with: VCR 3.0.3 ================================================ FILE: test/fixtures/vcr_cassettes/new-certificate-debug.yml ================================================ --- http_interactions: - request: method: head uri: https://acme-staging.api.letsencrypt.org/acme/new-reg body: encoding: US-ASCII string: '' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept: - "*/*" response: status: code: 405 message: Method Not Allowed headers: Server: - nginx Content-Type: - application/problem+json Content-Length: - '91' Allow: - POST Boulder-Request-Id: - UmDCM2NElmHs7drnsrKqAP3rV7-NSfGScKJ7JGfuqbQ Replay-Nonce: - 9CkUVGzi198oJn8I-TEo72V1KqrVvGWz2XeMDm4ZCxk Expires: - Tue, 15 Nov 2016 16:36:44 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:36:44 GMT Connection: - keep-alive body: encoding: UTF-8 string: '' http_version: recorded_at: Tue, 15 Nov 2016 16:36:44 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-reg body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiOUNrVVZHemkxOThvSm44SS1URW83MlYxS3FyVnZHV3oyWGVNRG00WkN4ayIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ0dWZ4T3ZwMTJuTk1nVlM0WVNSMEdUc2U0SlJfWjdxb3d1RHFELTJWTTd2YkdHU01HMklab2YyYTdJS1JoZ3dGM0lZN2xHWXBYT3hybUg5QkFKbWpLWXdPS1g1cFBJaktMRTY3cFVocVdidkVwOWdlSTltTWVjRzVaZ2tLRU9VQlZ2T2Fldkh4VTc4YlE4QmdWbVFqdTVHVDA4dGFkZXRzU21fX3NXYmE3U1YyeGRfQXFmY0dCUHNQeDFjV1FId08zMy0tY2MyWDVSTWwwTVNjS0trLUdyUUtQQkE0cGJySk45cmZXUTVLSTVCZUJ1WXJNcDRUdG5tWjg2RzFjN1pxVTlsNDVGWkNLemdEUExRcjNYVWxsQXN0UzdPOWE4VFhlc1JjbTBrQkRwcUpLMGozQWVHRG14bG5wY1lwNVhrMDdFQVZGYk5MeWhuWDQ4Y2hWZ0tGMzQ3RVV3R3pnQmJwWG96Wm5obEpaMDhUaVo2NkMwREo5S3NVNnFVcUdibTc0TjhQS3UyZm1FUlZlRlpSOFlZUWNaZWtQX1ByZkRONGpnZVhaUm01bUlMZDdNTy0wOXhaVFB1R2V0dlBfU0N1b0FRRmVra05CMHFjQUY1ak1NZW1VYVh5RFFrNHI1Nk5uNVFYRXk2bXRjRzdUaTB5WW13NVJMbzFXXzZnbUh2T1ZnTkh5Mk9WNkhRbDYyNmdXMk13MEZzbk9uYVJybzBVZC00aVBCQUhiWnhNU3JDVFhvTEJFMkZYck84bXpUdFVxLVB1NWIxejd1dk95a3JCRzNZVG96OVZtN3NKNHVseFZGaEJlWmtwTDN3Q2F0NDdsMEZNM2tJczZtSkdQTW14dXF3WDBYdVZqb1U2UVd2QzY5YWJlelE4b2hSMzlidkxsWjhaX2cwUy1GayJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1yZWciLCJjb250YWN0IjpbIm1haWx0bzpkZXZAc3Vic3RyYWt0LmNvbSJdfQ","signature":"o-bK4x3NX0-FQbctII_vpFfDU6z6NX6xxTG9i7uTqPY6UlKkDXDX8jmoF5WPeJyGxUuh5H48scrKpCnzuyykGFEJA1W4q6Ax6dwBE-DjBzd6JpnkO2mwBZ-PblS6WHo2KnvPUluQZ2gll_TxdIWOdmiiY-YZ5zr3jWiU1RueP8sOT8uh1Qb-4kX2mYOnck3HfY_9o7sGJuUCfDzs1pf2Fe9RJgpeomn3lFu2yqYWLUbCozoKG0A3Hb1NCGeEJpO7xtJiTjl9lO6r6-N_sLhv7N1QnRM1MjIO3mpZX5GEWSjMkTAtGdAelrNRljJU3T6_D2iR6smt80oE3nbqlDnTyJeC_Z52giKYTMox1Y6U5zmlmjbuc_0kuUOOBUypdX9x0fcp475VjI8NBKbJSYof0P5hH8VTawRX3biVRJkZUD8XPNjTFENvU5fB_ND3G1WBXfi2K1-BrvFRlE0_zr87eviRZzI_VPWnF_b5lmxq-_9itCxMuyjF5fQXqW5Z6rkWLhutOwQ354SjgMRrHJ4iMwL3aWYtUVLkXTSgzs5eACdqsXEeAGB9QkRfVZe8RF5-lC-I0zXwmj_saHHJJ5wgbJ1sPFPZRoAp5X3Oc8ruZendtua64Y0zaXrA3F270IGkJsamC_L75QKe72WbXW8jKWnzArE5ifJVHjd-BSuUDYc"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '912' Boulder-Request-Id: - "-cSZuFLU_zNkItr6Awm9p2VJBxwmWvPm8WypXdBVBTk" Boulder-Requester: - '496535' Link: - ;rel="next" - ;rel="terms-of-service" Location: - https://acme-staging.api.letsencrypt.org/acme/reg/496535 Replay-Nonce: - 2jXQyClQgEpY8mSymigS4TjG4TqfMy-4p1HCwwK-zho X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Tue, 15 Nov 2016 16:36:44 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:36:44 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "id": 496535, "key": { "kty": "RSA", "n": "tufxOvp12nNMgVS4YSR0GTse4JR_Z7qowuDqD-2VM7vbGGSMG2IZof2a7IKRhgwF3IY7lGYpXOxrmH9BAJmjKYwOKX5pPIjKLE67pUhqWbvEp9geI9mMecG5ZgkKEOUBVvOaevHxU78bQ8BgVmQju5GT08tadetsSm__sWba7SV2xd_AqfcGBPsPx1cWQHwO33--cc2X5RMl0MScKKk-GrQKPBA4pbrJN9rfWQ5KI5BeBuYrMp4TtnmZ86G1c7ZqU9l45FZCKzgDPLQr3XUllAstS7O9a8TXesRcm0kBDpqJK0j3AeGDmxlnpcYp5Xk07EAVFbNLyhnX48chVgKF347EUwGzgBbpXozZnhlJZ08TiZ66C0DJ9KsU6qUqGbm74N8PKu2fmERVeFZR8YYQcZekP_PrfDN4jgeXZRm5mILd7MO-09xZTPuGetvP_SCuoAQFekkNB0qcAF5jMMemUaXyDQk4r56Nn5QXEy6mtcG7Ti0yYmw5RLo1W_6gmHvOVgNHy2OV6HQl626gW2Mw0FsnOnaRro0Ud-4iPBAHbZxMSrCTXoLBE2FXrO8mzTtUq-Pu5b1z7uvOykrBG3YToz9Vm7sJ4ulxVFhBeZkpL3wCat47l0FM3kIs6mJGPMmxuqwX0XuVjoU6QWvC69abezQ8ohR39bvLlZ8Z_g0S-Fk", "e": "AQAB" }, "contact": [ "mailto:dev@substrakt.com" ], "initialIp": "213.123.191.198", "createdAt": "2016-11-15T16:36:44.7778982Z", "Status": "" } http_version: recorded_at: Tue, 15 Nov 2016 16:36:44 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/reg/496535 body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiMmpYUXlDbFFnRXBZOG1TeW1pZ1M0VGpHNFRxZk15LTRwMUhDd3dLLXpobyIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ0dWZ4T3ZwMTJuTk1nVlM0WVNSMEdUc2U0SlJfWjdxb3d1RHFELTJWTTd2YkdHU01HMklab2YyYTdJS1JoZ3dGM0lZN2xHWXBYT3hybUg5QkFKbWpLWXdPS1g1cFBJaktMRTY3cFVocVdidkVwOWdlSTltTWVjRzVaZ2tLRU9VQlZ2T2Fldkh4VTc4YlE4QmdWbVFqdTVHVDA4dGFkZXRzU21fX3NXYmE3U1YyeGRfQXFmY0dCUHNQeDFjV1FId08zMy0tY2MyWDVSTWwwTVNjS0trLUdyUUtQQkE0cGJySk45cmZXUTVLSTVCZUJ1WXJNcDRUdG5tWjg2RzFjN1pxVTlsNDVGWkNLemdEUExRcjNYVWxsQXN0UzdPOWE4VFhlc1JjbTBrQkRwcUpLMGozQWVHRG14bG5wY1lwNVhrMDdFQVZGYk5MeWhuWDQ4Y2hWZ0tGMzQ3RVV3R3pnQmJwWG96Wm5obEpaMDhUaVo2NkMwREo5S3NVNnFVcUdibTc0TjhQS3UyZm1FUlZlRlpSOFlZUWNaZWtQX1ByZkRONGpnZVhaUm01bUlMZDdNTy0wOXhaVFB1R2V0dlBfU0N1b0FRRmVra05CMHFjQUY1ak1NZW1VYVh5RFFrNHI1Nk5uNVFYRXk2bXRjRzdUaTB5WW13NVJMbzFXXzZnbUh2T1ZnTkh5Mk9WNkhRbDYyNmdXMk13MEZzbk9uYVJybzBVZC00aVBCQUhiWnhNU3JDVFhvTEJFMkZYck84bXpUdFVxLVB1NWIxejd1dk95a3JCRzNZVG96OVZtN3NKNHVseFZGaEJlWmtwTDN3Q2F0NDdsMEZNM2tJczZtSkdQTW14dXF3WDBYdVZqb1U2UVd2QzY5YWJlelE4b2hSMzlidkxsWjhaX2cwUy1GayJ9fQ","payload":"eyJyZXNvdXJjZSI6InJlZyIsImFncmVlbWVudCI6Imh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL2RvY3VtZW50cy9MRS1TQS12MS4xLjEtQXVndXN0LTEtMjAxNi5wZGYifQ","signature":"moRQPAWJLj_v_2nuKAGKMQfuD16TVv7HtNu0gUC_CuwyQqnaFQXhrwLqW3If5I1K-YvlNVkO9gJ0_-Fz1ZmFt2xC5FVrUkZG-KZ0P4hbdd2XkG4BNnGwvvZ_6V2ymaCcdQwQBhf2fuwtWE4PaiJpMdDCAUKcDPdunp10CxG1Qphx7MlLopgaEoLXWAt-H3E3wQVoPC4dwlOg7RXI_bJOYyWsrz4dToaaINZYPpjtGw7I0rt1vSOA-z-p98TMstaLLmWlmszNjbduCysgjN3ZiCNbe55uqbu4XJXU8qk7ihiA1vIgPId_Hrl4bl_raUyIBVmZoPCaop6f7nj-gX3Qqf-WUHvZTyLv3RjnL_0kblCRudnAb4CoQRx7ee2F_jG5y4o732EUAvXbelTqY218Lhw0vV5wwvhPQiozJkt7RYmrQKlnK4mLKA8CST6YvDSFerA7I807hqnkW2D0m7_LsOZK5y_lMB9MmnQBFzCHCis6zmiNYS1Q8vEh5xqwSwAffIAqh0fL6IOIAiadm7qsvJ2cUrfnbZ0wp4V0HbZaIIXS6V4OPiYSOeFra80kGsrM67jESm4ASruuLifluQZ9DrdVG_FtRCp60St-lDSrj3f50qF4D8uare84_gEd0JtRBm10NNwe_Rkm-Um7b9snit7ZZRvR_rukKQeu4vvTbaA"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 202 message: Accepted headers: Server: - nginx Content-Type: - application/json Content-Length: - '987' Boulder-Request-Id: - 4239c_TKE1vsolpHi1qLoIt9ABB4GngsRQ3K7vyB6-M Boulder-Requester: - '496535' Link: - ;rel="next" - ;rel="terms-of-service" Replay-Nonce: - _X1w-n8XaqRLk29xTv0CSCy0XNI2dsE42NWdCAMGSQ0 Expires: - Tue, 15 Nov 2016 16:36:45 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:36:45 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "id": 496535, "key": { "kty": "RSA", "n": "tufxOvp12nNMgVS4YSR0GTse4JR_Z7qowuDqD-2VM7vbGGSMG2IZof2a7IKRhgwF3IY7lGYpXOxrmH9BAJmjKYwOKX5pPIjKLE67pUhqWbvEp9geI9mMecG5ZgkKEOUBVvOaevHxU78bQ8BgVmQju5GT08tadetsSm__sWba7SV2xd_AqfcGBPsPx1cWQHwO33--cc2X5RMl0MScKKk-GrQKPBA4pbrJN9rfWQ5KI5BeBuYrMp4TtnmZ86G1c7ZqU9l45FZCKzgDPLQr3XUllAstS7O9a8TXesRcm0kBDpqJK0j3AeGDmxlnpcYp5Xk07EAVFbNLyhnX48chVgKF347EUwGzgBbpXozZnhlJZ08TiZ66C0DJ9KsU6qUqGbm74N8PKu2fmERVeFZR8YYQcZekP_PrfDN4jgeXZRm5mILd7MO-09xZTPuGetvP_SCuoAQFekkNB0qcAF5jMMemUaXyDQk4r56Nn5QXEy6mtcG7Ti0yYmw5RLo1W_6gmHvOVgNHy2OV6HQl626gW2Mw0FsnOnaRro0Ud-4iPBAHbZxMSrCTXoLBE2FXrO8mzTtUq-Pu5b1z7uvOykrBG3YToz9Vm7sJ4ulxVFhBeZkpL3wCat47l0FM3kIs6mJGPMmxuqwX0XuVjoU6QWvC69abezQ8ohR39bvLlZ8Z_g0S-Fk", "e": "AQAB" }, "contact": [ "mailto:dev@substrakt.com" ], "agreement": "https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf", "initialIp": "213.123.191.198", "createdAt": "2016-11-15T16:36:44Z", "Status": "" } http_version: recorded_at: Tue, 15 Nov 2016 16:36:45 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-authz body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiX1gxdy1uOFhhcVJMazI5eFR2MENTQ3kwWE5JMmRzRTQyTldkQ0FNR1NRMCIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ0dWZ4T3ZwMTJuTk1nVlM0WVNSMEdUc2U0SlJfWjdxb3d1RHFELTJWTTd2YkdHU01HMklab2YyYTdJS1JoZ3dGM0lZN2xHWXBYT3hybUg5QkFKbWpLWXdPS1g1cFBJaktMRTY3cFVocVdidkVwOWdlSTltTWVjRzVaZ2tLRU9VQlZ2T2Fldkh4VTc4YlE4QmdWbVFqdTVHVDA4dGFkZXRzU21fX3NXYmE3U1YyeGRfQXFmY0dCUHNQeDFjV1FId08zMy0tY2MyWDVSTWwwTVNjS0trLUdyUUtQQkE0cGJySk45cmZXUTVLSTVCZUJ1WXJNcDRUdG5tWjg2RzFjN1pxVTlsNDVGWkNLemdEUExRcjNYVWxsQXN0UzdPOWE4VFhlc1JjbTBrQkRwcUpLMGozQWVHRG14bG5wY1lwNVhrMDdFQVZGYk5MeWhuWDQ4Y2hWZ0tGMzQ3RVV3R3pnQmJwWG96Wm5obEpaMDhUaVo2NkMwREo5S3NVNnFVcUdibTc0TjhQS3UyZm1FUlZlRlpSOFlZUWNaZWtQX1ByZkRONGpnZVhaUm01bUlMZDdNTy0wOXhaVFB1R2V0dlBfU0N1b0FRRmVra05CMHFjQUY1ak1NZW1VYVh5RFFrNHI1Nk5uNVFYRXk2bXRjRzdUaTB5WW13NVJMbzFXXzZnbUh2T1ZnTkh5Mk9WNkhRbDYyNmdXMk13MEZzbk9uYVJybzBVZC00aVBCQUhiWnhNU3JDVFhvTEJFMkZYck84bXpUdFVxLVB1NWIxejd1dk95a3JCRzNZVG96OVZtN3NKNHVseFZGaEJlWmtwTDN3Q2F0NDdsMEZNM2tJczZtSkdQTW14dXF3WDBYdVZqb1U2UVd2QzY5YWJlelE4b2hSMzlidkxsWjhaX2cwUy1GayJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1hdXRoeiIsImlkZW50aWZpZXIiOnsidHlwZSI6ImRucyIsInZhbHVlIjoid3d3LnN1YnN0cmFrdC5jb20ifX0","signature":"SSg0eBgJI6AZU4U7ViZefOYPs7X4qRV6pTNHWbUcGLaW_3TBuru5ryMRGWztPIh58_mQF7Mniv6gfHw8ZeoaaTfmSs49fBvBhKgKJvY9mwL2Hrl8nRbcSxsEaK4YLJD_vl2ThHMtvcPb47mn7vXa74YnP3h0_0I1OJZNwgxqZp3SfUljrhzlU-mWj3uKEpL_SUsZ0E1g_SZEQj22gGU62beoWAk-l2e8g4i_GZD3jZ-IBZRDie2YvYPKqzjVe72jviFFucvnrVzGCBnF1YeOuz9kwHgykMY24xNrn3ule1Xdm7m2WiNAuGF-D7kboLnrZaz2UneNt0CQJ1IF2uQMH2DSsMVSND9N9W3TFKjiga8BGkihpN_T4NTS43yt9HYrIUwGm2UPZaHKULaMRWOQ7M7XeUvWDbBaGyLIatkdUivbHuitkO0gY2xlVhvIZQEh1oSrmeoy4_pUxg5BixOSTywIPbTQEIZFsEauWnuq8K-ja1CVFRsURVnUT5jMvt--PQPwge_ePvZOE6-q8u9gtkKkZqwnCctE0eGcA62DtSvvtK4eKh4Sd2G0wWhOge27hbqa_aCSTdkeHjkf3m9aFy_zvIVcjdmRiZ2zhl2fwSqqAXhJ6cmbiX3OrygVNMp54h-NCBPh1bnh31hjnbTw3p7nlTARI0yVeTLfeEI4WI8"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '1011' Boulder-Request-Id: - ZP1qsewyK4Lnx42Q7iilU2egW-i9g_dN8wsublCg7Aw Boulder-Requester: - '496535' Link: - ;rel="next" Location: - https://acme-staging.api.letsencrypt.org/acme/authz/VE0RYNsvF5-NR8DpGJNU1p6wb9BI7PFV0JojBsQdN00 Replay-Nonce: - "-YzXk-zUoydu7L3gKEYzJ8lqtiRCwVeDGHX__pzk6ZM" X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Tue, 15 Nov 2016 16:36:45 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:36:45 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "identifier": { "type": "dns", "value": "www.substrakt.com" }, "status": "pending", "expires": "2016-11-22T16:36:45.668349568Z", "challenges": [ { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/VE0RYNsvF5-NR8DpGJNU1p6wb9BI7PFV0JojBsQdN00/16908053", "token": "xse3uRLUeYRI7O0EwONnv74gML7J1TYSB0vlvI0y3ns" }, { "type": "http-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/VE0RYNsvF5-NR8DpGJNU1p6wb9BI7PFV0JojBsQdN00/16908054", "token": "njdWRqwZKPk3gCtQGgIhANgLqfmcn7KzHCehodsfyis" }, { "type": "tls-sni-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/VE0RYNsvF5-NR8DpGJNU1p6wb9BI7PFV0JojBsQdN00/16908055", "token": "Cj_oEAkLTHNZyQaErHs4qqZKM3KBYmF0jNY6gcjjqwU" } ], "combinations": [ [ 1 ], [ 0 ], [ 2 ] ] } http_version: recorded_at: Tue, 15 Nov 2016 16:36:45 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-authz body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiLVl6WGstelVveWR1N0wzZ0tFWXpKOGxxdGlSQ3dWZURHSFhfX3B6azZaTSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ0dWZ4T3ZwMTJuTk1nVlM0WVNSMEdUc2U0SlJfWjdxb3d1RHFELTJWTTd2YkdHU01HMklab2YyYTdJS1JoZ3dGM0lZN2xHWXBYT3hybUg5QkFKbWpLWXdPS1g1cFBJaktMRTY3cFVocVdidkVwOWdlSTltTWVjRzVaZ2tLRU9VQlZ2T2Fldkh4VTc4YlE4QmdWbVFqdTVHVDA4dGFkZXRzU21fX3NXYmE3U1YyeGRfQXFmY0dCUHNQeDFjV1FId08zMy0tY2MyWDVSTWwwTVNjS0trLUdyUUtQQkE0cGJySk45cmZXUTVLSTVCZUJ1WXJNcDRUdG5tWjg2RzFjN1pxVTlsNDVGWkNLemdEUExRcjNYVWxsQXN0UzdPOWE4VFhlc1JjbTBrQkRwcUpLMGozQWVHRG14bG5wY1lwNVhrMDdFQVZGYk5MeWhuWDQ4Y2hWZ0tGMzQ3RVV3R3pnQmJwWG96Wm5obEpaMDhUaVo2NkMwREo5S3NVNnFVcUdibTc0TjhQS3UyZm1FUlZlRlpSOFlZUWNaZWtQX1ByZkRONGpnZVhaUm01bUlMZDdNTy0wOXhaVFB1R2V0dlBfU0N1b0FRRmVra05CMHFjQUY1ak1NZW1VYVh5RFFrNHI1Nk5uNVFYRXk2bXRjRzdUaTB5WW13NVJMbzFXXzZnbUh2T1ZnTkh5Mk9WNkhRbDYyNmdXMk13MEZzbk9uYVJybzBVZC00aVBCQUhiWnhNU3JDVFhvTEJFMkZYck84bXpUdFVxLVB1NWIxejd1dk95a3JCRzNZVG96OVZtN3NKNHVseFZGaEJlWmtwTDN3Q2F0NDdsMEZNM2tJczZtSkdQTW14dXF3WDBYdVZqb1U2UVd2QzY5YWJlelE4b2hSMzlidkxsWjhaX2cwUy1GayJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1hdXRoeiIsImlkZW50aWZpZXIiOnsidHlwZSI6ImRucyIsInZhbHVlIjoic3Vic3RyYWt0LmNvbSJ9fQ","signature":"SZ5upylCf-DmwHkd-k3WRLtQaqZOubUAI06IeFEY7FfpBSvq0uwO5sN2x0R1YqvVxRrnf7Ri2Teioyn3aCq8U_vvQD7Ky98bsRuZLRtspf-DsAAue9NHc2OIhNVIxNWg4fh5kPFXyGMUJkIuI7jG50TTt4HrIWuQcot5ooZtXmR5FWBCFRzEgfxcVy0RYMimi5_yO_5K7YF-YAdSKfuYb5SlxPC9KaBZnz5eXCYDjSuNK15vFTPFXoH1o-Qcl0dO8XXi6qKWwV3hdOeSSyY1NxCHYexzb1PI6rqkOAj5ByIep4HvvSXlyz3HdoRfzohq7Zr1dPmGoAOmsXA0hrYxGvjpmCKzsEoIAc-ulMkysQYIIeTgddxzXRBy-KsdBLXq_wux35IkWcnbrmsO54Sz_sy46mUDYK8q7PFk_CmGI9-w4VJUt_Bbyj1hvE1_T5P8ul1pP-fkCEM247vx298AQtUQPmJgh4Z7bgXePJrgqKHj40OQfNFFERnwV7dDtVtAAp9K4tQaZNgQnuJWhp1khdrtSblvYmNf4W1cjATnDZIgJR8LGHGiYEr27fBtCQsDdEpDohMRuxiTIwxxPALisUWi9TmbyevJ0HhuJppa63h0lkrOSIHLT3MxwhJHMp55EQ5xaBHH1L7JMBIzqN66ZOzhW8WB5NMUPmfT0tZ06fs"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '1007' Boulder-Request-Id: - dFcLfmUl36e-qJbUrzMGrkn7E8zhXA68Z9PnySMCwFY Boulder-Requester: - '496535' Link: - ;rel="next" Location: - https://acme-staging.api.letsencrypt.org/acme/authz/mRC2viBR-USIfVdacaqcJuymOgHdY8GklltntDuz5fM Replay-Nonce: - FbOAuykqQc1gX6fCRc0pCjCCy6Sb6frttqPaP58mpP8 X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Tue, 15 Nov 2016 16:36:46 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:36:46 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "identifier": { "type": "dns", "value": "substrakt.com" }, "status": "pending", "expires": "2016-11-22T16:36:46.083171704Z", "challenges": [ { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/mRC2viBR-USIfVdacaqcJuymOgHdY8GklltntDuz5fM/16908056", "token": "siRU154fswJLgHsTgFxW-ssHiMfE9SHzQQcnxeg8XuM" }, { "type": "tls-sni-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/mRC2viBR-USIfVdacaqcJuymOgHdY8GklltntDuz5fM/16908057", "token": "X2wEu2cuwlB2Jm1zY471oPuRnM6uK9ZG89U2-gtA5TA" }, { "type": "http-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/mRC2viBR-USIfVdacaqcJuymOgHdY8GklltntDuz5fM/16908058", "token": "5-2o3K7S4LOqAnztR2de8g-zgCVsWe-bDpPNYPEb-Ds" } ], "combinations": [ [ 2 ], [ 0 ], [ 1 ] ] } http_version: recorded_at: Tue, 15 Nov 2016 16:36:46 GMT - request: method: post uri: https://www.cloudflare.com/api_json.html body: encoding: US-ASCII string: a=rec_new&z=substrakt.com&type=TXT&name=_acme-challenge.www.substrakt.com&content=FPaRZwkj4yv5SngqmxnpqXgqiIK3wmhHzCaC2MF6XDI&ttl=1&service_mode=1&tkn=4dd49e8832f9df199f3fd412069b4d014d38c&u=max%40substrakt.com headers: Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" User-Agent: - Ruby Content-Type: - application/x-www-form-urlencoded response: status: code: 200 message: OK headers: Date: - Tue, 15 Nov 2016 16:36:47 GMT Content-Type: - application/json Transfer-Encoding: - chunked Connection: - keep-alive Set-Cookie: - CF_UALE=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0 - __cfduid=d8a1a97834d10502cff8de4c585a0bf971479227806; expires=Wed, 15-Nov-17 16:36:46 GMT; path=/; domain=.cloudflare.com; HttpOnly - vses2=50lmktv03kefegeghtlr14tuv4; path=/; domain=www.cloudflare.com; secure; HttpOnly Expires: - Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN Content-Security-Policy: - default-src 'self' https://*; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://* data:; img-src 'self' https://* data:; style-src 'self' 'unsafe-inline' https://*; font-src 'self' https://* data:; frame-src https://*; connect-src 'self' https://* wss://*.zopim.com data:; X-Xss-Protection: - 1; mode=block Server: - cloudflare-nginx Cf-Ray: - 30241fbdba213512-LHR body: encoding: ASCII-8BIT string: '{"request":{"act":"rec_new"},"response":{"rec":{"obj":{"rec_id":"658605949","rec_hash":"d036ad8fc7ca1cbf7ef2ca02ac2c4d11","zone_name":"substrakt.com","name":"_acme-challenge.www.substrakt.com","display_name":"_acme-challenge.www","type":"TXT","prio":null,"content":"FPaRZwkj4yv5SngqmxnpqXgqiIK3wmhHzCaC2MF6XDI","display_content":"FPaRZwkj4yv5SngqmxnpqXgqiIK3wmhHzCaC2MF6XDI","ttl":"1","ttl_ceil":86400,"ssl_id":"5084311","ssl_status":"V","ssl_expires_on":null,"auto_ttl":1,"service_mode":"0","props":{"proxiable":0,"cloud_on":0,"cf_open":1,"vanity_lock":0,"ssl":1,"expired_ssl":0,"expiring_ssl":0,"pending_ssl":0}}}},"result":"success","msg":null}' http_version: recorded_at: Tue, 15 Nov 2016 16:36:47 GMT - request: method: post uri: https://www.cloudflare.com/api_json.html body: encoding: US-ASCII string: a=rec_new&z=substrakt.com&type=TXT&name=_acme-challenge.substrakt.com&content=2WybHhZOxToJIv0gd6_cE07iW4-BJdWCrvgW8s646KM&ttl=1&service_mode=1&tkn=4dd49e8832f9df199f3fd412069b4d014d38c&u=max%40substrakt.com headers: Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" User-Agent: - Ruby Content-Type: - application/x-www-form-urlencoded response: status: code: 200 message: OK headers: Date: - Tue, 15 Nov 2016 16:36:47 GMT Content-Type: - application/json Transfer-Encoding: - chunked Connection: - keep-alive Set-Cookie: - CF_UALE=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0 - __cfduid=d9e45b7fbc3042d31dc690a21958e8b3f1479227807; expires=Wed, 15-Nov-17 16:36:47 GMT; path=/; domain=.cloudflare.com; HttpOnly - vses2=1o9ub6nqouq8cd3j7nroje53r4; path=/; domain=www.cloudflare.com; secure; HttpOnly Expires: - Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN Content-Security-Policy: - default-src 'self' https://*; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://* data:; img-src 'self' https://* data:; style-src 'self' 'unsafe-inline' https://*; font-src 'self' https://* data:; frame-src https://*; connect-src 'self' https://* wss://*.zopim.com data:; X-Xss-Protection: - 1; mode=block Server: - cloudflare-nginx Cf-Ray: - 30241fc2befc34c4-LHR body: encoding: ASCII-8BIT string: '{"request":{"act":"rec_new"},"response":{"rec":{"obj":{"rec_id":"658605958","rec_hash":"c386be8b50de176e452b4b1065dc46af","zone_name":"substrakt.com","name":"_acme-challenge.substrakt.com","display_name":"_acme-challenge","type":"TXT","prio":null,"content":"2WybHhZOxToJIv0gd6_cE07iW4-BJdWCrvgW8s646KM","display_content":"2WybHhZOxToJIv0gd6_cE07iW4-BJdWCrvgW8s646KM","ttl":"1","ttl_ceil":86400,"ssl_id":"5084311","ssl_status":"V","ssl_expires_on":null,"auto_ttl":1,"service_mode":"0","props":{"proxiable":0,"cloud_on":0,"cf_open":1,"vanity_lock":0,"ssl":1,"expired_ssl":0,"expiring_ssl":0,"pending_ssl":0}}}},"result":"success","msg":null}' http_version: recorded_at: Tue, 15 Nov 2016 16:36:47 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/challenge/VE0RYNsvF5-NR8DpGJNU1p6wb9BI7PFV0JojBsQdN00/16908053 body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiRmJPQXV5a3FRYzFnWDZmQ1JjMHBDakNDeTZTYjZmcnR0cVBhUDU4bXBQOCIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ0dWZ4T3ZwMTJuTk1nVlM0WVNSMEdUc2U0SlJfWjdxb3d1RHFELTJWTTd2YkdHU01HMklab2YyYTdJS1JoZ3dGM0lZN2xHWXBYT3hybUg5QkFKbWpLWXdPS1g1cFBJaktMRTY3cFVocVdidkVwOWdlSTltTWVjRzVaZ2tLRU9VQlZ2T2Fldkh4VTc4YlE4QmdWbVFqdTVHVDA4dGFkZXRzU21fX3NXYmE3U1YyeGRfQXFmY0dCUHNQeDFjV1FId08zMy0tY2MyWDVSTWwwTVNjS0trLUdyUUtQQkE0cGJySk45cmZXUTVLSTVCZUJ1WXJNcDRUdG5tWjg2RzFjN1pxVTlsNDVGWkNLemdEUExRcjNYVWxsQXN0UzdPOWE4VFhlc1JjbTBrQkRwcUpLMGozQWVHRG14bG5wY1lwNVhrMDdFQVZGYk5MeWhuWDQ4Y2hWZ0tGMzQ3RVV3R3pnQmJwWG96Wm5obEpaMDhUaVo2NkMwREo5S3NVNnFVcUdibTc0TjhQS3UyZm1FUlZlRlpSOFlZUWNaZWtQX1ByZkRONGpnZVhaUm01bUlMZDdNTy0wOXhaVFB1R2V0dlBfU0N1b0FRRmVra05CMHFjQUY1ak1NZW1VYVh5RFFrNHI1Nk5uNVFYRXk2bXRjRzdUaTB5WW13NVJMbzFXXzZnbUh2T1ZnTkh5Mk9WNkhRbDYyNmdXMk13MEZzbk9uYVJybzBVZC00aVBCQUhiWnhNU3JDVFhvTEJFMkZYck84bXpUdFVxLVB1NWIxejd1dk95a3JCRzNZVG96OVZtN3NKNHVseFZGaEJlWmtwTDN3Q2F0NDdsMEZNM2tJczZtSkdQTW14dXF3WDBYdVZqb1U2UVd2QzY5YWJlelE4b2hSMzlidkxsWjhaX2cwUy1GayJ9fQ","payload":"eyJyZXNvdXJjZSI6ImNoYWxsZW5nZSIsInR5cGUiOiJkbnMtMDEiLCJrZXlBdXRob3JpemF0aW9uIjoieHNlM3VSTFVlWVJJN08wRXdPTm52NzRnTUw3SjFUWVNCMHZsdkkweTNucy5QLUM0RzF6cWEtTE5SdXpmZmw5SEJ0RDFlX3Q1N2JXNk43VVQ1WDZ6RWdVIn0","signature":"Z5m5DWO2rSd6MlYujZ6wCb17Y1pF5Iij8yyZFDpXKUa99-P-5mKnHTMOoP6RA1tRQoUuictBvVUrvqXQ7EbnAeqf2P1jD8XBFVccjGNjrolNUWRv67Ew_3yoW0STsARJPhl3LnnpIfCpbo3rbeIJAy8II4sfWDz8hIhfVVK-F4bDfxEuUo9HrLjAJjlBUkz7EaH6wrz1P4Q5s2a-CCDQ2IbjOB09omrZ5gmcIPAACmXHuu7zfRINw6dNOQPZ9uv0-Fakx7PjwLA_vp0kp2l5hsyhCFJTbOHw4Inbgg3BjfykPNxQLVQiLdo09tZvUhBeqxXUVQMqNwiJzdQSFaUFngkb8tFdJe8JCY5t0wbP9T9g_nCvLhJD_TmGz1XMZW13-gjQcRTizOfSaouzHJZqYA6HZoy-5tNI84Z_yCVfQS7nSxHfvTtERueKTaM0f8PskqirCPtZOmlx4Vj4MYr4yOURXiBBqxjgEObawNIwnzQycbn2jSz9xIQZnAf-PbH78eelQg0P6AUkUl_6ngCz9DvHaEVp0PTkgVoHSo-8Kh4_81Flne6VSch4XjCHaJaFgb6_51xsg7uafxCusr8BWLVXnp8y_0tnxE5aN4BWgPVsCmXEFgGEHnetPdETicTqnJ8XGK7mqvmv9d_QgufCOmMaSeEkLjuXPsrczLlIYIA"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 202 message: Accepted headers: Server: - nginx Content-Type: - application/json Content-Length: - '337' Boulder-Request-Id: - aO_ssLwlD9LPzDXWgGRixJxu5DISt0LdCDGSYPL1f0E Boulder-Requester: - '496535' Link: - ;rel="up" Location: - https://acme-staging.api.letsencrypt.org/acme/challenge/VE0RYNsvF5-NR8DpGJNU1p6wb9BI7PFV0JojBsQdN00/16908053 Replay-Nonce: - 6Vc0rpw61lTA2cR_SS2hbay8ZdItqzEKKHBNdXTwjg8 Expires: - Tue, 15 Nov 2016 16:37:48 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:37:48 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/VE0RYNsvF5-NR8DpGJNU1p6wb9BI7PFV0JojBsQdN00/16908053", "token": "xse3uRLUeYRI7O0EwONnv74gML7J1TYSB0vlvI0y3ns", "keyAuthorization": "xse3uRLUeYRI7O0EwONnv74gML7J1TYSB0vlvI0y3ns.P-C4G1zqa-LNRuzffl9HBtD1e_t57bW6N7UT5X6zEgU" } http_version: recorded_at: Tue, 15 Nov 2016 16:37:48 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/challenge/mRC2viBR-USIfVdacaqcJuymOgHdY8GklltntDuz5fM/16908056 body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiNlZjMHJwdzYxbFRBMmNSX1NTMmhiYXk4WmRJdHF6RUtLSEJOZFhUd2pnOCIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ0dWZ4T3ZwMTJuTk1nVlM0WVNSMEdUc2U0SlJfWjdxb3d1RHFELTJWTTd2YkdHU01HMklab2YyYTdJS1JoZ3dGM0lZN2xHWXBYT3hybUg5QkFKbWpLWXdPS1g1cFBJaktMRTY3cFVocVdidkVwOWdlSTltTWVjRzVaZ2tLRU9VQlZ2T2Fldkh4VTc4YlE4QmdWbVFqdTVHVDA4dGFkZXRzU21fX3NXYmE3U1YyeGRfQXFmY0dCUHNQeDFjV1FId08zMy0tY2MyWDVSTWwwTVNjS0trLUdyUUtQQkE0cGJySk45cmZXUTVLSTVCZUJ1WXJNcDRUdG5tWjg2RzFjN1pxVTlsNDVGWkNLemdEUExRcjNYVWxsQXN0UzdPOWE4VFhlc1JjbTBrQkRwcUpLMGozQWVHRG14bG5wY1lwNVhrMDdFQVZGYk5MeWhuWDQ4Y2hWZ0tGMzQ3RVV3R3pnQmJwWG96Wm5obEpaMDhUaVo2NkMwREo5S3NVNnFVcUdibTc0TjhQS3UyZm1FUlZlRlpSOFlZUWNaZWtQX1ByZkRONGpnZVhaUm01bUlMZDdNTy0wOXhaVFB1R2V0dlBfU0N1b0FRRmVra05CMHFjQUY1ak1NZW1VYVh5RFFrNHI1Nk5uNVFYRXk2bXRjRzdUaTB5WW13NVJMbzFXXzZnbUh2T1ZnTkh5Mk9WNkhRbDYyNmdXMk13MEZzbk9uYVJybzBVZC00aVBCQUhiWnhNU3JDVFhvTEJFMkZYck84bXpUdFVxLVB1NWIxejd1dk95a3JCRzNZVG96OVZtN3NKNHVseFZGaEJlWmtwTDN3Q2F0NDdsMEZNM2tJczZtSkdQTW14dXF3WDBYdVZqb1U2UVd2QzY5YWJlelE4b2hSMzlidkxsWjhaX2cwUy1GayJ9fQ","payload":"eyJyZXNvdXJjZSI6ImNoYWxsZW5nZSIsInR5cGUiOiJkbnMtMDEiLCJrZXlBdXRob3JpemF0aW9uIjoic2lSVTE1NGZzd0pMZ0hzVGdGeFctc3NIaU1mRTlTSHpRUWNueGVnOFh1TS5QLUM0RzF6cWEtTE5SdXpmZmw5SEJ0RDFlX3Q1N2JXNk43VVQ1WDZ6RWdVIn0","signature":"Kv4drTbMlt8hoeA0JGVra7YH-6zVdPN69jLBxBzGItk3xmpvqlwCawE5C_73IiMc1MTkoCWNDNyYJMfr_D2SSxnIPGFaqrWO6WT4d3xGuGLfDqrIxiFCZtEiB_FiMbTGq_UxahBXv8z7MJyxd4Nb-MGZUNxHW9M-rt5bIJ6m8T7ISfDyNofYVgEFq75jQilWkjcnNS1awop7NhzsBixY0UboQrauqzOpLr1J8tgsOxvFGvqYL9c-tBtm6_iMe4OViDTNOzB1T3WQO4t0ka78pozBuLYIdbPt4HVacjMyg_XFR8stlb7JTCHrZ61crVid60ZOU4r8EQ0h6PacNMCtdCPtP4nL62-CgXQsIR85ZyHaTFWLfryRgSbB8ljwWsRTonmyWiuoSO44s2FmBYNBrAOOM5K-4OHDDM2BJT2t5xtSv_Y1MCdWbPGnLB7Fp7Nq6xMsjVl8s9G7w0JK2Ybx2_3Gjk4xsQReHrPenp-pQU-wshMtpUPKA3JW7ms74WofZiz53tYO7yXCl5fv1mU2gUQxBALWH-uj6mNrXwaUyLwABx42My50IK-JrUPeXlUVwbFc5WZ90aRIl7WfjSNvsqp_r-fdD021QhUOxMRtvOiBOCrfoJhXsM1pC6-vCzrXM1fzFt6lQIXN55xv5pX3zSzjOaoBMRsEYER2Eh0Ep-I"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 202 message: Accepted headers: Server: - nginx Content-Type: - application/json Content-Length: - '337' Boulder-Request-Id: - Yq-sgvmLItpqBOZ4VA6wB1L_4CSp-1MEaTE6D02GzFs Boulder-Requester: - '496535' Link: - ;rel="up" Location: - https://acme-staging.api.letsencrypt.org/acme/challenge/mRC2viBR-USIfVdacaqcJuymOgHdY8GklltntDuz5fM/16908056 Replay-Nonce: - eXd79tQVWvkW40RyTJfXHdesDHZTrwVNsRuupxRJY2w Expires: - Tue, 15 Nov 2016 16:37:49 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:37:49 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/mRC2viBR-USIfVdacaqcJuymOgHdY8GklltntDuz5fM/16908056", "token": "siRU154fswJLgHsTgFxW-ssHiMfE9SHzQQcnxeg8XuM", "keyAuthorization": "siRU154fswJLgHsTgFxW-ssHiMfE9SHzQQcnxeg8XuM.P-C4G1zqa-LNRuzffl9HBtD1e_t57bW6N7UT5X6zEgU" } http_version: recorded_at: Tue, 15 Nov 2016 16:37:49 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-cert body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiZVhkNzl0UVZXdmtXNDBSeVRKZlhIZGVzREhaVHJ3Vk5zUnV1cHhSSlkydyIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ0dWZ4T3ZwMTJuTk1nVlM0WVNSMEdUc2U0SlJfWjdxb3d1RHFELTJWTTd2YkdHU01HMklab2YyYTdJS1JoZ3dGM0lZN2xHWXBYT3hybUg5QkFKbWpLWXdPS1g1cFBJaktMRTY3cFVocVdidkVwOWdlSTltTWVjRzVaZ2tLRU9VQlZ2T2Fldkh4VTc4YlE4QmdWbVFqdTVHVDA4dGFkZXRzU21fX3NXYmE3U1YyeGRfQXFmY0dCUHNQeDFjV1FId08zMy0tY2MyWDVSTWwwTVNjS0trLUdyUUtQQkE0cGJySk45cmZXUTVLSTVCZUJ1WXJNcDRUdG5tWjg2RzFjN1pxVTlsNDVGWkNLemdEUExRcjNYVWxsQXN0UzdPOWE4VFhlc1JjbTBrQkRwcUpLMGozQWVHRG14bG5wY1lwNVhrMDdFQVZGYk5MeWhuWDQ4Y2hWZ0tGMzQ3RVV3R3pnQmJwWG96Wm5obEpaMDhUaVo2NkMwREo5S3NVNnFVcUdibTc0TjhQS3UyZm1FUlZlRlpSOFlZUWNaZWtQX1ByZkRONGpnZVhaUm01bUlMZDdNTy0wOXhaVFB1R2V0dlBfU0N1b0FRRmVra05CMHFjQUY1ak1NZW1VYVh5RFFrNHI1Nk5uNVFYRXk2bXRjRzdUaTB5WW13NVJMbzFXXzZnbUh2T1ZnTkh5Mk9WNkhRbDYyNmdXMk13MEZzbk9uYVJybzBVZC00aVBCQUhiWnhNU3JDVFhvTEJFMkZYck84bXpUdFVxLVB1NWIxejd1dk95a3JCRzNZVG96OVZtN3NKNHVseFZGaEJlWmtwTDN3Q2F0NDdsMEZNM2tJczZtSkdQTW14dXF3WDBYdVZqb1U2UVd2QzY5YWJlelE4b2hSMzlidkxsWjhaX2cwUy1GayJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1jZXJ0IiwiY3NyIjoiTUlJQ256Q0NBWWNDQVFJd0hERWFNQmdHQTFVRUF3d1JkM2QzTG5OMVluTjBjbUZyZEM1amIyMHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEREVjVHlKNzhqdnFTdkdwZ01ndEtSRVhkdEN3SWF0bXhOMkhvaDFMRnNzYmJiQVFvOThwUmNEQWNsbVBIUWtjRFQ3Zk9TUTByOWJ1dXdqbFFXdF9tSUtucnZuVTk4R1lIVndmSkpNb2Y1bXZTcFVYSmM3ZE9FNUNCQ3VPaUFkMTZzM3ZLSzVzVkp0bkNjek1RSk5LM3hJazBYcVo4UHNXRVRGMmhuMUxKVERqaHpPNl9UaFFmZkl5c292NGNVaFIxR2MzZ09iZ04xeGIwZlpPUDRUNUJPU19UNWIzOEwxeHRnUlI4ek8weFVqRlgyM184RmtNSE9hOElkbW1NbzJkWnd6bHRpaE5nbXhrMk5oc1MtN2c5cGNVREhEQ3lXME5JTUt2TEJPN01TVTZ6dDg2SE9vQTFfaXQ1N3JSWWNuemRWN1I5blpyQkUyRm14ZHl3QldETzNBZ01CQUFHZ1BqQThCZ2txaGtpRzl3MEJDUTR4THpBdE1Dc0dBMVVkRVFRa01DS0NFWGQzZHk1emRXSnpkSEpoYTNRdVkyOXRnZzF6ZFdKemRISmhhM1F1WTI5dE1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQTMyT0UyYnAxVHdsOHVsMW1nYkpYU3ZRRldrUjFHZHA3U1VwOF9yQm5tWGU2NzNxRHlWZW0zazVqV3V0ajlxeWhxVVhNcGlsZnVvU3NZMWlsYVM1bXlPRmNScTlicDJPLUNhQkhjVTRJd1RnV3NTcUhHWU9Md2JKNFJpQUhqMGQyenBLSDZ4ZkJtN0xPUG8zeGR5WXlfMHVGMVM2N0cyTFE0MXJCQ3RGM1dVeEZzdU1KWVp5aEctdTlqS3hiYThfYUROdl9hX0g1dVJiblp6a2ZCQjZTS2xReldTZEl5Nk5aUmNESkFVdldWUS1fckhyRWZ5UFpRT2g4ZkI3R0EwYl9CbTVFQ05IbzZhSFA2RUt1aU90N0FMVjNlMW9xWFZPNTNnLWpCV19POGFpa05IWlZ3aEV5VE9pelRpZ19URy11TW54b1FDVExSWUNaVlZEblZkTU1pIn0","signature":"SpdHAa0GX11VzQTJHoxxoGkfUgcu3VHbGGetGMeN22skA4n-9cY5r2TjuUPVE-Xvh_7a6K6sOGIDDAOO4ERw6D8MWP9jL-IOF_i_g-RI5EHIcaaHLYoK94TLhV14fWIuXET89SYzai8XTHpnC36WC1_Voo-mNROk58ixv3EDNPgb8a3udzGKbY4mJ4RnTVlfUdyIbal9DMWqM-dUq55qFC0iBN_HLZsaYGyop6oHul67wOwYJueAGya2jcXfOwQSgoYM9FNnQmgewj1gXSXX7WyD8y20ZFTGi-bUAPut2IwM-goXbqZ3ZxGb0-qxMOAO2qN-FK7i-MONJo89A-3a6o48k8RrEPXE1Mfpl7hlmb_d1F1ByUGVVriBLpySu_zVN7-E2Oo1z2Jjgj6aVX-4jegcIRT3WLaqhTknu-MBuq1kUECyqrVEV9kTJzC95LNmVshlGXqZKldwjQjbWkkCc9TRub06n_MnqDubA63Xxmr7aWP4z0QcI3sHgs_aEyX46b4lkkbQZDCljYr0T3n6etrxbDkNm-01YZTH_uU5Fy_MsHyfNjdJqoAFIWW5kNnEUb8lPPqM-dyyAnpdSJOg1myNBkDgY9tBN3oJmws9SC16oqG8zqIBwryH5XUqP_6q06BfEGePR6WSpHA9IMZ-kU8HRO2IDgD_e-HxJg-sqD0"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/pkix-cert Content-Length: - '1274' Boulder-Request-Id: - o2sSQ6w-CMLkztfeShm84diOMIyWc0MPcixq0UaDsIQ Boulder-Requester: - '496535' Link: - ;rel="up" Location: - https://acme-staging.api.letsencrypt.org/acme/cert/fa5edbfa9a06496a35270087cce7f7fcf871 Replay-Nonce: - nScLaMmUfBwal5ALVzgjcVt19xbwr_CkFVeJWIDn8Q8 X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Tue, 15 Nov 2016 16:37:49 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:37:49 GMT Connection: - keep-alive body: encoding: ASCII-8BIT string: !binary |- MIIE9jCCA96gAwIBAgITAPpe2/qaBklqNScAh8zn9/z4cTANBgkqhkiG9w0B AQsFADAiMSAwHgYDVQQDDBdGYWtlIExFIEludGVybWVkaWF0ZSBYMTAeFw0x NjExMTUxNTM4MDBaFw0xNzAyMTMxNTM4MDBaMBwxGjAYBgNVBAMTEXd3dy5z dWJzdHJha3QuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA wxHE8ie/I76krxqYDILSkRF3bQsCGrZsTdh6IdSxbLG22wEKPfKUXAwHJZjx 0JHA0+3zkkNK/W7rsI5UFrf5iCp6751PfBmB1cHySTKH+Zr0qVFyXO3ThOQg QrjogHderN7yiubFSbZwnMzECTSt8SJNF6mfD7FhExdoZ9SyUw44czuv04UH 3yMrKL+HFIUdRnN4Dm4DdcW9H2Tj+E+QTkv0+W9/C9cbYEUfMztMVIxV9t// BZDBzmvCHZpjKNnWcM5bYoTYJsZNjYbEvu4PaXFAxwwsltDSDCrywTuzElOs 7fOhzqANf4ree60WHJ83Ve0fZ2awRNhZsXcsAVgztwIDAQABo4ICKTCCAiUw DgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcD AjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBRttCc8h+f6uvzp6Na4hEU9pVZ+ jzAfBgNVHSMEGDAWgBTAzANGuVggzFxycPPhLssgpvVoOjB4BggrBgEFBQcB AQRsMGowMwYIKwYBBQUHMAGGJ2h0dHA6Ly9vY3NwLnN0Zy1pbnQteDEubGV0 c2VuY3J5cHQub3JnLzAzBggrBgEFBQcwAoYnaHR0cDovL2NlcnQuc3RnLWlu dC14MS5sZXRzZW5jcnlwdC5vcmcvMCsGA1UdEQQkMCKCDXN1YnN0cmFrdC5j b22CEXd3dy5zdWJzdHJha3QuY29tMIH+BgNVHSAEgfYwgfMwCAYGZ4EMAQIB MIHmBgsrBgEEAYLfEwEBATCB1jAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5s ZXRzZW5jcnlwdC5vcmcwgasGCCsGAQUFBwICMIGeDIGbVGhpcyBDZXJ0aWZp Y2F0ZSBtYXkgb25seSBiZSByZWxpZWQgdXBvbiBieSBSZWx5aW5nIFBhcnRp ZXMgYW5kIG9ubHkgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBDZXJ0aWZpY2F0 ZSBQb2xpY3kgZm91bmQgYXQgaHR0cHM6Ly9sZXRzZW5jcnlwdC5vcmcvcmVw b3NpdG9yeS8wDQYJKoZIhvcNAQELBQADggEBAFlPuz21/BZCDpM8FVJrUM+G qtfWNegAbf8i+zVs29vQ29B2V/vs1Cqex9PjiLTzAM2CdJSWK2HgxfYCcZpx fzKymouCVZ9smdESoDxcHH6w0HZ4IukEp9D9vqbQw3+lNfhUDTVDPCGJ39i8 LaX387X4xh5OVp/JwoKuQvW8gGdX0/uQ95mPfF44A2NAHkOIsqXst9hBVnNX UBHmWjW5I2D0RvWCx3cSt7lbyRWCJdWdlZbUwmhP979pGsiR/C+yYwkbjoBt a1j4L9hpDqHDOfYVKnWT3V/3SeisObEyYEtIK/7Tj051hlnu1Oiq2EExGbjH kTRXUNrwz3Q5OAnveN8= http_version: recorded_at: Tue, 15 Nov 2016 16:37:49 GMT - request: method: get uri: https://acme-staging.api.letsencrypt.org/acme/issuer-cert body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiblNjTGFNbVVmQndhbDVBTFZ6Z2pjVnQxOXhid3JfQ2tGVmVKV0lEbjhROCIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ0dWZ4T3ZwMTJuTk1nVlM0WVNSMEdUc2U0SlJfWjdxb3d1RHFELTJWTTd2YkdHU01HMklab2YyYTdJS1JoZ3dGM0lZN2xHWXBYT3hybUg5QkFKbWpLWXdPS1g1cFBJaktMRTY3cFVocVdidkVwOWdlSTltTWVjRzVaZ2tLRU9VQlZ2T2Fldkh4VTc4YlE4QmdWbVFqdTVHVDA4dGFkZXRzU21fX3NXYmE3U1YyeGRfQXFmY0dCUHNQeDFjV1FId08zMy0tY2MyWDVSTWwwTVNjS0trLUdyUUtQQkE0cGJySk45cmZXUTVLSTVCZUJ1WXJNcDRUdG5tWjg2RzFjN1pxVTlsNDVGWkNLemdEUExRcjNYVWxsQXN0UzdPOWE4VFhlc1JjbTBrQkRwcUpLMGozQWVHRG14bG5wY1lwNVhrMDdFQVZGYk5MeWhuWDQ4Y2hWZ0tGMzQ3RVV3R3pnQmJwWG96Wm5obEpaMDhUaVo2NkMwREo5S3NVNnFVcUdibTc0TjhQS3UyZm1FUlZlRlpSOFlZUWNaZWtQX1ByZkRONGpnZVhaUm01bUlMZDdNTy0wOXhaVFB1R2V0dlBfU0N1b0FRRmVra05CMHFjQUY1ak1NZW1VYVh5RFFrNHI1Nk5uNVFYRXk2bXRjRzdUaTB5WW13NVJMbzFXXzZnbUh2T1ZnTkh5Mk9WNkhRbDYyNmdXMk13MEZzbk9uYVJybzBVZC00aVBCQUhiWnhNU3JDVFhvTEJFMkZYck84bXpUdFVxLVB1NWIxejd1dk95a3JCRzNZVG96OVZtN3NKNHVseFZGaEJlWmtwTDN3Q2F0NDdsMEZNM2tJczZtSkdQTW14dXF3WDBYdVZqb1U2UVd2QzY5YWJlelE4b2hSMzlidkxsWjhaX2cwUy1GayJ9fQ","payload":"e30","signature":"JzwgYy6AXMI1B7pWj0n2uL9ZAS41KJmsfPmO5nkGOad8sdpzMNGPbcH2rYF7xwJMGk1feXynDgIalyIvJdx6HMrZXfMkiil537xY_zRtKicfZGpyfzEsBBH_dKiEHP0g61YmvgK5wwWoCQ6XjZ8vcNJ9wdz17SYIWhib_7iT4SKwjJwKmLoSe3sRtiCdDOrxYHlw1flzkITbocsRQNeIsTT-Lljb5pZMmmfHgKdbAaLjySsQSmhdBg2R9gn5gqV88R3d331L8YZcQcsd9_wWek9lQmGEyg6f_QD42gna-xIBpzE-mv9GV95F10gjEQrilpJ_3WKOPVZ62NLamdfe7VaonMApVU6oTjltvKTxG-2rr6MsH3IoqDaDp8Y4je1311RyPlFckhzr1Zo4WT3fJJC_h7cwouCIz2QrTzxlNjh1-_aLqxFVpJdNOVlI_txUNYhUaveidAOswX5M4M2NyptNJUnFlbTBUl1HHNNj03ASDjKCn4lyNvHUT-vKBzNzZSvV5o9fIVaxDqVuTsm0SgbmRisd8xf1UvHalcggMDE6tgZmioqigcazYYm0CDkCIHSaT1mOATcck5_5RYCH1tJtrjAHIz_0qo1d7zhm1es5KP28UYjruIAfO4bWsOY0bDhkan-HsDlOYSzuYjlmi6IDNv5L8uxWjPHRv7m8zkY"}' headers: User-Agent: - Acme::Client v0.3.7 (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: Server: - nginx Content-Type: - application/pkix-cert Content-Length: - '1199' Boulder-Request-Id: - lcRF4REn_BN2kgZJgqKG91xxs0Au3cdIGlRCik6wfRY Replay-Nonce: - 7u8-i4WO5Xe_5ZOFTGcUZQv7jP1Fq4yViM8wCDXLMjY X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Tue, 15 Nov 2016 16:37:49 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:37:49 GMT Connection: - keep-alive body: encoding: ASCII-8BIT string: !binary |- MIIEqzCCApOgAwIBAgIRAIvhKg5ZRO08VGQx8JdhT+UwDQYJKoZIhvcNAQEL BQAwGjEYMBYGA1UEAwwPRmFrZSBMRSBSb290IFgxMB4XDTE2MDUyMzIyMDc1 OVoXDTM2MDUyMzIyMDc1OVowIjEgMB4GA1UEAwwXRmFrZSBMRSBJbnRlcm1l ZGlhdGUgWDEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDtWKyS Dn7rWZc5ggjz3ZB08jO4xti3uzINfD5sQ7Lj7hzetUT+wQob+iXSZkhnvx+I vdbXF5/yt8aWPpUKnPymoLxsYiI5gQBLxNDzIec0OIaflWqAr29m7J8+NNtA pEN8nZFnf3bhehZW7AxmS1m0ZnSsdHw0Fw+bgixPg2MQ9k9oefFeqa+7Kqdl z5bbrUYV2volxhDFtnI4Mh8BiWCNxDH1Hizq+GKCcHsinDZWurCqder/afJB nQs+SBSL6MVApHt+d35zjBD92fO2Je56dhMfzCgOKXeJ340WhW3TjD1zqLZX eaCyUNRnfOmWZV8nEhtHOFbUCU7r/KkjMZO9AgMBAAGjgeMwgeAwDgYDVR0P AQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFMDMA0a5 WCDMXHJw8+EuyyCm9Wg6MHoGCCsGAQUFBwEBBG4wbDA0BggrBgEFBQcwAYYo aHR0cDovL29jc3Auc3RnLXJvb3QteDEubGV0c2VuY3J5cHQub3JnLzA0Bggr BgEFBQcwAoYoaHR0cDovL2NlcnQuc3RnLXJvb3QteDEubGV0c2VuY3J5cHQu b3JnLzAfBgNVHSMEGDAWgBTBJnSkikSg5vogKNhcI5pFiBh54DANBgkqhkiG 9w0BAQsFAAOCAgEABYSu4Il+fI0MYU42OTmEj+1HqQ5DvyAeyCA6sGuZdwjF UGeVOv3NnLyfofuUOjEbY5irFCDtnv+0ckukUZN9lz4Q2YjWGUpW4TTu3ieT saC9AFvCSgNHJyWSVtWvB5XDxsqawl1KzHzzwr132bF2rtGtazSqVqK9E07s GHMCf+zpDQVDVVGtqZPHwX3KqUtefE621b8RI6VCl4oD30Olf8pjuzG4JKBF RFclzLRjo/h7IkkfjZ8wDa7faOjVXx6n+eUQ29cIMCzr8/rNWHS9pYGGQKJi Y2xmVC9h12H99XyfzWE9vb5zKP3MVG6neX1hSdo7PEAb9fqRhHkqVsqUvJlI RmvXvVKTwNCP3eCjRCCIPTAvjV+4ni786iXwwFYNz8l3PmPLCyQXWGohnJ8i Bm+5nk7O2ynaPVW0U2W+pt2wSVuvdDM5zGv2f9ltNWUiYZHJ1mmO97jSY/6Y fdOUH66iRtQtDkHBRdkNBsMbD+Em2TgBldtHNSJBfB3pm9FblgOcJ0FSWcUD WJ7vO0+NTXlgrRofRT6pVywzxVo6dND0WzYlTWeUVsO40xJqhgUQRER9YLOL xJ0O6C8i0xFxAMKOtSdodMB3RIwt7RFQ0uytn5Z5MqkYhlMI3J1tPRTp1nEt 9fyGspBOO05gi148Qasp+3N+svqKomoQglNoAxU= http_version: recorded_at: Tue, 15 Nov 2016 16:37:49 GMT recorded_with: VCR 3.0.3 ================================================ FILE: test/fixtures/vcr_cassettes/new-reg-debug-2.yml ================================================ --- http_interactions: - request: method: head uri: https://acme-staging.api.letsencrypt.org/acme/new-reg body: encoding: US-ASCII string: '' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept: - "*/*" response: status: code: 405 message: Method Not Allowed headers: Server: - nginx Content-Type: - application/problem+json Content-Length: - '91' Allow: - POST Boulder-Request-Id: - 420HoWAXBZhJc70rmv_eKJfYqeOiYWbpfJA9-0wwudA Replay-Nonce: - VKSfQsXUjiVU7zaq4tJA2yDCwEK_R7gBRfmCHeVmGW0 Expires: - Tue, 15 Nov 2016 16:26:46 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:26:46 GMT Connection: - keep-alive body: encoding: UTF-8 string: '' http_version: recorded_at: Tue, 15 Nov 2016 16:26:46 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-reg body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiVktTZlFzWFVqaVZVN3phcTR0SkEyeURDd0VLX1I3Z0JSZm1DSGVWbUdXMCIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ5V0hGYjNPV0NqQnBDdXN1WUhZQnFCdDR5WDdwbmhfMTF0REYxUENWUTg1RkltRzlwX0xrYU5oVVE0NENaMFJXZXpyenB1ODBzNjNxSXM5SFZVeVJzUnRObnNBMjgyUnZraDhXclQ0VnViY2FnOXFNaExTbkVweGdURURRSy1oNnVGd0xqam9MQktyVXZiMmZiUFVReENhaTBFbGFKOG91TndtR0VJcHVtYWpoYy0wV041bXRFSWY1Y3NFOXdCYXF1VkRCSURadkVsWVlkeTdSaW41ZVpTYmNMNHNUUmM3TWFncDN3STVRclJyLWl6aXJldmRTVmNKVVVvNHJiUzRtNmdpbTNvZGZrXzVmRS1Yb0JXQ08tSWxYNi1GNnpCdk5aOGdhOTF2cmZVRDRhT19VakNYZWFZRmhNVWx2Smpnc1U5blFaaUdBSGN1bkJ3NmV3RHp4eVZfbFEyLVc2SDhHTkZpVGwzWHJIcExsSl9NQXJkbEZYUllTOGtHV1dsYVJ2SGttdHU2NjZPSFNaT1NYUHFqR1cwLTNab0NONHlwSzNQY1VLdEozZ2Z2TDQ3X0V2REw0bWdKbW5LeXhObzQwS2pTMGFOOVJpSTRQMWxRZWdxT3EtdV83VExGeHRKVUZoSW1PcU0wYUxqbkZyTk1FWUxZbFBhazJQMGNlNFgzYlJ0MzJvVzE3NmJ0S1hQMlV2WncyYVBGck9hQmwyb0huVmtUQnJ5ZTRxbm1XTUlHbDFTeTVvTGZORWd2Vi1RdHVwdUloQVNhSm5oRk9PTWx2bzdmeDZjQ1NxWjhERllZY3h0QS1aejVCMHhFTzBFTGVwOTc5bFRlc1pDRXhyS0tEYkhfYlNCYUxwVXZ1U0FacTFfV0hoSEl1SllET28tbkF0QTFwSEJsMi0yVSJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1yZWciLCJjb250YWN0IjpbIm1haWx0bzpkZXZAc3Vic3RyYWt0LmNvbSJdfQ","signature":"o6PbqBFzL7f4V9_b1X76Dij4Yc5n0WkooeUfutYgBm-3k_IfmmnvKysKTEfPw1O7r0BiXXJRgugxW6fShAkFvqXq5o6boU2N9zuy0f-A8i3IsoRZjr6cFd7GuENc55jOuPDgcHPvoRMnccUOrKA5feov3lhD-TYU_aV2qJUnaEBKuFuX_wALAk74Luq2plI0p3KtmH5TzFrQUhr36mF59nmSlXdZzvLt2I4azOb7oC9qgAGZdEoBIJc-FHHEkm2BK8VWts15Ypbosjvny0RjBXUH3dP82zVoFLuVvmYAhex8RmvBWk4Whqo-0kTlzeBfbhcHmtFc-20aVqkHzTsMpvFpsR_LyJ7JElKld8BdikplXmm2LIKqOTSxvikqvGdrEA6FgmiIG2ny372BO1lh_JpIorZeEMD2QJb3WCxdfTohL6Tog0lolp_50FcZfURMGMdACEn_wbrk0eF1I0XUD7Su40_5nbYRDjmjrHym4R7G7I3GcBasXUb2wqK22RklEUw0co38wuzIMbPyQICcC4M1AM42tt7S1EyQ2Y1bQpB8S1sShmIGYy-QnNYvI_O_UJeQW_rOGAxR2YFuQ8vjHxN_-ncgEszrjhtx1FmuP0UG_aAEehvaeu7t5rrz1BpZ41_KONfHz30_APCnUOnIT7l-jkyXbZf3ZS99F-uaWjs"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '914' Boulder-Request-Id: - ZJ9VURsWuEDZmRV5ygkjYkt153OwrL9oBN-orBG55AY Boulder-Requester: - '496517' Link: - ;rel="next" - ;rel="terms-of-service" Location: - https://acme-staging.api.letsencrypt.org/acme/reg/496517 Replay-Nonce: - Z9zv7WMKz-ZwH6ihOS1Jb9UIHYnHOMuKCYUOI_MTiHI X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Tue, 15 Nov 2016 16:26:47 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:26:47 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "id": 496517, "key": { "kty": "RSA", "n": "yWHFb3OWCjBpCusuYHYBqBt4yX7pnh_11tDF1PCVQ85FImG9p_LkaNhUQ44CZ0RWezrzpu80s63qIs9HVUyRsRtNnsA282Rvkh8WrT4Vubcag9qMhLSnEpxgTEDQK-h6uFwLjjoLBKrUvb2fbPUQxCai0ElaJ8ouNwmGEIpumajhc-0WN5mtEIf5csE9wBaquVDBIDZvElYYdy7Rin5eZSbcL4sTRc7Magp3wI5QrRr-izirevdSVcJUUo4rbS4m6gim3odfk_5fE-XoBWCO-IlX6-F6zBvNZ8ga91vrfUD4aO_UjCXeaYFhMUlvJjgsU9nQZiGAHcunBw6ewDzxyV_lQ2-W6H8GNFiTl3XrHpLlJ_MArdlFXRYS8kGWWlaRvHkmtu666OHSZOSXPqjGW0-3ZoCN4ypK3PcUKtJ3gfvL47_EvDL4mgJmnKyxNo40KjS0aN9RiI4P1lQegqOq-u_7TLFxtJUFhImOqM0aLjnFrNMEYLYlPak2P0ce4X3bRt32oW176btKXP2UvZw2aPFrOaBl2oHnVkTBrye4qnmWMIGl1Sy5oLfNEgvV-QtupuIhASaJnhFOOMlvo7fx6cCSqZ8DFYYcxtA-Zz5B0xEO0ELep979lTesZCExrKKDbH_bSBaLpUvuSAZq1_WHhHIuJYDOo-nAtA1pHBl2-2U", "e": "AQAB" }, "contact": [ "mailto:dev@substrakt.com" ], "initialIp": "213.123.191.198", "createdAt": "2016-11-15T16:26:47.787178899Z", "Status": "" } http_version: recorded_at: Tue, 15 Nov 2016 16:26:47 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/reg/496517 body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiWjl6djdXTUt6LVp3SDZpaE9TMUpiOVVJSFluSE9NdUtDWVVPSV9NVGlISSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ5V0hGYjNPV0NqQnBDdXN1WUhZQnFCdDR5WDdwbmhfMTF0REYxUENWUTg1RkltRzlwX0xrYU5oVVE0NENaMFJXZXpyenB1ODBzNjNxSXM5SFZVeVJzUnRObnNBMjgyUnZraDhXclQ0VnViY2FnOXFNaExTbkVweGdURURRSy1oNnVGd0xqam9MQktyVXZiMmZiUFVReENhaTBFbGFKOG91TndtR0VJcHVtYWpoYy0wV041bXRFSWY1Y3NFOXdCYXF1VkRCSURadkVsWVlkeTdSaW41ZVpTYmNMNHNUUmM3TWFncDN3STVRclJyLWl6aXJldmRTVmNKVVVvNHJiUzRtNmdpbTNvZGZrXzVmRS1Yb0JXQ08tSWxYNi1GNnpCdk5aOGdhOTF2cmZVRDRhT19VakNYZWFZRmhNVWx2Smpnc1U5blFaaUdBSGN1bkJ3NmV3RHp4eVZfbFEyLVc2SDhHTkZpVGwzWHJIcExsSl9NQXJkbEZYUllTOGtHV1dsYVJ2SGttdHU2NjZPSFNaT1NYUHFqR1cwLTNab0NONHlwSzNQY1VLdEozZ2Z2TDQ3X0V2REw0bWdKbW5LeXhObzQwS2pTMGFOOVJpSTRQMWxRZWdxT3EtdV83VExGeHRKVUZoSW1PcU0wYUxqbkZyTk1FWUxZbFBhazJQMGNlNFgzYlJ0MzJvVzE3NmJ0S1hQMlV2WncyYVBGck9hQmwyb0huVmtUQnJ5ZTRxbm1XTUlHbDFTeTVvTGZORWd2Vi1RdHVwdUloQVNhSm5oRk9PTWx2bzdmeDZjQ1NxWjhERllZY3h0QS1aejVCMHhFTzBFTGVwOTc5bFRlc1pDRXhyS0tEYkhfYlNCYUxwVXZ1U0FacTFfV0hoSEl1SllET28tbkF0QTFwSEJsMi0yVSJ9fQ","payload":"eyJyZXNvdXJjZSI6InJlZyIsImFncmVlbWVudCI6Imh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL2RvY3VtZW50cy9MRS1TQS12MS4xLjEtQXVndXN0LTEtMjAxNi5wZGYifQ","signature":"Jgh71n49Q2KX0dK0qn0ID8f4Phn5p-BW-tpvxfL_Nr3hudN-s6rL1vCJIGPujlB0_GNkHEADVpvugTCtD6-lyvGsRESVLUY_kOU4GsH9wUmnatKMQpqhJHRSXg6-hvyR3olHEwUNvqwIOWmYhPSPHAdcQwvkFSm9LNXIwXP780AhkmfjPIYIrYgAb6AigPEH2HcLha08oyAtUR5t5fe9yc9IEukU8HhhSfsTUcaUCkQY39tAxtwv6lzooFNSqFChRN3QrW1jR5JaO-94k7p1abaBa2Y2A7VhHQ-lqDsEM-tJ9G1_KH1kDDldIvqr-DEskoCdHH0TYwkg3oKPlfeV52N8F12yJYxbiNT80tifUzbj_Jif5F-toA9wClVH0z5jynFk98keiSV51YdjcxuM15UAJ6NnkEthJbNUxXFoYgQaCHRdPB2qWEQgt3FIMDn6mjyGjONC6M6DE4bRcqUkAK3N8pEffOL-MnspMU0PnDuAo0RlF8UB6WESgHQc624iNLpadp8QiFEvX5HwEsggm_pP4_5UFGO-CoeG11iOEQNdMkYrJr8H8VsWpiTa4GGzyg0P-USmBpW34Rcmb3KpdlJ_KgiuxFru6z8STOyI8ktkbZ14QY23H8wGbMVNnpi--BjxJYLqhU2yr4PlPdKmuYI1uPwVWKkjyshQ3JrrlH0"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 202 message: Accepted headers: Server: - nginx Content-Type: - application/json Content-Length: - '987' Boulder-Request-Id: - iPmcCUnnrlTqj2iQgQlDtmZ8i8EGY886YnlK402mlZg Boulder-Requester: - '496517' Link: - ;rel="next" - ;rel="terms-of-service" Replay-Nonce: - ziaYyUQTW8Ce4FlnRDTGEz5ux4at_96HdTG1lBOb-24 Expires: - Tue, 15 Nov 2016 16:26:48 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:26:48 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "id": 496517, "key": { "kty": "RSA", "n": "yWHFb3OWCjBpCusuYHYBqBt4yX7pnh_11tDF1PCVQ85FImG9p_LkaNhUQ44CZ0RWezrzpu80s63qIs9HVUyRsRtNnsA282Rvkh8WrT4Vubcag9qMhLSnEpxgTEDQK-h6uFwLjjoLBKrUvb2fbPUQxCai0ElaJ8ouNwmGEIpumajhc-0WN5mtEIf5csE9wBaquVDBIDZvElYYdy7Rin5eZSbcL4sTRc7Magp3wI5QrRr-izirevdSVcJUUo4rbS4m6gim3odfk_5fE-XoBWCO-IlX6-F6zBvNZ8ga91vrfUD4aO_UjCXeaYFhMUlvJjgsU9nQZiGAHcunBw6ewDzxyV_lQ2-W6H8GNFiTl3XrHpLlJ_MArdlFXRYS8kGWWlaRvHkmtu666OHSZOSXPqjGW0-3ZoCN4ypK3PcUKtJ3gfvL47_EvDL4mgJmnKyxNo40KjS0aN9RiI4P1lQegqOq-u_7TLFxtJUFhImOqM0aLjnFrNMEYLYlPak2P0ce4X3bRt32oW176btKXP2UvZw2aPFrOaBl2oHnVkTBrye4qnmWMIGl1Sy5oLfNEgvV-QtupuIhASaJnhFOOMlvo7fx6cCSqZ8DFYYcxtA-Zz5B0xEO0ELep979lTesZCExrKKDbH_bSBaLpUvuSAZq1_WHhHIuJYDOo-nAtA1pHBl2-2U", "e": "AQAB" }, "contact": [ "mailto:dev@substrakt.com" ], "agreement": "https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf", "initialIp": "213.123.191.198", "createdAt": "2016-11-15T16:26:47Z", "Status": "" } http_version: recorded_at: Tue, 15 Nov 2016 16:26:48 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-authz body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiemlhWXlVUVRXOENlNEZsblJEVEdFejV1eDRhdF85NkhkVEcxbEJPYi0yNCIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ5V0hGYjNPV0NqQnBDdXN1WUhZQnFCdDR5WDdwbmhfMTF0REYxUENWUTg1RkltRzlwX0xrYU5oVVE0NENaMFJXZXpyenB1ODBzNjNxSXM5SFZVeVJzUnRObnNBMjgyUnZraDhXclQ0VnViY2FnOXFNaExTbkVweGdURURRSy1oNnVGd0xqam9MQktyVXZiMmZiUFVReENhaTBFbGFKOG91TndtR0VJcHVtYWpoYy0wV041bXRFSWY1Y3NFOXdCYXF1VkRCSURadkVsWVlkeTdSaW41ZVpTYmNMNHNUUmM3TWFncDN3STVRclJyLWl6aXJldmRTVmNKVVVvNHJiUzRtNmdpbTNvZGZrXzVmRS1Yb0JXQ08tSWxYNi1GNnpCdk5aOGdhOTF2cmZVRDRhT19VakNYZWFZRmhNVWx2Smpnc1U5blFaaUdBSGN1bkJ3NmV3RHp4eVZfbFEyLVc2SDhHTkZpVGwzWHJIcExsSl9NQXJkbEZYUllTOGtHV1dsYVJ2SGttdHU2NjZPSFNaT1NYUHFqR1cwLTNab0NONHlwSzNQY1VLdEozZ2Z2TDQ3X0V2REw0bWdKbW5LeXhObzQwS2pTMGFOOVJpSTRQMWxRZWdxT3EtdV83VExGeHRKVUZoSW1PcU0wYUxqbkZyTk1FWUxZbFBhazJQMGNlNFgzYlJ0MzJvVzE3NmJ0S1hQMlV2WncyYVBGck9hQmwyb0huVmtUQnJ5ZTRxbm1XTUlHbDFTeTVvTGZORWd2Vi1RdHVwdUloQVNhSm5oRk9PTWx2bzdmeDZjQ1NxWjhERllZY3h0QS1aejVCMHhFTzBFTGVwOTc5bFRlc1pDRXhyS0tEYkhfYlNCYUxwVXZ1U0FacTFfV0hoSEl1SllET28tbkF0QTFwSEJsMi0yVSJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1hdXRoeiIsImlkZW50aWZpZXIiOnsidHlwZSI6ImRucyIsInZhbHVlIjoid3d3LnN1YnN0cmFrdC5jb20ifX0","signature":"vVv5ZLhcVPORb597oQLMFdgPWUQ8KY2Mx98YxhcJO01Dl--4XIf0W_oooMUP97_dRCQ9xHOW1s4cbB7u-6WbUAzjzFNmwaFbGYDodJlj18ajdJUbqZg1Iay4nvYBUB1ENlcn9nevQ5xXb33QaICPNy7Dnni-9hOKw7rVUxREsTGdEPeKYsVVwAwyL1s_aCCGZ1VDDme1typkMuC23o3vHzreceYE6b4MXF8o-FDCYBcuDUCS0JllJbuDJhPTEc51cu_eDeaqSLxxmDemCAEgFllnw1b_NqNAzCDsK5H090avvVdG0L8cdCMwWR8KDfKNIS0uA25NyQsNvzKGJo3jXEWD2cHnP1ADQMglAZmhH6NZnq2c60FHxMgGucsg2na0yN5GfG1yF7nTyko1njILcfHOic3YT1YxQt0KFQqz1ZfC7rjE96UDsNg9f6W8baGUB07CiP_4AZZg870TWc8ERp7RZMhpvtM35NOb9weRZUZDkMwLLDKAhQxQNgyHSAsl_ZcPOy4OQeHm-iFsvJQCrRqAVkCqcmKaAj8vwPLtRNZQjSEjcFKwcCIoYdBehylpelBv20GALJ12xGO0lSr1ztuOjRIurnP5O2d8b3vsN2CsZ2K4EgIrlxvRXYeeAy9M_kb9ioZ3XTgu9UzuRlah-ymHQi9D3Kep0G2JvvaCKLI"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '1011' Boulder-Request-Id: - CZWjVTdOQk5g4yVsokrZIqsxY6xXxzFIjFk_T-Q2JeE Boulder-Requester: - '496517' Link: - ;rel="next" Location: - https://acme-staging.api.letsencrypt.org/acme/authz/_M2pOUKiPq2r9VHwjRDlFVIpuElXSVwbIGouX-IBN2E Replay-Nonce: - XuSjRweNlG5agu-j1-99CmcPqAIsKzUT4hrwb3QJ7Co X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Tue, 15 Nov 2016 16:26:48 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:26:48 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "identifier": { "type": "dns", "value": "www.substrakt.com" }, "status": "pending", "expires": "2016-11-22T16:26:48.579388398Z", "challenges": [ { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/_M2pOUKiPq2r9VHwjRDlFVIpuElXSVwbIGouX-IBN2E/16907876", "token": "Eh5Vrd9Vnzcw3ZECvt3QnT6tzGnTI4ZjCuJrb5FFUSY" }, { "type": "tls-sni-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/_M2pOUKiPq2r9VHwjRDlFVIpuElXSVwbIGouX-IBN2E/16907877", "token": "N3FfTUQSPUSrn04FrLFLBOj-005hgjh3p07c8ZJmZbo" }, { "type": "http-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/_M2pOUKiPq2r9VHwjRDlFVIpuElXSVwbIGouX-IBN2E/16907878", "token": "bvBr7Ca6BFIDWeC-I-9IoU9QugVuBiyl4nfIfZYGBfw" } ], "combinations": [ [ 0 ], [ 1 ], [ 2 ] ] } http_version: recorded_at: Tue, 15 Nov 2016 16:26:48 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-authz body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiWHVTalJ3ZU5sRzVhZ3UtajEtOTlDbWNQcUFJc0t6VVQ0aHJ3YjNRSjdDbyIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ5V0hGYjNPV0NqQnBDdXN1WUhZQnFCdDR5WDdwbmhfMTF0REYxUENWUTg1RkltRzlwX0xrYU5oVVE0NENaMFJXZXpyenB1ODBzNjNxSXM5SFZVeVJzUnRObnNBMjgyUnZraDhXclQ0VnViY2FnOXFNaExTbkVweGdURURRSy1oNnVGd0xqam9MQktyVXZiMmZiUFVReENhaTBFbGFKOG91TndtR0VJcHVtYWpoYy0wV041bXRFSWY1Y3NFOXdCYXF1VkRCSURadkVsWVlkeTdSaW41ZVpTYmNMNHNUUmM3TWFncDN3STVRclJyLWl6aXJldmRTVmNKVVVvNHJiUzRtNmdpbTNvZGZrXzVmRS1Yb0JXQ08tSWxYNi1GNnpCdk5aOGdhOTF2cmZVRDRhT19VakNYZWFZRmhNVWx2Smpnc1U5blFaaUdBSGN1bkJ3NmV3RHp4eVZfbFEyLVc2SDhHTkZpVGwzWHJIcExsSl9NQXJkbEZYUllTOGtHV1dsYVJ2SGttdHU2NjZPSFNaT1NYUHFqR1cwLTNab0NONHlwSzNQY1VLdEozZ2Z2TDQ3X0V2REw0bWdKbW5LeXhObzQwS2pTMGFOOVJpSTRQMWxRZWdxT3EtdV83VExGeHRKVUZoSW1PcU0wYUxqbkZyTk1FWUxZbFBhazJQMGNlNFgzYlJ0MzJvVzE3NmJ0S1hQMlV2WncyYVBGck9hQmwyb0huVmtUQnJ5ZTRxbm1XTUlHbDFTeTVvTGZORWd2Vi1RdHVwdUloQVNhSm5oRk9PTWx2bzdmeDZjQ1NxWjhERllZY3h0QS1aejVCMHhFTzBFTGVwOTc5bFRlc1pDRXhyS0tEYkhfYlNCYUxwVXZ1U0FacTFfV0hoSEl1SllET28tbkF0QTFwSEJsMi0yVSJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1hdXRoeiIsImlkZW50aWZpZXIiOnsidHlwZSI6ImRucyIsInZhbHVlIjoic3Vic3RyYWt0LmNvbSJ9fQ","signature":"lKWqZT5IQdGuaXXkAhZvnjsqBxxGo5nrjDkhLG2OB5tHe4BmUJ54VdsRFEv-obm514_DtFV8FR8erl_mQkx_gO7hShlD_WDi0QToPJB9MMyNNt0-gJPUbSNbeDSjVwU1HaVggBaPhSgdxBzMGuyR9fJX27aNtsp-IfwgNiu2Cj9vtdt1LQ9Dto7phd-A_fYKCAraBBDPawMHe8GUWlMoYYOP3lNjnWUCa_SFK8Q5sWmPdS1PtHxX1xCOZZRUSr7VOgfAWLNFGNf2WCtaCGGSuZBYlnl4Iy4WhAcZAnMEcTPZhkdM6iSLt-iQJPqlY-fBTCD_GX7V8tjaO5Jug3jYcVFgBTPIkAJVFA41U-ywhjMw-8SFJ_xp4TN_TMXy2jR9dG2OlVqExqprp0UVbhkzAS5YW5uMZT77DF_drZaV1LN_DSm1crjIrsZZ5r6gEfmAAbeXhQJUC0AYNRZMoVzk2RA5G1gNn91gaijmQHxagseME2YbKXi5rVj7SbpyN6FtFfRaQdFh75A54jVbCl8kkQprvHBuaBuCol2oJlj0Epji3ElUBxxpShtTJv-fBj2js1NqCS5vs1CFUctQkdToGBpNTTOz-STqwIMbG8wcd240zBzZJ5iqcX_SG7wpbYBnY8eTxxJCHqgDZouHnCM17hOy2F3jP-ALmXUjqjmGYd4"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '1007' Boulder-Request-Id: - L8InKaf5bKfqoj_ucCHClikRy3uGPBC86jF4CkDUvaw Boulder-Requester: - '496517' Link: - ;rel="next" Location: - https://acme-staging.api.letsencrypt.org/acme/authz/d5edjqYDWl0iXXfgxVC9VTAsWFxraH7boqRk8_k2cSw Replay-Nonce: - XK3TcnCS5y7UrMXZz1FBpERoFrCOFa9qkyAR0qNzxVE X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Tue, 15 Nov 2016 16:26:49 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:26:49 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "identifier": { "type": "dns", "value": "substrakt.com" }, "status": "pending", "expires": "2016-11-22T16:26:49.029240851Z", "challenges": [ { "type": "http-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/d5edjqYDWl0iXXfgxVC9VTAsWFxraH7boqRk8_k2cSw/16907879", "token": "G4AsCzR9u1dsKS0S-uv9JYujuzk-YQLwVh3F2WJeI4w" }, { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/d5edjqYDWl0iXXfgxVC9VTAsWFxraH7boqRk8_k2cSw/16907880", "token": "dC8zcW-yrzcV5tcC8WW9kP_dYcD4m86oo5lA1ftr-Cw" }, { "type": "tls-sni-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/d5edjqYDWl0iXXfgxVC9VTAsWFxraH7boqRk8_k2cSw/16907881", "token": "gUsRLXxSdX50yvZt4NnqL4Gf3KZmuS8SjJfaHLnz8_U" } ], "combinations": [ [ 1 ], [ 0 ], [ 2 ] ] } http_version: recorded_at: Tue, 15 Nov 2016 16:26:49 GMT recorded_with: VCR 3.0.3 ================================================ FILE: test/fixtures/vcr_cassettes/new-reg-debug-3.yml ================================================ --- http_interactions: - request: method: head uri: https://acme-staging.api.letsencrypt.org/acme/new-reg body: encoding: US-ASCII string: '' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept: - "*/*" response: status: code: 405 message: Method Not Allowed headers: Server: - nginx Content-Type: - application/problem+json Content-Length: - '91' Allow: - POST Boulder-Request-Id: - gQZhv5OitYQ0_uglsePMfep2ieCGIWjLbbdqgLJyzJU Replay-Nonce: - WWi7MkLBE8EL3aMZTD7VHX7O0qErOAjqjaS4RIb-9NM Expires: - Tue, 15 Nov 2016 16:38:57 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:38:57 GMT Connection: - keep-alive body: encoding: UTF-8 string: '' http_version: recorded_at: Tue, 15 Nov 2016 16:38:57 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-reg body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiV1dpN01rTEJFOEVMM2FNWlREN1ZIWDdPMHFFck9BanFqYVM0UkliLTlOTSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ6SlRRcVptNlVPbjZhdDEzZzJBNHNWSGJlQktXbURhcjBLWE4wQW9qLS1SUEV0d0F0cm5DYTZFWjNNcGszRTNlUWtsSU4xY2s4M2xMUUN5WjJCVFR5RkdrMTBwNFFranhFRmRwRkszUzBHb2RsN2hxekVFOXdSVUJHaFZZWk53aUVfc015M0pEQVlJYzdLcHdwWm1KaXRoRjRkcE5LblpyNzlBcnhDa2MydHdRSnFDRGlqc0hsMWJpQjNkRGNaSFFSODZYOTlNN3h4ZHUyYVlfaXhabWIxNHBkeGdFRE9taEdDR2pZQWhrQnNlYU1NSnM4Z3RlNlBFZXFiUlpFdnhuUndOZkpETExHaFFHbU9VWXBqUG9UZzNtdnZaTkUybFdfdDJaeWw4STNEc2U5TEgySlZ5NXEwMUNiSVNyT2JFMkhDclJXWDkzSTlLaU9mZXRmV0RVUGVha3F6RUhWNWJFczl0a0stZVhFQTk4NFN5dTJoVjlaWTdBLWlOdGtDX2lSdnA0X0VrUFF6WUdxUmtuaEFiUTBPVWJjNVlGZ0UyX2RMdHhNRjZ3VFEzSFE2U2hBeXdqdldXR2d3VWlkME9hNFg5b29qalJ5NXNySlcwRmVBNGNiTzhKdTBtQkZNX002czVPdjdfa3RhVzlrQi15OWZSeXptOENMOWEzVjhjXzlidHMyajdURGNiM0RXRnJsMnhEWVU5LTJ2S1UweW1aUDZYVWE4ZlMweTJSMXBYTW1jQ292a3V1OWFJSUdjSmdmRUxCalVseWRIMU5xX2NvNHlobXRQeWFCSmR3V2I1TURSRjIyS3BEdHlxMDZvX1A5bG54RjAtRzRmSUtFVENmNFVDSGNESFU1YWpiLXJVRk1VVTViTjZiU0wybXVnV1VJOHhHX1VkbmJLayJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1yZWciLCJjb250YWN0IjpbIm1haWx0bzpkZXZAc3Vic3RyYWt0LmNvbSJdfQ","signature":"dOpkHUfPaqcZLRilK6DeSRdI4i1f4Sq6MYnWQZSItuQOo30_Nm5FoKkfXrVEMXG0zoCTBLYs93Xt9Wa6TncJ1DV45o5fbGgX3mXaYEp51n5lUq8jOA--pnUuBiJgyKYOHJOXUorVDItsenpFPElhmeusHiZkc3sQLKvixIf0ddxftyQ09Z50PLX8d-OwQdiPv2w-Qi2gEPn1MfGw2Smvwsrew2uYl8qpkR6t_XYbN8_M_f8onupIzPskX6yPPvMZGVt3WrPkrNkIam2RpTtU4HdCIfzbKvLZmwwkKWXQa_PwkoumuGkADDMzen2FJFj7gspOtRCGCZmDI7jnvN3weJRXvzXt70xm6tI5Z2HikEVGkq_f1souBQN2wBJRX5xkuPSVuy0l99OzCftljSc5Hc4v1H9UdTs06HVYvzULMj_06zuKKXyv9GOG3rFbzrp66t9y9-GlK2nRAUJKEhc92qBvyE_2kF6F4OBASyHF1Z4v4gKhUZzELNvipWlaK-1-l4G18Dc4YDYAwStgX3LF1WE-OC3bMtToj7wBjJxH0L_ck9E_BPcRhIQHKg1NOsgKOapq-3lcGCznFfRwRLpIBUCZzjXSaPExWKVw2qtg8Ogpq-mkbXmUlLRNUwQ17H3C-hHJ_x1bAj3YLFTt66BjrtPd0UPTWdDBP-LDQBqdnjg"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '914' Boulder-Request-Id: - HElooDP_ZXMjEHmo2sO7Z2rvkPA6vTh-8Wx1eIIaWnk Boulder-Requester: - '496542' Link: - ;rel="next" - ;rel="terms-of-service" Location: - https://acme-staging.api.letsencrypt.org/acme/reg/496542 Replay-Nonce: - AQ64pO4Gh3SpjtTn_zhqrQdRb5DGOnmTPpdU_TbKe24 X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Tue, 15 Nov 2016 16:38:58 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:38:58 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "id": 496542, "key": { "kty": "RSA", "n": "zJTQqZm6UOn6at13g2A4sVHbeBKWmDar0KXN0Aoj--RPEtwAtrnCa6EZ3Mpk3E3eQklIN1ck83lLQCyZ2BTTyFGk10p4QkjxEFdpFK3S0Godl7hqzEE9wRUBGhVYZNwiE_sMy3JDAYIc7KpwpZmJithF4dpNKnZr79ArxCkc2twQJqCDijsHl1biB3dDcZHQR86X99M7xxdu2aY_ixZmb14pdxgEDOmhGCGjYAhkBseaMMJs8gte6PEeqbRZEvxnRwNfJDLLGhQGmOUYpjPoTg3mvvZNE2lW_t2Zyl8I3Dse9LH2JVy5q01CbISrObE2HCrRWX93I9KiOfetfWDUPeakqzEHV5bEs9tkK-eXEA984Syu2hV9ZY7A-iNtkC_iRvp4_EkPQzYGqRknhAbQ0OUbc5YFgE2_dLtxMF6wTQ3HQ6ShAywjvWWGgwUid0Oa4X9oojjRy5srJW0FeA4cbO8Ju0mBFM_M6s5Ov7_ktaW9kB-y9fRyzm8CL9a3V8c_9bts2j7TDcb3DWFrl2xDYU9-2vKU0ymZP6XUa8fS0y2R1pXMmcCovkuu9aIIGcJgfELBjUlydH1Nq_co4yhmtPyaBJdwWb5MDRF22KpDtyq06o_P9lnxF0-G4fIKETCf4UCHcDHU5ajb-rUFMUU5bN6bSL2mugWUI8xG_UdnbKk", "e": "AQAB" }, "contact": [ "mailto:dev@substrakt.com" ], "initialIp": "213.123.191.198", "createdAt": "2016-11-15T16:38:57.894212463Z", "Status": "" } http_version: recorded_at: Tue, 15 Nov 2016 16:38:58 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/reg/496542 body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiQVE2NHBPNEdoM1NwanRUbl96aHFyUWRSYjVER09ubVRQcGRVX1RiS2UyNCIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ6SlRRcVptNlVPbjZhdDEzZzJBNHNWSGJlQktXbURhcjBLWE4wQW9qLS1SUEV0d0F0cm5DYTZFWjNNcGszRTNlUWtsSU4xY2s4M2xMUUN5WjJCVFR5RkdrMTBwNFFranhFRmRwRkszUzBHb2RsN2hxekVFOXdSVUJHaFZZWk53aUVfc015M0pEQVlJYzdLcHdwWm1KaXRoRjRkcE5LblpyNzlBcnhDa2MydHdRSnFDRGlqc0hsMWJpQjNkRGNaSFFSODZYOTlNN3h4ZHUyYVlfaXhabWIxNHBkeGdFRE9taEdDR2pZQWhrQnNlYU1NSnM4Z3RlNlBFZXFiUlpFdnhuUndOZkpETExHaFFHbU9VWXBqUG9UZzNtdnZaTkUybFdfdDJaeWw4STNEc2U5TEgySlZ5NXEwMUNiSVNyT2JFMkhDclJXWDkzSTlLaU9mZXRmV0RVUGVha3F6RUhWNWJFczl0a0stZVhFQTk4NFN5dTJoVjlaWTdBLWlOdGtDX2lSdnA0X0VrUFF6WUdxUmtuaEFiUTBPVWJjNVlGZ0UyX2RMdHhNRjZ3VFEzSFE2U2hBeXdqdldXR2d3VWlkME9hNFg5b29qalJ5NXNySlcwRmVBNGNiTzhKdTBtQkZNX002czVPdjdfa3RhVzlrQi15OWZSeXptOENMOWEzVjhjXzlidHMyajdURGNiM0RXRnJsMnhEWVU5LTJ2S1UweW1aUDZYVWE4ZlMweTJSMXBYTW1jQ292a3V1OWFJSUdjSmdmRUxCalVseWRIMU5xX2NvNHlobXRQeWFCSmR3V2I1TURSRjIyS3BEdHlxMDZvX1A5bG54RjAtRzRmSUtFVENmNFVDSGNESFU1YWpiLXJVRk1VVTViTjZiU0wybXVnV1VJOHhHX1VkbmJLayJ9fQ","payload":"eyJyZXNvdXJjZSI6InJlZyIsImFncmVlbWVudCI6Imh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL2RvY3VtZW50cy9MRS1TQS12MS4xLjEtQXVndXN0LTEtMjAxNi5wZGYifQ","signature":"BI2K0pwdwr6oDvK72wyb7PC0OikTW2YULmGDb41nznoBXvn9nT7d9HKwUo3PMLiep0YFpgBkbbd8WU2l_wunu6U0TGRNwJBdr0bmAryzKWfqhhM1ds7TGAY2qzZvqMquFPcSmC7ItX3SY09J9Q2d9PfIL4sWM7QdzHRFxTpfZGnfbtMR-9doB6-8JDGCI7WdVhBqZeX66jue13DbGv0ezDu-iLeEbDfbB-N5boyytMLEqxInM0qTwDxS4b5AJ6QORSRHcWNusMpeF87rtupUc7qzI12p9KFdpIsC_c7t_46SgBoTD43aQ6iki-_JgLcSyfhTLQstqVeVJpgfVVkBy0p3vApHWzVq2Rf4xvri1mCAwbW-dLHj7WYRtqMC-gDbS3TLxLS0R5CwrX8Ns_GyzAc8PmzGr40kJ_GfFNSvcV8o87T0QZRJbLdNmjVo_r4tCdzRgGgfyuRkKPExuio1T924eLGqDhAA64M6orYIoBNcjSwBVlZJL2A0d7gJRrCz_XIufyYFFtCZJig7V1oWfUBjRsbva1Lhdf3iH8p7yjsct5Z3lAoCMNRt84lArxWVq2l7aI09U2_KRnTAPLNx6vkFAHHYcDHcQV7OhkWPabRI0h3RGgj4QOwhufUGEjLvufX7IQRRQg2mTDOLX3zijzhNEszYjzy_xX_sDVc6K88"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 202 message: Accepted headers: Server: - nginx Content-Type: - application/json Content-Length: - '987' Boulder-Request-Id: - ucDX7pSIFYFNhE3z4zr4vD6RoYVKb8ZtEvUzpnbuFMU Boulder-Requester: - '496542' Link: - ;rel="next" - ;rel="terms-of-service" Replay-Nonce: - 8Nd9mytJEbVw-DENcvUHrt9dmbw6TNbSsNt2K7O1dPc Expires: - Tue, 15 Nov 2016 16:38:58 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:38:58 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "id": 496542, "key": { "kty": "RSA", "n": "zJTQqZm6UOn6at13g2A4sVHbeBKWmDar0KXN0Aoj--RPEtwAtrnCa6EZ3Mpk3E3eQklIN1ck83lLQCyZ2BTTyFGk10p4QkjxEFdpFK3S0Godl7hqzEE9wRUBGhVYZNwiE_sMy3JDAYIc7KpwpZmJithF4dpNKnZr79ArxCkc2twQJqCDijsHl1biB3dDcZHQR86X99M7xxdu2aY_ixZmb14pdxgEDOmhGCGjYAhkBseaMMJs8gte6PEeqbRZEvxnRwNfJDLLGhQGmOUYpjPoTg3mvvZNE2lW_t2Zyl8I3Dse9LH2JVy5q01CbISrObE2HCrRWX93I9KiOfetfWDUPeakqzEHV5bEs9tkK-eXEA984Syu2hV9ZY7A-iNtkC_iRvp4_EkPQzYGqRknhAbQ0OUbc5YFgE2_dLtxMF6wTQ3HQ6ShAywjvWWGgwUid0Oa4X9oojjRy5srJW0FeA4cbO8Ju0mBFM_M6s5Ov7_ktaW9kB-y9fRyzm8CL9a3V8c_9bts2j7TDcb3DWFrl2xDYU9-2vKU0ymZP6XUa8fS0y2R1pXMmcCovkuu9aIIGcJgfELBjUlydH1Nq_co4yhmtPyaBJdwWb5MDRF22KpDtyq06o_P9lnxF0-G4fIKETCf4UCHcDHU5ajb-rUFMUU5bN6bSL2mugWUI8xG_UdnbKk", "e": "AQAB" }, "contact": [ "mailto:dev@substrakt.com" ], "agreement": "https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf", "initialIp": "213.123.191.198", "createdAt": "2016-11-15T16:38:57Z", "Status": "" } http_version: recorded_at: Tue, 15 Nov 2016 16:38:58 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-authz body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiOE5kOW15dEpFYlZ3LURFTmN2VUhydDlkbWJ3NlROYlNzTnQySzdPMWRQYyIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ6SlRRcVptNlVPbjZhdDEzZzJBNHNWSGJlQktXbURhcjBLWE4wQW9qLS1SUEV0d0F0cm5DYTZFWjNNcGszRTNlUWtsSU4xY2s4M2xMUUN5WjJCVFR5RkdrMTBwNFFranhFRmRwRkszUzBHb2RsN2hxekVFOXdSVUJHaFZZWk53aUVfc015M0pEQVlJYzdLcHdwWm1KaXRoRjRkcE5LblpyNzlBcnhDa2MydHdRSnFDRGlqc0hsMWJpQjNkRGNaSFFSODZYOTlNN3h4ZHUyYVlfaXhabWIxNHBkeGdFRE9taEdDR2pZQWhrQnNlYU1NSnM4Z3RlNlBFZXFiUlpFdnhuUndOZkpETExHaFFHbU9VWXBqUG9UZzNtdnZaTkUybFdfdDJaeWw4STNEc2U5TEgySlZ5NXEwMUNiSVNyT2JFMkhDclJXWDkzSTlLaU9mZXRmV0RVUGVha3F6RUhWNWJFczl0a0stZVhFQTk4NFN5dTJoVjlaWTdBLWlOdGtDX2lSdnA0X0VrUFF6WUdxUmtuaEFiUTBPVWJjNVlGZ0UyX2RMdHhNRjZ3VFEzSFE2U2hBeXdqdldXR2d3VWlkME9hNFg5b29qalJ5NXNySlcwRmVBNGNiTzhKdTBtQkZNX002czVPdjdfa3RhVzlrQi15OWZSeXptOENMOWEzVjhjXzlidHMyajdURGNiM0RXRnJsMnhEWVU5LTJ2S1UweW1aUDZYVWE4ZlMweTJSMXBYTW1jQ292a3V1OWFJSUdjSmdmRUxCalVseWRIMU5xX2NvNHlobXRQeWFCSmR3V2I1TURSRjIyS3BEdHlxMDZvX1A5bG54RjAtRzRmSUtFVENmNFVDSGNESFU1YWpiLXJVRk1VVTViTjZiU0wybXVnV1VJOHhHX1VkbmJLayJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1hdXRoeiIsImlkZW50aWZpZXIiOnsidHlwZSI6ImRucyIsInZhbHVlIjoid3d3LnN1YnN0cmFrdC5jb20ifX0","signature":"w2VGPugYvwbGEUL-TvNAEt4njh2cUzAZ68OpO_NQmmdMjiUk4kAjJhMCS0xRlcKoF8hHeWl3LHwIQVXkes4XlfW7Nz6XS5YYg8k5uiRDseUNcD6taQ0RywU6kcYJZrg4C9n384S7gmUJ4v8ZbTbWMhH3qxPm0LEpk1p5anh3_FXrNOHbkQW9M3gFjjbwFtxVzBA6l0xoBKFG55vslKU1wBjmUQ8ApouHLHkWAgD0L52myyEsLGftOq7udvOSsH7hSofXcZgHrRPUEGMdjYCllkd0dw6ujB4EVt1hOESS0zkVb8h_lu-saRrN1DSRq9-dm7ERfeBEef-1LH7E2cC1Rou3Cfg58-Tsu3V_vPg52NHOhTB0aDKjDjd12L-c--3qgZ2ddmLUZUNMWYq8jRvI8JTXClXbcFSRRiyryhjkrQP6gSk-M9s4-Mc4HwYPoMmGmwInJqZg7DuZtgg9uDGtyOEyFviL2OFstC0s8ugdEETkXzhAf_wp-2p1BWHxdUItw3S5bXZq6SfFZuwIjAI4byfBTEKiAfwjIRwXIlOTGYL0BdfgCxT9CCLODnR5BM_I6GY8GSyfbtum7sJYGf512LK2Ly78ZJy_jHemIFcuia0bLVoHRcZ4OHzQV928lATstTSTsuLjnG3-Y8K10bVB142NxmMstAYdXTFyBelkzJQ"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '1011' Boulder-Request-Id: - Zo0Xdn9judeQ-Yb43yHLqo5_Ug3LHAvQg_V-byhVP7E Boulder-Requester: - '496542' Link: - ;rel="next" Location: - https://acme-staging.api.letsencrypt.org/acme/authz/M7mkqGIW2pLYux9dIFKoLhW4z-FyiiHQw4G6tu3DD24 Replay-Nonce: - YNyiKO_eJLrU_bXDfM16niCzK8i8n_thMNnJK14xJPA X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Tue, 15 Nov 2016 16:38:58 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:38:58 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "identifier": { "type": "dns", "value": "www.substrakt.com" }, "status": "pending", "expires": "2016-11-22T16:38:58.763056394Z", "challenges": [ { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/M7mkqGIW2pLYux9dIFKoLhW4z-FyiiHQw4G6tu3DD24/16908083", "token": "Q19sSJNmPxDUuevmFBYzcodxfOYuWDFNJoioW38Hbig" }, { "type": "tls-sni-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/M7mkqGIW2pLYux9dIFKoLhW4z-FyiiHQw4G6tu3DD24/16908084", "token": "o3edxEnPFeqzEFDDa09QNUb6NiMNq2Srd8d3CAPkmxE" }, { "type": "http-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/M7mkqGIW2pLYux9dIFKoLhW4z-FyiiHQw4G6tu3DD24/16908085", "token": "lpTpis4hFOBszlEIzs6PC-mNjNnLML1An9-Qx5LZrzY" } ], "combinations": [ [ 0 ], [ 2 ], [ 1 ] ] } http_version: recorded_at: Tue, 15 Nov 2016 16:38:58 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-authz body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiWU55aUtPX2VKTHJVX2JYRGZNMTZuaUN6SzhpOG5fdGhNTm5KSzE0eEpQQSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ6SlRRcVptNlVPbjZhdDEzZzJBNHNWSGJlQktXbURhcjBLWE4wQW9qLS1SUEV0d0F0cm5DYTZFWjNNcGszRTNlUWtsSU4xY2s4M2xMUUN5WjJCVFR5RkdrMTBwNFFranhFRmRwRkszUzBHb2RsN2hxekVFOXdSVUJHaFZZWk53aUVfc015M0pEQVlJYzdLcHdwWm1KaXRoRjRkcE5LblpyNzlBcnhDa2MydHdRSnFDRGlqc0hsMWJpQjNkRGNaSFFSODZYOTlNN3h4ZHUyYVlfaXhabWIxNHBkeGdFRE9taEdDR2pZQWhrQnNlYU1NSnM4Z3RlNlBFZXFiUlpFdnhuUndOZkpETExHaFFHbU9VWXBqUG9UZzNtdnZaTkUybFdfdDJaeWw4STNEc2U5TEgySlZ5NXEwMUNiSVNyT2JFMkhDclJXWDkzSTlLaU9mZXRmV0RVUGVha3F6RUhWNWJFczl0a0stZVhFQTk4NFN5dTJoVjlaWTdBLWlOdGtDX2lSdnA0X0VrUFF6WUdxUmtuaEFiUTBPVWJjNVlGZ0UyX2RMdHhNRjZ3VFEzSFE2U2hBeXdqdldXR2d3VWlkME9hNFg5b29qalJ5NXNySlcwRmVBNGNiTzhKdTBtQkZNX002czVPdjdfa3RhVzlrQi15OWZSeXptOENMOWEzVjhjXzlidHMyajdURGNiM0RXRnJsMnhEWVU5LTJ2S1UweW1aUDZYVWE4ZlMweTJSMXBYTW1jQ292a3V1OWFJSUdjSmdmRUxCalVseWRIMU5xX2NvNHlobXRQeWFCSmR3V2I1TURSRjIyS3BEdHlxMDZvX1A5bG54RjAtRzRmSUtFVENmNFVDSGNESFU1YWpiLXJVRk1VVTViTjZiU0wybXVnV1VJOHhHX1VkbmJLayJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1hdXRoeiIsImlkZW50aWZpZXIiOnsidHlwZSI6ImRucyIsInZhbHVlIjoic3Vic3RyYWt0LmNvbSJ9fQ","signature":"LIleWBvRo35X0Gl3Y2jyyjEsGvDSFSCn33uWI3GjJ9t5Xqfs2PCSqJfY5XZ9R_NMBC-vKjbryyGPKqn_2vi4MURH636q8WgzR9d7IqFcGL3JeUKK7_doub3ilXSPy_vNnUkbWOa5SgPzaOAhzT1WB_J9QJ_a8ZQJg8dScr85L44g-r7aEd4AnVVcJ2VmN3Npuog5NIBT_08tZkgB0pGvNADgbfbZUNRGYsBpZBwst_CBLnc7smFf0L1S7nrRCQJaTrguP7uL5Q2J1DkteT18GjRVb1gDI7IlzkgF-rieZ6iqjw6f76dFazs6rMqu2oao3VsYMcsCGd4CJrzmk1qh3mcLVxXkbqRXlF3B_XenAD_eQtinZC7EQUMgRO13WN289Hu2cCm-YVfTFvB6hLR3vuHAwrqPb0JItvwKIDmCvVqtdDWbF74lI39-mAqB84XqBwc2VtVGBjiMZG7sxeuPJzmWZYNglKcwjp4B56xed6NxhvGUmzyr6ibxPChENMFIxubjFEoeifmQRTKDVdeyYLiCShHZO0ga1s1Yd6VMo6dcsXvH7i2JeW8_kPuypXQjtwgpPnH4NJcihQ-YVUkjTrBH0rs58jGLHtwjiWA1Nikm3X6ClmRPNvHtrm96YNNbuqgdjKN9YV9U7Sl9cGF1ikrnbDUt-NLko98HWxirKfg"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 201 message: Created headers: Server: - nginx Content-Type: - application/json Content-Length: - '1007' Boulder-Request-Id: - xrNhYfTUF28TSilYCpAJPrzmC1KuMJv5qAykGG0lgEM Boulder-Requester: - '496542' Link: - ;rel="next" Location: - https://acme-staging.api.letsencrypt.org/acme/authz/dhKwJw4tjEjBlwzSrtuKsxvhrl9yv_N_DFATqvBCenU Replay-Nonce: - mgQ3tkBa-SUsDlrqc0hKQON2b2C09TglBpBauDQ6_t8 X-Frame-Options: - DENY Strict-Transport-Security: - max-age=604800 Expires: - Tue, 15 Nov 2016 16:38:59 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:38:59 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "identifier": { "type": "dns", "value": "substrakt.com" }, "status": "pending", "expires": "2016-11-22T16:38:59.217344873Z", "challenges": [ { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/dhKwJw4tjEjBlwzSrtuKsxvhrl9yv_N_DFATqvBCenU/16908086", "token": "Rx4hlKgq5K-WGLbt6TYIN8fp1BFzlXUxmel3doJMqRE" }, { "type": "tls-sni-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/dhKwJw4tjEjBlwzSrtuKsxvhrl9yv_N_DFATqvBCenU/16908087", "token": "av4rO_zvSt3ZBcQ3GsqAR1yKCwqfoM9J5wWiD-rET0Y" }, { "type": "http-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/dhKwJw4tjEjBlwzSrtuKsxvhrl9yv_N_DFATqvBCenU/16908088", "token": "Z3hNBXSik1XGRI4ktYQ_RhUdPbmmyP1KnCzUNqFstWc" } ], "combinations": [ [ 0 ], [ 1 ], [ 2 ] ] } http_version: recorded_at: Tue, 15 Nov 2016 16:38:59 GMT - request: method: post uri: https://www.cloudflare.com/api_json.html body: encoding: US-ASCII string: a=rec_new&z=substrakt.com&type=TXT&name=_acme-challenge.www.substrakt.com&content=YsCY3_KMS-bLLGXUpTNxTTuBTCfz8DcXKCjz6K-Ou9A&ttl=1&service_mode=1&tkn=4dd49e8832f9df199f3fd412069b4d014d38c&u=max%40substrakt.com headers: Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" User-Agent: - Ruby Content-Type: - application/x-www-form-urlencoded response: status: code: 200 message: OK headers: Date: - Tue, 15 Nov 2016 16:39:00 GMT Content-Type: - application/json Transfer-Encoding: - chunked Connection: - keep-alive Set-Cookie: - CF_UALE=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0 - __cfduid=d38ce06f3b0aa139a06e4a0782ac2142c1479227939; expires=Wed, 15-Nov-17 16:38:59 GMT; path=/; domain=.cloudflare.com; HttpOnly - vses2=mu5ktic5fqm0srqccn0engbm17; path=/; domain=www.cloudflare.com; secure; HttpOnly Expires: - Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN Content-Security-Policy: - default-src 'self' https://*; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://* data:; img-src 'self' https://* data:; style-src 'self' 'unsafe-inline' https://*; font-src 'self' https://* data:; frame-src https://*; connect-src 'self' https://* wss://*.zopim.com data:; X-Xss-Protection: - 1; mode=block Server: - cloudflare-nginx Cf-Ray: - 302422fde8f63464-LHR body: encoding: ASCII-8BIT string: '{"request":{"act":"rec_new"},"response":{"rec":{"obj":{"rec_id":"658607371","rec_hash":"46aa1c1ef74ed72b22b8a27247ba87be","zone_name":"substrakt.com","name":"_acme-challenge.www.substrakt.com","display_name":"_acme-challenge.www","type":"TXT","prio":null,"content":"YsCY3_KMS-bLLGXUpTNxTTuBTCfz8DcXKCjz6K-Ou9A","display_content":"YsCY3_KMS-bLLGXUpTNxTTuBTCfz8DcXKCjz6K-Ou9A","ttl":"1","ttl_ceil":86400,"ssl_id":"5084311","ssl_status":"V","ssl_expires_on":null,"auto_ttl":1,"service_mode":"0","props":{"proxiable":0,"cloud_on":0,"cf_open":1,"vanity_lock":0,"ssl":1,"expired_ssl":0,"expiring_ssl":0,"pending_ssl":0}}}},"result":"success","msg":null}' http_version: recorded_at: Tue, 15 Nov 2016 16:39:00 GMT - request: method: post uri: https://www.cloudflare.com/api_json.html body: encoding: US-ASCII string: a=rec_new&z=substrakt.com&type=TXT&name=_acme-challenge.substrakt.com&content=qZ1rY_uXJd_2Yp_fSZOvEWe7_Fyn-XhNICGRwb33hWE&ttl=1&service_mode=1&tkn=4dd49e8832f9df199f3fd412069b4d014d38c&u=max%40substrakt.com headers: Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" User-Agent: - Ruby Content-Type: - application/x-www-form-urlencoded response: status: code: 200 message: OK headers: Date: - Tue, 15 Nov 2016 16:39:00 GMT Content-Type: - application/json Transfer-Encoding: - chunked Connection: - keep-alive Set-Cookie: - CF_UALE=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0 - __cfduid=db23245913b9d1b63cd5d2e63e60a6d531479227940; expires=Wed, 15-Nov-17 16:39:00 GMT; path=/; domain=.cloudflare.com; HttpOnly - vses2=1tm2q7juntq9al4k3sfjkjsmr3; path=/; domain=www.cloudflare.com; secure; HttpOnly Expires: - Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: - no-cache Strict-Transport-Security: - max-age=31536000 X-Content-Type-Options: - nosniff X-Frame-Options: - SAMEORIGIN Content-Security-Policy: - default-src 'self' https://*; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://* data:; img-src 'self' https://* data:; style-src 'self' 'unsafe-inline' https://*; font-src 'self' https://* data:; frame-src https://*; connect-src 'self' https://* wss://*.zopim.com data:; X-Xss-Protection: - 1; mode=block Server: - cloudflare-nginx Cf-Ray: - 302423026f9f35e4-LHR body: encoding: ASCII-8BIT string: '{"request":{"act":"rec_new"},"response":{"rec":{"obj":{"rec_id":"658607377","rec_hash":"73efcb5b73a8f3fd691c0f7ba3a1d846","zone_name":"substrakt.com","name":"_acme-challenge.substrakt.com","display_name":"_acme-challenge","type":"TXT","prio":null,"content":"qZ1rY_uXJd_2Yp_fSZOvEWe7_Fyn-XhNICGRwb33hWE","display_content":"qZ1rY_uXJd_2Yp_fSZOvEWe7_Fyn-XhNICGRwb33hWE","ttl":"1","ttl_ceil":86400,"ssl_id":"5084311","ssl_status":"V","ssl_expires_on":null,"auto_ttl":1,"service_mode":"0","props":{"proxiable":0,"cloud_on":0,"cf_open":1,"vanity_lock":0,"ssl":1,"expired_ssl":0,"expiring_ssl":0,"pending_ssl":0}}}},"result":"success","msg":null}' http_version: recorded_at: Tue, 15 Nov 2016 16:39:00 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/challenge/M7mkqGIW2pLYux9dIFKoLhW4z-FyiiHQw4G6tu3DD24/16908083 body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoibWdRM3RrQmEtU1VzRGxycWMwaEtRT04yYjJDMDlUZ2xCcEJhdURRNl90OCIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ6SlRRcVptNlVPbjZhdDEzZzJBNHNWSGJlQktXbURhcjBLWE4wQW9qLS1SUEV0d0F0cm5DYTZFWjNNcGszRTNlUWtsSU4xY2s4M2xMUUN5WjJCVFR5RkdrMTBwNFFranhFRmRwRkszUzBHb2RsN2hxekVFOXdSVUJHaFZZWk53aUVfc015M0pEQVlJYzdLcHdwWm1KaXRoRjRkcE5LblpyNzlBcnhDa2MydHdRSnFDRGlqc0hsMWJpQjNkRGNaSFFSODZYOTlNN3h4ZHUyYVlfaXhabWIxNHBkeGdFRE9taEdDR2pZQWhrQnNlYU1NSnM4Z3RlNlBFZXFiUlpFdnhuUndOZkpETExHaFFHbU9VWXBqUG9UZzNtdnZaTkUybFdfdDJaeWw4STNEc2U5TEgySlZ5NXEwMUNiSVNyT2JFMkhDclJXWDkzSTlLaU9mZXRmV0RVUGVha3F6RUhWNWJFczl0a0stZVhFQTk4NFN5dTJoVjlaWTdBLWlOdGtDX2lSdnA0X0VrUFF6WUdxUmtuaEFiUTBPVWJjNVlGZ0UyX2RMdHhNRjZ3VFEzSFE2U2hBeXdqdldXR2d3VWlkME9hNFg5b29qalJ5NXNySlcwRmVBNGNiTzhKdTBtQkZNX002czVPdjdfa3RhVzlrQi15OWZSeXptOENMOWEzVjhjXzlidHMyajdURGNiM0RXRnJsMnhEWVU5LTJ2S1UweW1aUDZYVWE4ZlMweTJSMXBYTW1jQ292a3V1OWFJSUdjSmdmRUxCalVseWRIMU5xX2NvNHlobXRQeWFCSmR3V2I1TURSRjIyS3BEdHlxMDZvX1A5bG54RjAtRzRmSUtFVENmNFVDSGNESFU1YWpiLXJVRk1VVTViTjZiU0wybXVnV1VJOHhHX1VkbmJLayJ9fQ","payload":"eyJyZXNvdXJjZSI6ImNoYWxsZW5nZSIsInR5cGUiOiJkbnMtMDEiLCJrZXlBdXRob3JpemF0aW9uIjoiUTE5c1NKTm1QeERVdWV2bUZCWXpjb2R4Zk9ZdVdERk5Kb2lvVzM4SGJpZy5wSlF0U1NFQzItRUxlNWdmb2txYnVVcU8xb3FDYWRRZmc1SmQ5bW9BVDV3In0","signature":"TqJ9l2N5fVlC1I4lSNLciDoiAob4CGqyQfD0vjXV4yT-SX394V1IM5cvRzfxujyTL3S7sHEjankN0-bbmyvK6CuMooH3oUfxY_JMMbqjYivNyJ7zB4gSeH0F-dPVceLU42N3p5NCkeBq4PcVowVlN4GK0gSHh38TChAsM6kv4gn-HZ53IQpj-ayIyjHNRQXdZVafVNzl52RP_jzMtm_8UnJk0d16S2suXMQOeeBEtIBDBadTc_1swORBQ2ckBuvMnLPCAnAVb8dSTqjH_H3O_faViLSMUne15OoCn-WFBTWwyf3f3oZ8AEIJWOtflrHqkpYFJhrNKUlnqxJjYnh_UsGd6MY8SFdPyQ7BwLTlQN4sokRhX96Eejgmy7uUoPUM_Cr-3eukjWArTWrUgsMsg0NVeaOSeoPl6GtyqKnOvIZLu3XD2oykkAUcoRXCytxdZkU66wyE-2DbXdv1RXEE3N3DN9YC81sdghQfjlV0VdxgjsSSCD_9NS68JliZnHfwVjIchLlgB3IfAPGSHKz4nGz7NB1M0PGNX6MJjxdean47Fz2kgBEBmAKQtMi37aASeNu0mGGtWmMEzfHkgUFKEQdp6BQshzYeDjc-sL2HCUWaZa64ctjgdYVKzZ1TfZzzM1b_2dDTaAY9v46avS4V84dxbcG_4B0jaaDcDtcnpPA"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 202 message: Accepted headers: Server: - nginx Content-Type: - application/json Content-Length: - '337' Boulder-Request-Id: - ffxp1gX-CwiyxW3n66SNje1ycUYXrC-ccCRy8y_gUMs Boulder-Requester: - '496542' Link: - ;rel="up" Location: - https://acme-staging.api.letsencrypt.org/acme/challenge/M7mkqGIW2pLYux9dIFKoLhW4z-FyiiHQw4G6tu3DD24/16908083 Replay-Nonce: - 0gG1xYJBXJ8AzOxQGzxHui3V33HGUJD7eF2GFZFa-g8 Expires: - Tue, 15 Nov 2016 16:39:01 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:39:01 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/M7mkqGIW2pLYux9dIFKoLhW4z-FyiiHQw4G6tu3DD24/16908083", "token": "Q19sSJNmPxDUuevmFBYzcodxfOYuWDFNJoioW38Hbig", "keyAuthorization": "Q19sSJNmPxDUuevmFBYzcodxfOYuWDFNJoioW38Hbig.pJQtSSEC2-ELe5gfokqbuUqO1oqCadQfg5Jd9moAT5w" } http_version: recorded_at: Tue, 15 Nov 2016 16:39:01 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/challenge/dhKwJw4tjEjBlwzSrtuKsxvhrl9yv_N_DFATqvBCenU/16908086 body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiMGdHMXhZSkJYSjhBek94UUd6eEh1aTNWMzNIR1VKRDdlRjJHRlpGYS1nOCIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ6SlRRcVptNlVPbjZhdDEzZzJBNHNWSGJlQktXbURhcjBLWE4wQW9qLS1SUEV0d0F0cm5DYTZFWjNNcGszRTNlUWtsSU4xY2s4M2xMUUN5WjJCVFR5RkdrMTBwNFFranhFRmRwRkszUzBHb2RsN2hxekVFOXdSVUJHaFZZWk53aUVfc015M0pEQVlJYzdLcHdwWm1KaXRoRjRkcE5LblpyNzlBcnhDa2MydHdRSnFDRGlqc0hsMWJpQjNkRGNaSFFSODZYOTlNN3h4ZHUyYVlfaXhabWIxNHBkeGdFRE9taEdDR2pZQWhrQnNlYU1NSnM4Z3RlNlBFZXFiUlpFdnhuUndOZkpETExHaFFHbU9VWXBqUG9UZzNtdnZaTkUybFdfdDJaeWw4STNEc2U5TEgySlZ5NXEwMUNiSVNyT2JFMkhDclJXWDkzSTlLaU9mZXRmV0RVUGVha3F6RUhWNWJFczl0a0stZVhFQTk4NFN5dTJoVjlaWTdBLWlOdGtDX2lSdnA0X0VrUFF6WUdxUmtuaEFiUTBPVWJjNVlGZ0UyX2RMdHhNRjZ3VFEzSFE2U2hBeXdqdldXR2d3VWlkME9hNFg5b29qalJ5NXNySlcwRmVBNGNiTzhKdTBtQkZNX002czVPdjdfa3RhVzlrQi15OWZSeXptOENMOWEzVjhjXzlidHMyajdURGNiM0RXRnJsMnhEWVU5LTJ2S1UweW1aUDZYVWE4ZlMweTJSMXBYTW1jQ292a3V1OWFJSUdjSmdmRUxCalVseWRIMU5xX2NvNHlobXRQeWFCSmR3V2I1TURSRjIyS3BEdHlxMDZvX1A5bG54RjAtRzRmSUtFVENmNFVDSGNESFU1YWpiLXJVRk1VVTViTjZiU0wybXVnV1VJOHhHX1VkbmJLayJ9fQ","payload":"eyJyZXNvdXJjZSI6ImNoYWxsZW5nZSIsInR5cGUiOiJkbnMtMDEiLCJrZXlBdXRob3JpemF0aW9uIjoiUng0aGxLZ3E1Sy1XR0xidDZUWUlOOGZwMUJGemxYVXhtZWwzZG9KTXFSRS5wSlF0U1NFQzItRUxlNWdmb2txYnVVcU8xb3FDYWRRZmc1SmQ5bW9BVDV3In0","signature":"fW91n6wXvK80q3fkUdCLNjBZEdIaohyWxuk4DPrKnABzD5i0sXSUv452jTtsL8R-IIhWWrMC2i2kPBySQrVEOcbeeMp0CB-sV_o8W8AVYewfE7OzV-CUBcZTx9cAYIhmeQRSSwvuxcgCh9NV6evyURNvftny1cwD7DYYh7xtFXX3X4mt0_Iba3ppcBFxYemIpyZ4RGdwmbv5L62stRp_kLowbD4gOA7bPzqAtg09DRN369iYaISCdG_QpyktpqfOcVXN3UteVSFUwkk4qUP5o_qKd45JAgVvNOiPbNzdc7Pvmc4dFhT5kDVaJsotKb04Y_Ipge9MxccDssSj_uJ37GovuSxGlUtoaL82vuGel0zW187f-j8q31JVBwaNaoQHBAh3248tJb7Kg2Zvtt56A6rHVUWJSTgVEOV8XLpCK0W0e9Vehg469UlwEcHP8jTu3US5d7coohr54H0XsYzlfmwS5udYRDKYpBO5ljBWdk-xslJS6pP007mUOgTB1H0eTpylJelpkGdiABaDzNMNNtOpZw3Psh06fy5LkslkDSTgiRJ5WTedfNcvtdgIoCLLNrhKglaOa8aFQ2vwOt1oXE8PMAW5vAPGFBU5P7fm1LocUOqlaQ9QDP8UgbXZGw4qROE-FrtWwvmwOB72nMuiCKAq19DQ596c6eBN1VYBPw4"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 202 message: Accepted headers: Server: - nginx Content-Type: - application/json Content-Length: - '337' Boulder-Request-Id: - H-MI4OgVl_ZstNmI2T4mbad-Vkwa1ihotSZQP4K9fwM Boulder-Requester: - '496542' Link: - ;rel="up" Location: - https://acme-staging.api.letsencrypt.org/acme/challenge/dhKwJw4tjEjBlwzSrtuKsxvhrl9yv_N_DFATqvBCenU/16908086 Replay-Nonce: - 5I7Kw8eZFbH0QgZmLUIMMyDsqm3Sl4CE6pqpVkNsYOY Expires: - Tue, 15 Nov 2016 16:39:01 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:39:01 GMT Connection: - keep-alive body: encoding: UTF-8 string: |- { "type": "dns-01", "status": "pending", "uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/dhKwJw4tjEjBlwzSrtuKsxvhrl9yv_N_DFATqvBCenU/16908086", "token": "Rx4hlKgq5K-WGLbt6TYIN8fp1BFzlXUxmel3doJMqRE", "keyAuthorization": "Rx4hlKgq5K-WGLbt6TYIN8fp1BFzlXUxmel3doJMqRE.pJQtSSEC2-ELe5gfokqbuUqO1oqCadQfg5Jd9moAT5w" } http_version: recorded_at: Tue, 15 Nov 2016 16:39:01 GMT - request: method: post uri: https://acme-staging.api.letsencrypt.org/acme/new-cert body: encoding: UTF-8 string: '{"protected":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIm5vbmNlIjoiNUk3S3c4ZVpGYkgwUWdabUxVSU1NeURzcW0zU2w0Q0U2cHFwVmtOc1lPWSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsIm4iOiJ6SlRRcVptNlVPbjZhdDEzZzJBNHNWSGJlQktXbURhcjBLWE4wQW9qLS1SUEV0d0F0cm5DYTZFWjNNcGszRTNlUWtsSU4xY2s4M2xMUUN5WjJCVFR5RkdrMTBwNFFranhFRmRwRkszUzBHb2RsN2hxekVFOXdSVUJHaFZZWk53aUVfc015M0pEQVlJYzdLcHdwWm1KaXRoRjRkcE5LblpyNzlBcnhDa2MydHdRSnFDRGlqc0hsMWJpQjNkRGNaSFFSODZYOTlNN3h4ZHUyYVlfaXhabWIxNHBkeGdFRE9taEdDR2pZQWhrQnNlYU1NSnM4Z3RlNlBFZXFiUlpFdnhuUndOZkpETExHaFFHbU9VWXBqUG9UZzNtdnZaTkUybFdfdDJaeWw4STNEc2U5TEgySlZ5NXEwMUNiSVNyT2JFMkhDclJXWDkzSTlLaU9mZXRmV0RVUGVha3F6RUhWNWJFczl0a0stZVhFQTk4NFN5dTJoVjlaWTdBLWlOdGtDX2lSdnA0X0VrUFF6WUdxUmtuaEFiUTBPVWJjNVlGZ0UyX2RMdHhNRjZ3VFEzSFE2U2hBeXdqdldXR2d3VWlkME9hNFg5b29qalJ5NXNySlcwRmVBNGNiTzhKdTBtQkZNX002czVPdjdfa3RhVzlrQi15OWZSeXptOENMOWEzVjhjXzlidHMyajdURGNiM0RXRnJsMnhEWVU5LTJ2S1UweW1aUDZYVWE4ZlMweTJSMXBYTW1jQ292a3V1OWFJSUdjSmdmRUxCalVseWRIMU5xX2NvNHlobXRQeWFCSmR3V2I1TURSRjIyS3BEdHlxMDZvX1A5bG54RjAtRzRmSUtFVENmNFVDSGNESFU1YWpiLXJVRk1VVTViTjZiU0wybXVnV1VJOHhHX1VkbmJLayJ9fQ","payload":"eyJyZXNvdXJjZSI6Im5ldy1jZXJ0IiwiY3NyIjoiTUlJQ256Q0NBWWNDQVFJd0hERWFNQmdHQTFVRUF3d1JkM2QzTG5OMVluTjBjbUZyZEM1amIyMHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFETXc4bFkxa0g5VnBLUk9odkVLUGZVSnowT1Q4NmtvWWE0YWNoUmh1ZGs5ZEJUU3JyVS1XMkd2MllOVkJKbHp0UXdQc2IyemhwcVJwSGtRWG02dzB0ODI2RktvNHg0T2N3Umo1eGpaWGQ5cEY5VE1FN0hscTI1QU40bzFBazhxeHR6dkFQWV9hV1BWZmtRRmNZRDdxZFlWN0luaDM4aWM4UHVkNlFodmtoVS1YRTlUalVXbjVsUjd2YnVRbS1TOTNxc3haeTNwRUNNWkhRWHZkSVZ3M1JDblNmR085U0oySmdCc1U4TnhlbUQwSHpnUDB2bmwtODVHOTNJbUxQMUVWNnlYeUdTZzM0QlFGcktnOHRRS3NwTUlCd2FjYjNPcTNIY2FsWVloMVpMTFRRX2ZEdVlraGlQMGQ0aUE4bGloOTZuLU5iYnpkazB1d3poTG5CSjd0VURBZ01CQUFHZ1BqQThCZ2txaGtpRzl3MEJDUTR4THpBdE1Dc0dBMVVkRVFRa01DS0NFWGQzZHk1emRXSnpkSEpoYTNRdVkyOXRnZzF6ZFdKemRISmhhM1F1WTI5dE1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQUNQcTMwU3JCRldCeHJ5cWEtOEZnaXhXQWxPazE1UkZ2QldHSkVBSnFCcmhia3ZzLUJXNDFNTlFTQ0FvX1d5UzJST0VvVVZoU0t2b3ByQTZGcUpHdHg2b1I0blJsRGo1bVU2dDIyZERhcXhrYW9LVmt2VHRCYWxsVFZjakc3VW5Md2otOUMxOEhwTlp6b3Qxc0Y5eWNvME83RTRYMTN3SF9KZ2VQRXhjS2pjVWxpbVhXMVQzRHVuV0JWbUNkdDFJYldabXpSaW0tNEI3cFNMR0cwbWNRbk1WVm5QYm55bnRhSjduaXVFY1R0Vk9uNjVrMjQzTGFzZ2o3NF9BUTg4NFNqYkl0cWpiYnZHQnd0b0VhY3BHMFlNUkpUS3V3ejRBdHJ0Z2hZQTFCMy11X1ZWUk45MUJ6XzU4ZFVRRHZsbmFzd1lDb0RrQWFfZ0xyN0JkRUxBWDZvIn0","signature":"fOORG8bx2VuiW0iy9zYMn3kW8KIq2SxUkVzeQ5PIHEGxZco7mrtcn9EeSTbqeznhc72Cy0djdtoZXBFSezIJt2qnV_n_wGCKYRRpwh_2ERRkkgMZJlMeN2tPxxpLTkYilvWkbbh97Pt5fGwvFfYfQ7izdJS6L4u6bOqM5V5Dcw2SPKnMfb5XaNQdXrvzizXnSs9b4z8WjOgFXAAtlKLPLyp-ivj3MhtXxG3PIr9yPo6qup05r8YUSvQFHYS5vj_GAIA7-gQvqVMSRac1tdrr96iS7IneiB1riW6beSY00gVkohPNmsQD9ymYnhqn7woDu4Jrwc_4z2g9f3diKg8s9AZSrmrdQqlIBseT6FpW4ggX9kdJQnklpl-K6-m4pZH9zYJH2hX0lKdH8d-xIHixRussTCjqfhueLcQ78-MBOycj3h9a4atxcjXBgyQz5QwjugZ6-8Y8GNH2nf5hvFw_Kkgw2Q4QT7v3efZtijXbjGx-EZLzP-gbiwIb42Hd-USDBDK6g7oJSPhsl1z49wJVUftPWLPCf6Zr1x-hkxocYx6vO7oOhFfD-nApq27HZgcVb3TwYirm42rpTB32fADlGxirSGJeU4ECppaVzF9iosr2kWMIJLYOloov29rP7uVjKpoogjKP2uMf6y9mW7nMhVfMN_XS7yG_emhmTGJwYNo"}' headers: User-Agent: - Acme::Client v0.3.7 (https://github.com/unixcharles/acme-client) Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 Accept: - "*/*" response: status: code: 403 message: Forbidden headers: Server: - nginx Content-Type: - application/problem+json Content-Length: - '188' Boulder-Request-Id: - m1P9p-WjSYdxCxRy2s-NVNihfEjN7v45L_rHVMzSvzU Boulder-Requester: - '496542' Replay-Nonce: - 2jy3MS7XmuyU0URa4n6ETU9z1pRZBd3fZyhS0vzhh5U Expires: - Tue, 15 Nov 2016 16:39:02 GMT Cache-Control: - max-age=0, no-cache, no-store Pragma: - no-cache Date: - Tue, 15 Nov 2016 16:39:02 GMT Connection: - close body: encoding: UTF-8 string: |- { "type": "urn:acme:error:unauthorized", "detail": "Error creating new cert :: Authorizations for these names not found or expired: substrakt.com, www.substrakt.com", "status": 403 } http_version: recorded_at: Tue, 15 Nov 2016 16:39:02 GMT recorded_with: VCR 3.0.3 ================================================ FILE: test/logger_test.rb ================================================ require_relative 'test_helper' class LoggerTest < MiniTest::Test def setup ENV['ENVIRONMENT'] = 'test' ENV['CLOUDFLARE_API_KEY'] = 'fjsdjfghsdjfhgsd' ENV['CLOUDFLARE_EMAIL'] = 'max@substrakt.com' end def teardown $redis.flushdb end def test_log_a_message_to_console assert_equal "----> This is a test message", Logger.log('This is a test message') end def test_log_with_generator VCR.use_cassette('new-certificate-debug') do a = CertificateGenerator.new(challenge: CloudflareChallenge.new(zone: 'substrakt.com', domains: ['www.substrakt.com', 'substrakt.com'], api_key: 'fsdfdsf', email: 'adam@example.com', client: AcmeClientRegistration.new(debug: true).client)) assert_equal "[Zone: substrakt.com - Domains: www.substrakt.com, substrakt.com] ----> This is a test message", Logger.log('This is a test message', generator: a) end end def test_a_log_with_generator_should_also_write_to_redis VCR.use_cassette('new-certificate-debug') do a = CertificateGenerator.new(challenge: CloudflareChallenge.new(zone: 'substrakt.com', token: 'testingtesting', api_key: 'fsdfdsf', email: 'adam@example.com', domains: ['www.substrakt.com', 'substrakt.com'], client: AcmeClientRegistration.new(debug: true).client)) Logger.log('Test message', generator: a) assert_equal "Test message", $redis.get("latest_testingtesting") end end end ================================================ FILE: test/provisioners/heroku_test.rb ================================================ require_relative '../test_helper' class Provisioner::HerokuTest < MiniTest::Test def setup ENV['HEROKU_OAUTH_KEY'] = '67705361-152c-4761-96aa-ec904d6cd071' ENV['ENVIRONMENT'] = 'test' end def teardown $redis.flushdb end def test_creating_a_new_heroku_provisioner_should_return_false_if_using_free_dynos VCR.use_cassette('new-cert-provisioner-heroku') do a = CertificateGenerator.new(challenge: CloudflareChallenge.new(zone: 'substrakt.com', domains: ['www.substrakt.com', 'substrakt.com'], client: AcmeClientRegistration.new(debug: true).client)) b = Provisioner::Heroku.new(app_name: 'ssl-test-maxwoolf', certificate: a.certificate) assert_equal false, b.provision! end end def test_creating_a_new_heroku_provisioner_should_return_true_if_successful VCR.use_cassette('new-cert-provisioner-heroku-success') do a = CertificateGenerator.new(challenge: CloudflareChallenge.new(zone: 'substrakt.com', domains: ['www.substrakt.com', 'substrakt.com'], client: AcmeClientRegistration.new(debug: true).client)) b = Provisioner::Heroku.new(app_name: 'ssl-test-maxwoolf', certificate: a.certificate) assert_equal true, b.provision! end end end ================================================ FILE: test/test_helper.rb ================================================ ENV['RACK_ENV'] = 'test' ENV['ENVIRONMENT'] = 'test' require 'minitest/autorun' require 'rack/test' require 'vcr' require_relative '../app' require_relative '../lib/acme_client_registration' require_relative '../lib/cloudflare_challenge' require_relative '../lib/challenge' require_relative '../lib/certificate_generator' require_relative '../lib/provisioners/heroku' require_relative '../lib/logger' VCR.configure do |config| config.cassette_library_dir = "test/fixtures/vcr_cassettes" config.hook_into :webmock end ================================================ FILE: workers/base.rb ================================================ require_relative 'cloudflare_challenge_worker' ================================================ FILE: workers/cloudflare_challenge_worker.rb ================================================ require 'sidekiq' require_relative '../lib/logger' require_relative '../lib/certificate_generator' require_relative '../lib/cloudflare_challenge' require_relative '../lib/acme_client_registration' require_relative '../lib/provisioners/heroku' class CloudflareChallengeWorker include Sidekiq::Worker sidekiq_options :retry => false def perform(zone, domains, token, app_name, debug = true, cloudflare = {}, heroku = {}) $redis = Redis.new(url: ENV['REDIS_URL']) $redis.setex("status_#{token}", 3600, "started") Logger.log("Starting challenge creation on zone: #{zone}, with domains: #{domains}.") Logger.log("Debug is #{debug ? 'ON' : 'OFF'}") a = CloudflareChallenge.new(zone: zone, domains: domains, token: token, email: cloudflare["email"], api_key: cloudflare["api_key"], client: AcmeClientRegistration.new(debug: debug).client) begin generator = CertificateGenerator.new(challenge: a) cert = generator.certificate Logger.log("Generated certificate", generator: generator) Provisioner::Heroku.new(app_name: app_name, certificate: cert, oauth_key: heroku["heroku"]["oauth_key"]).provision! $redis.setex("status_#{token}", 3600, "finished") rescue Exception => e Logger.log("Failed. Error given was #{e}") $redis.setex("status_#{token}", 3600, "error") $redis.setex("latest_#{token}", 3600, e) end end end ================================================ FILE: workers/worker.rb ================================================ require 'sidekiq' require_relative '../lib/certificate_generation' class Worker include Sidekiq::Worker sidekiq_options :retry => false def perform(domain, subdomains, debug, app_name, token) generation = CertificateGeneration.new(domain, subdomains, debug, app_name, token) generation.provision! end end