diff --git a/fixtures/account.registration.headers.json b/fixtures/account.registration.headers.json new file mode 100644 index 0000000..f9b6776 --- /dev/null +++ b/fixtures/account.registration.headers.json @@ -0,0 +1,14 @@ +{ + "server": "nginx", + "date": "Thu, 24 Oct 2019 23:19:57 GMT", + "content-type": "application/json", + "content-length": "341", + "connection": "close", + "boulder-requester": "11407977", + "cache-control": "public, max-age=0, no-cache", + "link": ";rel=\"index\", ;rel=\"terms-of-service\"", + "location": "https://acme-staging-v02.api.letsencrypt.org/acme/acct/11407977", + "replay-nonce": "0001pgbsovQitzg1gDmvpxu18MOh_lsxRyV8cDC19YozinE", + "x-frame-options": "DENY", + "strict-transport-security": "max-age=604800" +} diff --git a/fixtures/account.registration.json b/fixtures/account.registration.json index 7736000..d2a42e2 100644 --- a/fixtures/account.registration.json +++ b/fixtures/account.registration.json @@ -2,12 +2,11 @@ "key": { "kty": "EC", "crv": "P-256", - "x": "uLh0RLpAmKyyHCf2zOaF18IIuBiJEiZ8Mu3xPZ7ZxN8", - "y": "vVl_cCXK0_GlCaCT5Yg750LUd8eRU6tySEdQFLM62NQ", - "kid": "https://acme-staging-v02.api.letsencrypt.org/acme/acct/11265299" + "x": "9JZE7ZMAAQ-26oP-_pzd9gy2CbuEvgvrB42R1rP2Pb0", + "y": "8yvSYK5sAx30upYpqVknnPPQlK1T3zGTLbJRC-DH_qw" }, - "contact": [], + "contact": ["mailto:letsencrypt+staging@therootcompany.com"], "initialIp": "66.219.236.169", - "createdAt": "2019-10-04T22:54:28.569489074Z", + "createdAt": "2019-10-24T23:19:57.480171297Z", "status": "valid" } diff --git a/fixtures/account.request.json b/fixtures/account.request.json new file mode 100644 index 0000000..711ba4b --- /dev/null +++ b/fixtures/account.request.json @@ -0,0 +1,15 @@ +{ + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/new-acct", + "json": { + "protected": "eyJqd2siOnsia3R5IjoiRUMiLCJjcnYiOiJQLTI1NiIsIngiOiJCa0ZsYVBQUi1JTmJfcHVvWHNlbkpGUWJLcFJQM2RraUJuQ0Y4TlNNX3lZIiwieSI6IlZCMEhjM2JoYXlJS2s4QlFiRGJSTDBJZC1LS1hoVkFhRFhLd0RENk1EMjgifSwibm9uY2UiOiIwMDAxSVBlQzN0YV91S29lLTVHanBxUVlGUjFDLVFjS0pzVFVac0daTVFPSzY5ZyIsInVybCI6Imh0dHBzOi8vYWNtZS1zdGFnaW5nLXYwMi5hcGkubGV0c2VuY3J5cHQub3JnL2FjbWUvbmV3LWFjY3QiLCJhbGciOiJFUzI1NiJ9", + "payload": "eyJ0ZXJtc09mU2VydmljZUFncmVlZCI6dHJ1ZSwib25seVJldHVybkV4aXN0aW5nIjpmYWxzZSwiY29udGFjdCI6WyJtYWlsdG86bGV0c2VuY3J5cHQrc3RhZ2luZ0B0aGVyb290Y29tcGFueS5jb20iXX0", + "signature": "nuwft1-d349OZoQOH5lsgWCCFYsbciUFrGspiYkd630z_AZU_z0BdNXU5oT2NdaFJJXdqOJkePvEtmTFhAPCEg" + }, + "headers": { + "User-Agent": "ACME.js/v3 node/v10.13.0 darwin/17.7.0 Darwin/x64", + "Content-Type": "application/jose+json", + "Accept": "application/json" + }, + "body": "{\"protected\":\"eyJqd2siOnsia3R5IjoiRUMiLCJjcnYiOiJQLTI1NiIsIngiOiJCa0ZsYVBQUi1JTmJfcHVvWHNlbkpGUWJLcFJQM2RraUJuQ0Y4TlNNX3lZIiwieSI6IlZCMEhjM2JoYXlJS2s4QlFiRGJSTDBJZC1LS1hoVkFhRFhLd0RENk1EMjgifSwibm9uY2UiOiIwMDAxSVBlQzN0YV91S29lLTVHanBxUVlGUjFDLVFjS0pzVFVac0daTVFPSzY5ZyIsInVybCI6Imh0dHBzOi8vYWNtZS1zdGFnaW5nLXYwMi5hcGkubGV0c2VuY3J5cHQub3JnL2FjbWUvbmV3LWFjY3QiLCJhbGciOiJFUzI1NiJ9\",\"payload\":\"eyJ0ZXJtc09mU2VydmljZUFncmVlZCI6dHJ1ZSwib25seVJldHVybkV4aXN0aW5nIjpmYWxzZSwiY29udGFjdCI6WyJtYWlsdG86bGV0c2VuY3J5cHQrc3RhZ2luZ0B0aGVyb290Y29tcGFueS5jb20iXX0\",\"signature\":\"nuwft1-d349OZoQOH5lsgWCCFYsbciUFrGspiYkd630z_AZU_z0BdNXU5oT2NdaFJJXdqOJkePvEtmTFhAPCEg\"}", + "method": "POST" +} diff --git a/fixtures/account.response.headers.json b/fixtures/account.response.headers.json new file mode 100644 index 0000000..2888dde --- /dev/null +++ b/fixtures/account.response.headers.json @@ -0,0 +1,14 @@ +{ + "server": "nginx", + "date": "Thu, 24 Oct 2019 23:41:24 GMT", + "content-type": "application/json", + "content-length": "340", + "connection": "close", + "boulder-requester": "11408075", + "cache-control": "public, max-age=0, no-cache", + "link": ";rel=\"index\", ;rel=\"terms-of-service\"", + "location": "https://acme-staging-v02.api.letsencrypt.org/acme/acct/11408075", + "replay-nonce": "0002O1dowqaEQWEHtP2Cz9BYJuOU91uRvRM1uPFbcdwaj-0", + "x-frame-options": "DENY", + "strict-transport-security": "max-age=604800" +} diff --git a/fixtures/account.response.json b/fixtures/account.response.json new file mode 100644 index 0000000..4c37f73 --- /dev/null +++ b/fixtures/account.response.json @@ -0,0 +1,12 @@ +{ + "key": { + "kty": "EC", + "crv": "P-256", + "x": "BkFlaPPR-INb_puoXsenJFQbKpRP3dkiBnCF8NSM_yY", + "y": "VB0Hc3bhayIKk8BQbDbRL0Id-KKXhVAaDXKwDD6MD28" + }, + "contact": ["mailto:letsencrypt+staging@therootcompany.com"], + "initialIp": "66.219.236.169", + "createdAt": "2019-10-24T23:41:24.38248946Z", + "status": "valid" +} diff --git a/fixtures/authorization.other.json b/fixtures/authorization.other.json new file mode 100644 index 0000000..73c32dd --- /dev/null +++ b/fixtures/authorization.other.json @@ -0,0 +1,177 @@ +[ + [ + { + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/16603342", + "json": { + "protected": "eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDFvU05Bd25ZVjJRWlB0cGNCZHlNUWd1cXB4MFI1SzhFd0txYzJPeWxVYm5vIiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9hdXRoei12My8xNjYwMzM0MiIsImFsZyI6IkVTMjU2In0", + "payload": "", + "signature": "mgxpomAxc-a2zEbVuyDxncZvoJTbEWwSRb3aE9W-d8TU_9iIK7jKo6RTL6jTZfgM4ToUET7F19NIqWMnQmoREw" + }, + "headers": { + "User-Agent": "ACME.js/v3 node/v10.13.0 darwin/17.7.0 Darwin/x64", + "Content-Type": "application/jose+json", + "Accept": "application/json" + }, + "body": "{\"protected\":\"eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDFvU05Bd25ZVjJRWlB0cGNCZHlNUWd1cXB4MFI1SzhFd0txYzJPeWxVYm5vIiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9hdXRoei12My8xNjYwMzM0MiIsImFsZyI6IkVTMjU2In0\",\"payload\":\"\",\"signature\":\"mgxpomAxc-a2zEbVuyDxncZvoJTbEWwSRb3aE9W-d8TU_9iIK7jKo6RTL6jTZfgM4ToUET7F19NIqWMnQmoREw\"}", + "method": "POST" + }, + + { + "server": "nginx", + "date": "Thu, 24 Oct 2019 23:41:32 GMT", + "content-type": "application/json", + "content-length": "838", + "connection": "close", + "boulder-requester": "11408075", + "cache-control": "public, max-age=0, no-cache", + "link": ";rel=\"index\"", + "replay-nonce": "0002t2JSKyWPm0PEBFrttckiXqIrSEf0PoLdhv24P_QGbrw", + "x-frame-options": "DENY", + "strict-transport-security": "max-age=604800" + }, + { + "identifier": { + "type": "dns", + "value": "xn--bar-acmejs-2ea4-zk8x.test.utahrust.com" + }, + "status": "pending", + "expires": "2019-10-31T23:41:32Z", + "challenges": [ + { + "type": "http-01", + "status": "pending", + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603342/SX06Rw", + "token": "NsJOLEHJONiQqkADO_lecQ2J0u-g6I2tvkgqevUBbUA" + }, + { + "type": "dns-01", + "status": "pending", + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603342/I4uhGQ", + "token": "NsJOLEHJONiQqkADO_lecQ2J0u-g6I2tvkgqevUBbUA" + }, + { + "type": "tls-alpn-01", + "status": "pending", + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603342/E-EFfg", + "token": "NsJOLEHJONiQqkADO_lecQ2J0u-g6I2tvkgqevUBbUA" + } + ] + } + ], + [ + { + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/16603343", + "json": { + "protected": "eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDJ0MkpTS3lXUG0wUEVCRnJ0dGNraVhxSXJTRWYwUG9MZGh2MjRQX1FHYnJ3IiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9hdXRoei12My8xNjYwMzM0MyIsImFsZyI6IkVTMjU2In0", + "payload": "", + "signature": "equGw3S_17IjiavHk25D3l3g48nE6kIhcN6bvgUdBofh1kfsc-kpPVwkZrBMndqWTh-_WHmQtfg01fkP3xzVGg" + }, + "headers": { + "User-Agent": "ACME.js/v3 node/v10.13.0 darwin/17.7.0 Darwin/x64", + "Content-Type": "application/jose+json", + "Accept": "application/json" + }, + "body": "{\"protected\":\"eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDJ0MkpTS3lXUG0wUEVCRnJ0dGNraVhxSXJTRWYwUG9MZGh2MjRQX1FHYnJ3IiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9hdXRoei12My8xNjYwMzM0MyIsImFsZyI6IkVTMjU2In0\",\"payload\":\"\",\"signature\":\"equGw3S_17IjiavHk25D3l3g48nE6kIhcN6bvgUdBofh1kfsc-kpPVwkZrBMndqWTh-_WHmQtfg01fkP3xzVGg\"}", + "method": "POST" + }, + { + "server": "nginx", + "date": "Thu, 24 Oct 2019 23:41:32 GMT", + "content-type": "application/json", + "content-length": "838", + "connection": "close", + "boulder-requester": "11408075", + "cache-control": "public, max-age=0, no-cache", + "link": ";rel=\"index\"", + "replay-nonce": "0002quWdcKvS2smvRV2Dl98tTHjPUS9sRC4ZDzjXpuyeGhc", + "x-frame-options": "DENY", + "strict-transport-security": "max-age=604800" + }, + { + "identifier": { + "type": "dns", + "value": "xn--baz-acmejs-2ea4-zk8x.test.utahrust.com" + }, + "status": "pending", + "expires": "2019-10-31T23:41:32Z", + "challenges": [ + { + "type": "http-01", + "status": "pending", + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603343/bSRwrg", + "token": "Cc3I3F1Pvc_aweOeRdtzR1h2C_uhseAbiWMQkwb6Kf8" + }, + { + "type": "dns-01", + "status": "pending", + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603343/Umv_5w", + "token": "Cc3I3F1Pvc_aweOeRdtzR1h2C_uhseAbiWMQkwb6Kf8" + }, + { + "type": "tls-alpn-01", + "status": "pending", + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603343/awV7qQ", + "token": "Cc3I3F1Pvc_aweOeRdtzR1h2C_uhseAbiWMQkwb6Kf8" + } + ] + } + ], + [ + { + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/16603344", + "json": { + "protected": "eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDJxdVdkY0t2UzJzbXZSVjJEbDk4dFRIalBVUzlzUkM0WkR6alhwdXllR2hjIiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9hdXRoei12My8xNjYwMzM0NCIsImFsZyI6IkVTMjU2In0", + "payload": "", + "signature": "UzOSs2HvxN_mErU-wjrffbFp3JZOu6Earsq3ssj49Qcw3Bf5uyXPKO5DF7iseuL2Qammqofvh70pCka6tD_knQ" + }, + "headers": { + "User-Agent": "ACME.js/v3 node/v10.13.0 darwin/17.7.0 Darwin/x64", + "Content-Type": "application/jose+json", + "Accept": "application/json" + }, + "body": "{\"protected\":\"eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDJxdVdkY0t2UzJzbXZSVjJEbDk4dFRIalBVUzlzUkM0WkR6alhwdXllR2hjIiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9hdXRoei12My8xNjYwMzM0NCIsImFsZyI6IkVTMjU2In0\",\"payload\":\"\",\"signature\":\"UzOSs2HvxN_mErU-wjrffbFp3JZOu6Earsq3ssj49Qcw3Bf5uyXPKO5DF7iseuL2Qammqofvh70pCka6tD_knQ\"}", + "method": "POST" + }, + { + "server": "nginx", + "date": "Thu, 24 Oct 2019 23:41:32 GMT", + "content-type": "application/json", + "content-length": "838", + "connection": "close", + "boulder-requester": "11408075", + "cache-control": "public, max-age=0, no-cache", + "link": ";rel=\"index\"", + "replay-nonce": "0001kREyyuaaIacPhD7-j73BHzyQnhfPiBM3PEwnXDFVgTc", + "x-frame-options": "DENY", + "strict-transport-security": "max-age=604800" + }, + { + "identifier": { + "type": "dns", + "value": "xn--foo-acmejs-2ea4-zk8x.test.utahrust.com" + }, + "status": "pending", + "expires": "2019-10-31T23:41:32Z", + "challenges": [ + { + "type": "http-01", + "status": "pending", + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603344/usH89w", + "token": "uv7D1YC7oWvMY8-EC2blKxmSFExYHwjCcKjGpuodwWs" + }, + { + "type": "dns-01", + "status": "pending", + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603344/Hqvliw", + "token": "uv7D1YC7oWvMY8-EC2blKxmSFExYHwjCcKjGpuodwWs" + }, + { + "type": "tls-alpn-01", + "status": "pending", + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603344/6C26qQ", + "token": "uv7D1YC7oWvMY8-EC2blKxmSFExYHwjCcKjGpuodwWs" + } + ] + } + ] +] diff --git a/fixtures/authorization.post.json b/fixtures/authorization.post.json new file mode 100644 index 0000000..3871138 --- /dev/null +++ b/fixtures/authorization.post.json @@ -0,0 +1,15 @@ +{ + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/16603341", + "json": { + "protected": "eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDFqNEF6c2Qwa2s2aTYwTlN6Um9aY3ZMaWRtTG81QjBzRzFsTUtUcVdyMzg4IiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9hdXRoei12My8xNjYwMzM0MSIsImFsZyI6IkVTMjU2In0", + "payload": "", + "signature": "qjrQyqKRskdhF7DVUymZdHhm9neC9vgH9UUc6D-vtXtS8T2QW9C82qsyghZdGGJLWeKeZLRsADjmZSh5XCAa4g" + }, + "headers": { + "User-Agent": "ACME.js/v3 node/v10.13.0 darwin/17.7.0 Darwin/x64", + "Content-Type": "application/jose+json", + "Accept": "application/json" + }, + "body": "{\"protected\":\"eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDFqNEF6c2Qwa2s2aTYwTlN6Um9aY3ZMaWRtTG81QjBzRzFsTUtUcVdyMzg4IiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9hdXRoei12My8xNjYwMzM0MSIsImFsZyI6IkVTMjU2In0\",\"payload\":\"\",\"signature\":\"qjrQyqKRskdhF7DVUymZdHhm9neC9vgH9UUc6D-vtXtS8T2QW9C82qsyghZdGGJLWeKeZLRsADjmZSh5XCAa4g\"}", + "method": "POST" +} diff --git a/fixtures/authorization.response.headers.json b/fixtures/authorization.response.headers.json new file mode 100644 index 0000000..ebe20b1 --- /dev/null +++ b/fixtures/authorization.response.headers.json @@ -0,0 +1,13 @@ +{ + "server": "nginx", + "date": "Thu, 24 Oct 2019 23:41:32 GMT", + "content-type": "application/json", + "content-length": "420", + "connection": "close", + "boulder-requester": "11408075", + "cache-control": "public, max-age=0, no-cache", + "link": ";rel=\"index\"", + "replay-nonce": "0001oSNAwnYV2QZPtpcBdyMQguqpx0R5K8EwKqc2OylUbno", + "x-frame-options": "DENY", + "strict-transport-security": "max-age=604800" +} diff --git a/fixtures/authorization.response.json b/fixtures/authorization.response.json new file mode 100644 index 0000000..1afd36b --- /dev/null +++ b/fixtures/authorization.response.json @@ -0,0 +1,17 @@ +{ + "identifier": { + "type": "dns", + "value": "xn--baz-acmejs-2ea4-zk8x.test.utahrust.com" + }, + "status": "pending", + "expires": "2019-10-31T23:41:32Z", + "challenges": [ + { + "type": "dns-01", + "status": "pending", + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603341/yCthUw", + "token": "DiO9DFHuFTpNsJxIbOxfVCSPVkpe4lJUjozeSyzkMjI" + } + ], + "wildcard": true +} diff --git a/fixtures/cert.request.json b/fixtures/cert.request.json new file mode 100644 index 0000000..bbdbc5a --- /dev/null +++ b/fixtures/cert.request.json @@ -0,0 +1,15 @@ +{ + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/cert/fa78326c21c0c7f06c03931900bead4fe3ee", + "json": { + "protected": "eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDExLW5qUV91MWp4N1dqVEdfY1Blam05UUxLZWxFcUVFdEpEa3JlVHJ5OVI4IiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9jZXJ0L2ZhNzgzMjZjMjFjMGM3ZjA2YzAzOTMxOTAwYmVhZDRmZTNlZSIsImFsZyI6IkVTMjU2In0", + "payload": "", + "signature": "639Q5Eo2_xWh3ylRy3olXJVXz_4JTrpVFkUmz9-h1l8Hrsmg47I0HFgMrHslfKEJfj86zGUh9XY-VtBF2IFcIQ" + }, + "headers": { + "User-Agent": "ACME.js/v3 node/v10.13.0 darwin/17.7.0 Darwin/x64", + "Content-Type": "application/jose+json", + "Accept": "application/json" + }, + "body": "{\"protected\":\"eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDExLW5qUV91MWp4N1dqVEdfY1Blam05UUxLZWxFcUVFdEpEa3JlVHJ5OVI4IiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9jZXJ0L2ZhNzgzMjZjMjFjMGM3ZjA2YzAzOTMxOTAwYmVhZDRmZTNlZSIsImFsZyI6IkVTMjU2In0\",\"payload\":\"\",\"signature\":\"639Q5Eo2_xWh3ylRy3olXJVXz_4JTrpVFkUmz9-h1l8Hrsmg47I0HFgMrHslfKEJfj86zGUh9XY-VtBF2IFcIQ\"}", + "method": "POST" +} diff --git a/fixtures/cert.response.headers.json b/fixtures/cert.response.headers.json new file mode 100644 index 0000000..d131dcc --- /dev/null +++ b/fixtures/cert.response.headers.json @@ -0,0 +1,12 @@ +{ + "server": "nginx", + "date": "Thu, 24 Oct 2019 23:41:44 GMT", + "content-type": "application/pem-certificate-chain", + "content-length": "3806", + "connection": "close", + "cache-control": "public, max-age=0, no-cache", + "link": ";rel=\"index\"", + "replay-nonce": "0002vmpuKxQvokCGu5-cbVhsXkBHweBkdFnNrIpufnVn8mc", + "x-frame-options": "DENY", + "strict-transport-security": "max-age=604800" +} diff --git a/fixtures/cert.response.txt b/fixtures/cert.response.txt new file mode 100644 index 0000000..02dc023 --- /dev/null +++ b/fixtures/cert.response.txt @@ -0,0 +1,64 @@ +// Note: I may have added or truncated a beginning or ending +// newline here in the process of copy/paste +-----BEGIN CERTIFICATE----- +MIIF9TCCBN2gAwIBAgITAPp4MmwhwMfwbAOTGQC+rU/j7jANBgkqhkiG9w0BAQsF +ADAiMSAwHgYDVQQDDBdGYWtlIExFIEludGVybWVkaWF0ZSBYMTAeFw0xOTEwMjQy +MjQxNDRaFw0yMDAxMjIyMjQxNDRaMDUxMzAxBgNVBAMTKnhuLS1mb28tYWNtZWpz +LTJlYTQtems4eC50ZXN0LnV0YWhydXN0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAOXgIzVvJzQRuGkomoKQzswNyMaFB7MmCHNOW98yYxfHpLqj +KKddplJpvHQ/R8I15+38QfqT9kvj9vQ7i3gU6AUya56Sg6TSSmUE5PBP7WfEn/2O ++iHzZ/Devq/Oq0fHQoF+TtEFgnMVZZL4gnEyciSzQs5ftn+HejLGYmBH5uJlPGCp +9lMOe+ziweWKbmZYDu4Qrqf3TEHbFOpBPgJUna4tz0xmISdxzuR9Q/tie3a+cCjV +4xtxCblN9W37KC1VnEkLtQwgm6zjZAVSUWOLZUqMVL2H+/jR5Z9r1XYevEDlAl35 +sW0kaEf/FdLfr8tfbbnPUsVvRL5I5gdLmyonJccCAwEAAaOCAw8wggMLMA4GA1Ud +DwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0T +AQH/BAIwADAdBgNVHQ4EFgQUJqGfhDoxM99m3HZUhlME4JMg+zQwHwYDVR0jBBgw +FoAUwMwDRrlYIMxccnDz4S7LIKb1aDowdwYIKwYBBQUHAQEEazBpMDIGCCsGAQUF +BzABhiZodHRwOi8vb2NzcC5zdGctaW50LXgxLmxldHNlbmNyeXB0Lm9yZzAzBggr +BgEFBQcwAoYnaHR0cDovL2NlcnQuc3RnLWludC14MS5sZXRzZW5jcnlwdC5vcmcv +MIG9BgNVHREEgbUwgbKCLCoueG4tLWJhei1hY21lanMtMmVhNC16azh4LnRlc3Qu +dXRhaHJ1c3QuY29tgip4bi0tYmFyLWFjbWVqcy0yZWE0LXprOHgudGVzdC51dGFo +cnVzdC5jb22CKnhuLS1iYXotYWNtZWpzLTJlYTQtems4eC50ZXN0LnV0YWhydXN0 +LmNvbYIqeG4tLWZvby1hY21lanMtMmVhNC16azh4LnRlc3QudXRhaHJ1c3QuY29t +MEwGA1UdIARFMEMwCAYGZ4EMAQIBMDcGCysGAQQBgt8TAQEBMCgwJgYIKwYBBQUH +AgEWGmh0dHA6Ly9jcHMubGV0c2VuY3J5cHQub3JnMIIBAwYKKwYBBAHWeQIEAgSB +9ASB8QDvAHYAxj8iGMN9VqaqBrWW2o5T1NcVbR6brI5E0iAt5k1p2dwAAAFuACW/ +/QAABAMARzBFAiB/xTPuBFV2+yfovKBiru29WQ+j3wjTGE1Urcn1Rn+5nQIhALH+ +5N4A0TiK04romA8Nb/R5X0sNM68HGK/KRCICdYOxAHUAsMyD5aX5fWuvfAnMKEkE +hyrH6IsTLGNQt8b9JuFsbHcAAAFuACW//gAABAMARjBEAiAcL3cjhbwAOV34v3vK +svbb9yIK36vRucq3hu/Vs1B3ZAIgfTwjAHDE6GqfZEW2e9MjuULEvMdF2QHVh7WB +Bp5A48wwDQYJKoZIhvcNAQELBQADggEBAFxbkUt0QOZNAKnTqdYnBP2FlxezjFPq +P4pD/G2/JFKi86VDg2vLVfPMGd7jv+e8Ao0+G9rgC3vtQE817T5d9XFlJ8p7dMjK +TbTmSlKHxM9Dal8fqC7kbqqx/gdpzzPyBoDYlKWvhr3qXsxB/hGI3OX+d42R1wsr +zcQKaG2HpJcerZ1au2Jm/YOCJPpDHMAFKK5wuCmOIBfNQ+ULyStPZLQWPdMI04S2 +Y8eIQgS6q9OX1CtvuehVFwyO8TNi53do88wFDdHF7lNZEjz7NvpNqi3qeZgSRuAb +/fTMCULMjDghh+xpTLRzSROB6YJbU8uXtSZ6Xn04SZ6ZSuvbCYmHlsU= +-----END CERTIFICATE----- + +-----BEGIN CERTIFICATE----- +MIIEqzCCApOgAwIBAgIRAIvhKg5ZRO08VGQx8JdhT+UwDQYJKoZIhvcNAQELBQAw +GjEYMBYGA1UEAwwPRmFrZSBMRSBSb290IFgxMB4XDTE2MDUyMzIyMDc1OVoXDTM2 +MDUyMzIyMDc1OVowIjEgMB4GA1UEAwwXRmFrZSBMRSBJbnRlcm1lZGlhdGUgWDEw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDtWKySDn7rWZc5ggjz3ZB0 +8jO4xti3uzINfD5sQ7Lj7hzetUT+wQob+iXSZkhnvx+IvdbXF5/yt8aWPpUKnPym +oLxsYiI5gQBLxNDzIec0OIaflWqAr29m7J8+NNtApEN8nZFnf3bhehZW7AxmS1m0 +ZnSsdHw0Fw+bgixPg2MQ9k9oefFeqa+7Kqdlz5bbrUYV2volxhDFtnI4Mh8BiWCN +xDH1Hizq+GKCcHsinDZWurCqder/afJBnQs+SBSL6MVApHt+d35zjBD92fO2Je56 +dhMfzCgOKXeJ340WhW3TjD1zqLZXeaCyUNRnfOmWZV8nEhtHOFbUCU7r/KkjMZO9 +AgMBAAGjgeMwgeAwDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAw +HQYDVR0OBBYEFMDMA0a5WCDMXHJw8+EuyyCm9Wg6MHoGCCsGAQUFBwEBBG4wbDA0 +BggrBgEFBQcwAYYoaHR0cDovL29jc3Auc3RnLXJvb3QteDEubGV0c2VuY3J5cHQu +b3JnLzA0BggrBgEFBQcwAoYoaHR0cDovL2NlcnQuc3RnLXJvb3QteDEubGV0c2Vu +Y3J5cHQub3JnLzAfBgNVHSMEGDAWgBTBJnSkikSg5vogKNhcI5pFiBh54DANBgkq +hkiG9w0BAQsFAAOCAgEABYSu4Il+fI0MYU42OTmEj+1HqQ5DvyAeyCA6sGuZdwjF +UGeVOv3NnLyfofuUOjEbY5irFCDtnv+0ckukUZN9lz4Q2YjWGUpW4TTu3ieTsaC9 +AFvCSgNHJyWSVtWvB5XDxsqawl1KzHzzwr132bF2rtGtazSqVqK9E07sGHMCf+zp +DQVDVVGtqZPHwX3KqUtefE621b8RI6VCl4oD30Olf8pjuzG4JKBFRFclzLRjo/h7 +IkkfjZ8wDa7faOjVXx6n+eUQ29cIMCzr8/rNWHS9pYGGQKJiY2xmVC9h12H99Xyf +zWE9vb5zKP3MVG6neX1hSdo7PEAb9fqRhHkqVsqUvJlIRmvXvVKTwNCP3eCjRCCI +PTAvjV+4ni786iXwwFYNz8l3PmPLCyQXWGohnJ8iBm+5nk7O2ynaPVW0U2W+pt2w +SVuvdDM5zGv2f9ltNWUiYZHJ1mmO97jSY/6YfdOUH66iRtQtDkHBRdkNBsMbD+Em +2TgBldtHNSJBfB3pm9FblgOcJ0FSWcUDWJ7vO0+NTXlgrRofRT6pVywzxVo6dND0 +WzYlTWeUVsO40xJqhgUQRER9YLOLxJ0O6C8i0xFxAMKOtSdodMB3RIwt7RFQ0uyt +n5Z5MqkYhlMI3J1tPRTp1nEt9fyGspBOO05gi148Qasp+3N+svqKomoQglNoAxU= +-----END CERTIFICATE----- diff --git a/fixtures/challenge.others.json b/fixtures/challenge.others.json new file mode 100644 index 0000000..c3b9aae --- /dev/null +++ b/fixtures/challenge.others.json @@ -0,0 +1,121 @@ +[ + [ + { + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603342/I4uhGQ", + "json": { + "protected": "eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDIybXdZUUhpR0NMMVRacUViYkNBZ1N1djJYMXctSGhkMWR0TV9zRllXRGlNIiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9jaGFsbC12My8xNjYwMzM0Mi9JNHVoR1EiLCJhbGciOiJFUzI1NiJ9", + "payload": "e30", + "signature": "90XygqCrKMhqsoFD4-J56yYgEKuevnw7V-4MaP_lZKzMn9vnhK_CtWh0k5kRuePhJzopTRrWkRzXz9OExlt9WQ" + }, + "headers": { + "User-Agent": "ACME.js/v3 node/v10.13.0 darwin/17.7.0 Darwin/x64", + "Content-Type": "application/jose+json", + "Accept": "application/json" + }, + "body": "{\"protected\":\"eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDIybXdZUUhpR0NMMVRacUViYkNBZ1N1djJYMXctSGhkMWR0TV9zRllXRGlNIiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9jaGFsbC12My8xNjYwMzM0Mi9JNHVoR1EiLCJhbGciOiJFUzI1NiJ9\",\"payload\":\"e30\",\"signature\":\"90XygqCrKMhqsoFD4-J56yYgEKuevnw7V-4MaP_lZKzMn9vnhK_CtWh0k5kRuePhJzopTRrWkRzXz9OExlt9WQ\"}", + "method": "POST" + }, + { + "server": "nginx", + "date": "Thu, 24 Oct 2019 23:41:42 GMT", + "content-type": "application/json", + "content-length": "292", + "connection": "close", + "boulder-requester": "11408075", + "cache-control": "public, max-age=0, no-cache", + "link": ";rel=\"index\", ;rel=\"up\"", + "location": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603342/I4uhGQ", + "replay-nonce": "0001XZufnGiSHfABU10B8FWCxHzvqPN991zSEO3-uQnNZqI", + "x-frame-options": "DENY", + "strict-transport-security": "max-age=604800" + }, + { + "type": "dns-01", + "status": "valid", + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603342/I4uhGQ", + "token": "NsJOLEHJONiQqkADO_lecQ2J0u-g6I2tvkgqevUBbUA", + "validationRecord": [ + { "hostname": "xn--bar-acmejs-2ea4-zk8x.test.utahrust.com" } + ] + } + ], + + [ + { + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603343/Umv_5w", + "json": { + "protected": "eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDFYWnVmbkdpU0hmQUJVMTBCOEZXQ3hIenZxUE45OTF6U0VPMy11UW5OWnFJIiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9jaGFsbC12My8xNjYwMzM0My9VbXZfNXciLCJhbGciOiJFUzI1NiJ9", + "payload": "e30", + "signature": "I5p1OLU52W7m-oHeRWAuZQyf5saBlm1Mv5UV8kqRLVxxt-kMEJLXwKgP0kgfz-rXjnZheYnrKiKERZX1wt7RdA" + }, + "headers": { + "User-Agent": "ACME.js/v3 node/v10.13.0 darwin/17.7.0 Darwin/x64", + "Content-Type": "application/jose+json", + "Accept": "application/json" + }, + "body": "{\"protected\":\"eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDFYWnVmbkdpU0hmQUJVMTBCOEZXQ3hIenZxUE45OTF6U0VPMy11UW5OWnFJIiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9jaGFsbC12My8xNjYwMzM0My9VbXZfNXciLCJhbGciOiJFUzI1NiJ9\",\"payload\":\"e30\",\"signature\":\"I5p1OLU52W7m-oHeRWAuZQyf5saBlm1Mv5UV8kqRLVxxt-kMEJLXwKgP0kgfz-rXjnZheYnrKiKERZX1wt7RdA\"}", + "method": "POST" + }, + { + "server": "nginx", + "date": "Thu, 24 Oct 2019 23:41:43 GMT", + "content-type": "application/json", + "content-length": "292", + "connection": "close", + "boulder-requester": "11408075", + "cache-control": "public, max-age=0, no-cache", + "link": ";rel=\"index\", ;rel=\"up\"", + "location": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603343/Umv_5w", + "replay-nonce": "00012YkSGH0-3llPNZT_hV8Ovw11jJU9YyppuJ--gJldLTo", + "x-frame-options": "DENY", + "strict-transport-security": "max-age=604800" + }, + { + "type": "dns-01", + "status": "pending", + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603343/Umv_5w", + "token": "Cc3I3F1Pvc_aweOeRdtzR1h2C_uhseAbiWMQkwb6Kf8" + } + ], + [ + { + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603344/Hqvliw", + "json": { + "protected": "eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDJxT0s4WGhNcWtCVWgzYk1LUV9ZMUo2QXJUbEVOR01BTUQ4bHc3WjNtT2JvIiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9jaGFsbC12My8xNjYwMzM0NC9IcXZsaXciLCJhbGciOiJFUzI1NiJ9", + "payload": "e30", + "signature": "ltAp1E52XSMMZpleycguLlo4Hii0FxAbiXcmZBdA-vTjqJb8S1X4CVYQ-qebmYFlCipRhe9Juaj6zpvX7UbTnQ" + }, + "headers": { + "User-Agent": "ACME.js/v3 node/v10.13.0 darwin/17.7.0 Darwin/x64", + "Content-Type": "application/jose+json", + "Accept": "application/json" + }, + "body": "{\"protected\":\"eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDJxT0s4WGhNcWtCVWgzYk1LUV9ZMUo2QXJUbEVOR01BTUQ4bHc3WjNtT2JvIiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9jaGFsbC12My8xNjYwMzM0NC9IcXZsaXciLCJhbGciOiJFUzI1NiJ9\",\"payload\":\"e30\",\"signature\":\"ltAp1E52XSMMZpleycguLlo4Hii0FxAbiXcmZBdA-vTjqJb8S1X4CVYQ-qebmYFlCipRhe9Juaj6zpvX7UbTnQ\"}", + "method": "POST" + }, + + { + "server": "nginx", + "date": "Thu, 24 Oct 2019 23:41:44 GMT", + "content-type": "application/json", + "content-length": "292", + "connection": "close", + "boulder-requester": "11408075", + "cache-control": "public, max-age=0, no-cache", + "link": ";rel=\"index\", ;rel=\"up\"", + "location": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603344/Hqvliw", + "replay-nonce": "0001RZo7OXhCjsG_9mtrLylmz443TVc9FOsyhfergGWmkDM", + "x-frame-options": "DENY", + "strict-transport-security": "max-age=604800" + }, + { + "type": "dns-01", + "status": "valid", + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603344/Hqvliw", + "token": "uv7D1YC7oWvMY8-EC2blKxmSFExYHwjCcKjGpuodwWs", + "validationRecord": [ + { "hostname": "xn--foo-acmejs-2ea4-zk8x.test.utahrust.com" } + ] + } + ] +] diff --git a/fixtures/challenge.pending.json b/fixtures/challenge.pending.json new file mode 100644 index 0000000..9f5f960 --- /dev/null +++ b/fixtures/challenge.pending.json @@ -0,0 +1,15 @@ +{ + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603341/yCthUw", + "json": { + "protected": "eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDFrUkV5eXVhYUlhY1BoRDctajczQkh6eVFuaGZQaUJNM1BFd25YREZWZ1RjIiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9jaGFsbC12My8xNjYwMzM0MS95Q3RoVXciLCJhbGciOiJFUzI1NiJ9", + "payload": "e30", + "signature": "QZKdMroSf-qrno2UBHf_L2nL9VrvDtDEb0uLL2fp1yKkwX8u0sELLOYfIu8YqeSwcmPZ1LQHWbXLx5SQ0Lv3Pw" + }, + "headers": { + "User-Agent": "ACME.js/v3 node/v10.13.0 darwin/17.7.0 Darwin/x64", + "Content-Type": "application/jose+json", + "Accept": "application/json" + }, + "body": "{\"protected\":\"eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDFrUkV5eXVhYUlhY1BoRDctajczQkh6eVFuaGZQaUJNM1BFd25YREZWZ1RjIiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9jaGFsbC12My8xNjYwMzM0MS95Q3RoVXciLCJhbGciOiJFUzI1NiJ9\",\"payload\":\"e30\",\"signature\":\"QZKdMroSf-qrno2UBHf_L2nL9VrvDtDEb0uLL2fp1yKkwX8u0sELLOYfIu8YqeSwcmPZ1LQHWbXLx5SQ0Lv3Pw\"}", + "method": "POST" +} diff --git a/fixtures/challenge.pending.response.headers.json b/fixtures/challenge.pending.response.headers.json new file mode 100644 index 0000000..4d2edcd --- /dev/null +++ b/fixtures/challenge.pending.response.headers.json @@ -0,0 +1,14 @@ +{ + "server": "nginx", + "date": "Thu, 24 Oct 2019 23:41:39 GMT", + "content-type": "application/json", + "content-length": "190", + "connection": "close", + "boulder-requester": "11408075", + "cache-control": "public, max-age=0, no-cache", + "link": ";rel=\"index\", ;rel=\"up\"", + "location": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603341/yCthUw", + "replay-nonce": "0001In5LKCnj27k3uNTzl19vqQ5oHlroIJJI-U1daaxNd-Y", + "x-frame-options": "DENY", + "strict-transport-security": "max-age=604800" +} diff --git a/fixtures/challenge.pending.response.json b/fixtures/challenge.pending.response.json new file mode 100644 index 0000000..9d87b85 --- /dev/null +++ b/fixtures/challenge.pending.response.json @@ -0,0 +1,5 @@ +{ type: 'dns-01', + status: 'pending', + url: + 'https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603341/yCthUw', + token: 'DiO9DFHuFTpNsJxIbOxfVCSPVkpe4lJUjozeSyzkMjI' } diff --git a/fixtures/challenge.valid.json b/fixtures/challenge.valid.json new file mode 100644 index 0000000..0eca62e --- /dev/null +++ b/fixtures/challenge.valid.json @@ -0,0 +1,15 @@ +{ + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603341/yCthUw", + "json": { + "protected": "eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDFJbjVMS0NuajI3azN1TlR6bDE5dnFRNW9IbHJvSUpKSS1VMWRhYXhOZC1ZIiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9jaGFsbC12My8xNjYwMzM0MS95Q3RoVXciLCJhbGciOiJFUzI1NiJ9", + "payload": "e30", + "signature": "3SVtWvRXGFirW198sM4bWErA5M_GplWkI_duSKLHtdGLe-R2D2r0VK1_Xn4exfk6MGIBSkaeeYV6RJfnsLgYLg" + }, + "headers": { + "User-Agent": "ACME.js/v3 node/v10.13.0 darwin/17.7.0 Darwin/x64", + "Content-Type": "application/jose+json", + "Accept": "application/json" + }, + "body": "{\"protected\":\"eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDFJbjVMS0NuajI3azN1TlR6bDE5dnFRNW9IbHJvSUpKSS1VMWRhYXhOZC1ZIiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9jaGFsbC12My8xNjYwMzM0MS95Q3RoVXciLCJhbGciOiJFUzI1NiJ9\",\"payload\":\"e30\",\"signature\":\"3SVtWvRXGFirW198sM4bWErA5M_GplWkI_duSKLHtdGLe-R2D2r0VK1_Xn4exfk6MGIBSkaeeYV6RJfnsLgYLg\"}", + "method": "POST" +} diff --git a/fixtures/challenge.valid.response.headers.json b/fixtures/challenge.valid.response.headers.json new file mode 100644 index 0000000..daa5dcb --- /dev/null +++ b/fixtures/challenge.valid.response.headers.json @@ -0,0 +1,9 @@ +{ + "type": "dns-01", + "status": "valid", + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603341/yCthUw", + "token": "DiO9DFHuFTpNsJxIbOxfVCSPVkpe4lJUjozeSyzkMjI", + "validationRecord": [ + { "hostname": "xn--baz-acmejs-2ea4-zk8x.test.utahrust.com" } + ] +} diff --git a/fixtures/challenge.valid.response.json b/fixtures/challenge.valid.response.json new file mode 100644 index 0000000..1d530e5 --- /dev/null +++ b/fixtures/challenge.valid.response.json @@ -0,0 +1,14 @@ +{ + "server": "nginx", + "date": "Thu, 24 Oct 2019 23:41:40 GMT", + "content-type": "application/json", + "content-length": "292", + "connection": "close", + "boulder-requester": "11408075", + "cache-control": "public, max-age=0, no-cache", + "link": ";rel=\"index\", ;rel=\"up\"", + "location": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/16603341/yCthUw", + "replay-nonce": "0001P9ksMrD-4xaHyRPUVR2pq6PMQSG7T-ELjWBWXsLROv0", + "x-frame-options": "DENY", + "strict-transport-security": "max-age=604800" +} diff --git a/fixtures/directory.request.json b/fixtures/directory.request.json new file mode 100644 index 0000000..e84fd00 --- /dev/null +++ b/fixtures/directory.request.json @@ -0,0 +1,9 @@ +{ + "method": "GET", + "url": "https://acme-staging-v02.api.letsencrypt.org/directory", + "json": true, + "headers": { + "User-Agent": "ACME.js/v3 node/v10.13.0 darwin/17.7.0 Darwin/x64", + "Accept": "application/json" + } +} diff --git a/fixtures/directory.response.headers.json b/fixtures/directory.response.headers.json new file mode 100644 index 0000000..7f4a3c1 --- /dev/null +++ b/fixtures/directory.response.headers.json @@ -0,0 +1,10 @@ +{ + "server": "nginx", + "date": "Thu, 24 Oct 2019 23:41:24 GMT", + "content-type": "application/json", + "content-length": "724", + "connection": "close", + "cache-control": "public, max-age=0, no-cache", + "x-frame-options": "DENY", + "strict-transport-security": "max-age=604800" +} diff --git a/fixtures/directory.response.json b/fixtures/directory.response.json new file mode 100644 index 0000000..d8d8663 --- /dev/null +++ b/fixtures/directory.response.json @@ -0,0 +1,13 @@ +{ + "Uw5jwSdQL_Q": "https://community.letsencrypt.org/t/adding-random-entries-to-the-directory/33417", + "keyChange": "https://acme-staging-v02.api.letsencrypt.org/acme/key-change", + "meta": { + "caaIdentities": ["letsencrypt.org"], + "termsOfService": "https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf", + "website": "https://letsencrypt.org/docs/staging-environment/" + }, + "newAccount": "https://acme-staging-v02.api.letsencrypt.org/acme/new-acct", + "newNonce": "https://acme-staging-v02.api.letsencrypt.org/acme/new-nonce", + "newOrder": "https://acme-staging-v02.api.letsencrypt.org/acme/new-order", + "revokeCert": "https://acme-staging-v02.api.letsencrypt.org/acme/revoke-cert" +} diff --git a/fixtures/finalize.valid.json b/fixtures/finalize.valid.json new file mode 100644 index 0000000..5a008af --- /dev/null +++ b/fixtures/finalize.valid.json @@ -0,0 +1,15 @@ +{ + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/finalize/11408075/57799471", + "json": { + "protected": "eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDFSWm83T1hoQ2pzR185bXRyTHlsbXo0NDNUVmM5Rk9zeWhmZXJnR1dta0RNIiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9maW5hbGl6ZS8xMTQwODA3NS81Nzc5OTQ3MSIsImFsZyI6IkVTMjU2In0", + "payload": "eyJjc3IiOiJNSUlEVHpDQ0FqY0NBUUF3TlRFek1ERUdBMVVFQXd3cWVHNHRMV1p2YnkxaFkyMWxhbk10TW1WaE5DMTZhemg0TG5SbGMzUXVkWFJoYUhKMWMzUXVZMjl0TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUE1ZUFqTlc4bk5CRzRhU2lhZ3BET3pBM0l4b1VIc3lZSWMwNWIzekpqRjhla3VxTW9wMTJtVW1tOGREOUh3alhuN2Z4Qi1wUDJTLVAyOUR1TGVCVG9CVEpybnBLRHBOSktaUVRrOEVfdFo4U2ZfWTc2SWZObjhONi1yODZyUjhkQ2dYNU8wUVdDY3hWbGt2aUNjVEp5SkxOQ3psLTJmNGQ2TXNaaVlFZm00bVU4WUtuMlV3NTc3T0xCNVlwdVpsZ083aEN1cF9kTVFkc1U2a0UtQWxTZHJpM1BUR1loSjNITzVIMUQtMko3ZHI1d0tOWGpHM0VKdVUzMWJmc29MVldjU1F1MURDQ2JyT05rQlZKUlk0dGxTb3hVdllmNy1OSGxuMnZWZGg2OFFPVUNYZm14YlNSb1JfOFYwdC12eTE5dHVjOVN4VzlFdmtqbUIwdWJLaWNseHdJREFRQUJvSUhVTUlIUkJna3Foa2lHOXcwQkNRNHhnY013Z2NBd2diMEdBMVVkRVFTQnRUQ0Jzb0lxZUc0dExXWnZieTFoWTIxbGFuTXRNbVZoTkMxNmF6aDRMblJsYzNRdWRYUmhhSEoxYzNRdVkyOXRnaXA0YmkwdFltRnlMV0ZqYldWcWN5MHlaV0UwTFhwck9IZ3VkR1Z6ZEM1MWRHRm9jblZ6ZEM1amIyMkNMQ291ZUc0dExXSmhlaTFoWTIxbGFuTXRNbVZoTkMxNmF6aDRMblJsYzNRdWRYUmhhSEoxYzNRdVkyOXRnaXA0YmkwdFltRjZMV0ZqYldWcWN5MHlaV0UwTFhwck9IZ3VkR1Z6ZEM1MWRHRm9jblZ6ZEM1amIyMHdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBTV9idU84N0YtMkd2aThKZmlaZ3ZYNGNvUnllLVhSSDVnbTJ6enRjNW1KS0ZxRmRBdkV5Z0IxbE82NmJaTG5uZjk5bWRROFk5UnQ0R1RiU3N5N1djQ1NMVF91MVNGX0h1REU5SnZ2ek43MnU1VmtlLW1KelB0cG1OcTlRODZpRWNVQnVEMmNfVVVCQ0Y2ZEFsTHhUZmRQRkJWdXBPSnVCRmQ4azdBNlhhbTl0UjFKV3p4RGdrSHM1cTdmSWo1dXVLcmdjSlhWc19lWHA0QkNONEcyM2hKX01YR1RidDhqeHU1MTFOaDE0Z18wT3JlWkw1bHd5MWR5ZE9mN0pLdGpUdmtyQWE1YjJDVXlLa293NHlaLTNoUmVRcHZjVnIzcnRaTWtKdndMMHI5WjcxcENHRjViUVEweDBIVk04VzYtVkotTWJpLVlhTC04TjNyNEpTbWdDN09VIn0", + "signature": "_X0X-Wg86dr5mF0eS0GOYNSmO0HCenlIGQeMygRVoH7BpYO0AMK_mgRQlNR3MWNMULC_aQ-oEMtsXGMXrTa7VA" + }, + "headers": { + "User-Agent": "ACME.js/v3 node/v10.13.0 darwin/17.7.0 Darwin/x64", + "Content-Type": "application/jose+json", + "Accept": "application/json" + }, + "body": "{\"protected\":\"eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDFSWm83T1hoQ2pzR185bXRyTHlsbXo0NDNUVmM5Rk9zeWhmZXJnR1dta0RNIiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9maW5hbGl6ZS8xMTQwODA3NS81Nzc5OTQ3MSIsImFsZyI6IkVTMjU2In0\",\"payload\":\"eyJjc3IiOiJNSUlEVHpDQ0FqY0NBUUF3TlRFek1ERUdBMVVFQXd3cWVHNHRMV1p2YnkxaFkyMWxhbk10TW1WaE5DMTZhemg0TG5SbGMzUXVkWFJoYUhKMWMzUXVZMjl0TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUE1ZUFqTlc4bk5CRzRhU2lhZ3BET3pBM0l4b1VIc3lZSWMwNWIzekpqRjhla3VxTW9wMTJtVW1tOGREOUh3alhuN2Z4Qi1wUDJTLVAyOUR1TGVCVG9CVEpybnBLRHBOSktaUVRrOEVfdFo4U2ZfWTc2SWZObjhONi1yODZyUjhkQ2dYNU8wUVdDY3hWbGt2aUNjVEp5SkxOQ3psLTJmNGQ2TXNaaVlFZm00bVU4WUtuMlV3NTc3T0xCNVlwdVpsZ083aEN1cF9kTVFkc1U2a0UtQWxTZHJpM1BUR1loSjNITzVIMUQtMko3ZHI1d0tOWGpHM0VKdVUzMWJmc29MVldjU1F1MURDQ2JyT05rQlZKUlk0dGxTb3hVdllmNy1OSGxuMnZWZGg2OFFPVUNYZm14YlNSb1JfOFYwdC12eTE5dHVjOVN4VzlFdmtqbUIwdWJLaWNseHdJREFRQUJvSUhVTUlIUkJna3Foa2lHOXcwQkNRNHhnY013Z2NBd2diMEdBMVVkRVFTQnRUQ0Jzb0lxZUc0dExXWnZieTFoWTIxbGFuTXRNbVZoTkMxNmF6aDRMblJsYzNRdWRYUmhhSEoxYzNRdVkyOXRnaXA0YmkwdFltRnlMV0ZqYldWcWN5MHlaV0UwTFhwck9IZ3VkR1Z6ZEM1MWRHRm9jblZ6ZEM1amIyMkNMQ291ZUc0dExXSmhlaTFoWTIxbGFuTXRNbVZoTkMxNmF6aDRMblJsYzNRdWRYUmhhSEoxYzNRdVkyOXRnaXA0YmkwdFltRjZMV0ZqYldWcWN5MHlaV0UwTFhwck9IZ3VkR1Z6ZEM1MWRHRm9jblZ6ZEM1amIyMHdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBTV9idU84N0YtMkd2aThKZmlaZ3ZYNGNvUnllLVhSSDVnbTJ6enRjNW1KS0ZxRmRBdkV5Z0IxbE82NmJaTG5uZjk5bWRROFk5UnQ0R1RiU3N5N1djQ1NMVF91MVNGX0h1REU5SnZ2ek43MnU1VmtlLW1KelB0cG1OcTlRODZpRWNVQnVEMmNfVVVCQ0Y2ZEFsTHhUZmRQRkJWdXBPSnVCRmQ4azdBNlhhbTl0UjFKV3p4RGdrSHM1cTdmSWo1dXVLcmdjSlhWc19lWHA0QkNONEcyM2hKX01YR1RidDhqeHU1MTFOaDE0Z18wT3JlWkw1bHd5MWR5ZE9mN0pLdGpUdmtyQWE1YjJDVXlLa293NHlaLTNoUmVRcHZjVnIzcnRaTWtKdndMMHI5WjcxcENHRjViUVEweDBIVk04VzYtVkotTWJpLVlhTC04TjNyNEpTbWdDN09VIn0\",\"signature\":\"_X0X-Wg86dr5mF0eS0GOYNSmO0HCenlIGQeMygRVoH7BpYO0AMK_mgRQlNR3MWNMULC_aQ-oEMtsXGMXrTa7VA\"}", + "method": "POST" +} diff --git a/fixtures/finalize.valid.response.headers.json b/fixtures/finalize.valid.response.headers.json new file mode 100644 index 0000000..e721ecd --- /dev/null +++ b/fixtures/finalize.valid.response.headers.json @@ -0,0 +1,14 @@ +{ + "server": "nginx", + "date": "Thu, 24 Oct 2019 23:41:44 GMT", + "content-type": "application/json", + "content-length": "993", + "connection": "close", + "boulder-requester": "11408075", + "cache-control": "public, max-age=0, no-cache", + "link": ";rel=\"index\"", + "location": "https://acme-staging-v02.api.letsencrypt.org/acme/order/11408075/57799471", + "replay-nonce": "00011-njQ_u1jx7WjTG_cPejm9QLKelEqEEtJDkreTry9R8", + "x-frame-options": "DENY", + "strict-transport-security": "max-age=604800" +} diff --git a/fixtures/finalize.valid.response.json b/fixtures/finalize.valid.response.json new file mode 100644 index 0000000..d314bd7 --- /dev/null +++ b/fixtures/finalize.valid.response.json @@ -0,0 +1,27 @@ +{ + "status": "valid", + "expires": "2019-10-31T23:41:32Z", + "identifiers": [ + { + "type": "dns", + "value": "*.xn--baz-acmejs-2ea4-zk8x.test.utahrust.com" + }, + { + "type": "dns", + "value": "xn--bar-acmejs-2ea4-zk8x.test.utahrust.com" + }, + { + "type": "dns", + "value": "xn--baz-acmejs-2ea4-zk8x.test.utahrust.com" + }, + { "type": "dns", "value": "xn--foo-acmejs-2ea4-zk8x.test.utahrust.com" } + ], + "authorizations": [ + "https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/16603341", + "https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/16603342", + "https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/16603343", + "https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/16603344" + ], + "finalize": "https://acme-staging-v02.api.letsencrypt.org/acme/finalize/11408075/57799471", + "certificate": "https://acme-staging-v02.api.letsencrypt.org/acme/cert/fa78326c21c0c7f06c03931900bead4fe3ee" +} diff --git a/fixtures/nonce.request.json b/fixtures/nonce.request.json new file mode 100644 index 0000000..485a9d7 --- /dev/null +++ b/fixtures/nonce.request.json @@ -0,0 +1,7 @@ +{ + "method": "HEAD", + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/new-nonce", + "headers": { + "User-Agent": "ACME.js/v3 node/v10.13.0 Darwin darwin/17.7.0 Darwin/x64" + } +} diff --git a/fixtures/nonce.response.headers.json b/fixtures/nonce.response.headers.json new file mode 100644 index 0000000..f13454b --- /dev/null +++ b/fixtures/nonce.response.headers.json @@ -0,0 +1,10 @@ +{ + "server": "nginx", + "date": "Thu, 24 Oct 2019 23:41:24 GMT", + "connection": "close", + "cache-control": "public, max-age=0, no-cache", + "link": ";rel=\"index\"", + "replay-nonce": "0001IPeC3ta_uKoe-5GjpqQYFR1C-QcKJsTUZsGZMQOK69g", + "x-frame-options": "DENY", + "strict-transport-security": "max-age=604800" +} diff --git a/fixtures/nonce.response.txt b/fixtures/nonce.response.txt new file mode 100644 index 0000000..a6b4c21 --- /dev/null +++ b/fixtures/nonce.response.txt @@ -0,0 +1 @@ +// there is no nonce response body, see the headers diff --git a/fixtures/order.request.json b/fixtures/order.request.json new file mode 100644 index 0000000..255f5d7 --- /dev/null +++ b/fixtures/order.request.json @@ -0,0 +1,15 @@ +{ + "url": "https://acme-staging-v02.api.letsencrypt.org/acme/new-order", + "json": { + "protected": "eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDJPMWRvd3FhRVFXRUh0UDJDejlCWUp1T1U5MXVSdlJNMXVQRmJjZHdhai0wIiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9uZXctb3JkZXIiLCJhbGciOiJFUzI1NiJ9", + "payload": "eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoieG4tLWZvby1hY21lanMtMmVhNC16azh4LnRlc3QudXRhaHJ1c3QuY29tIn0seyJ0eXBlIjoiZG5zIiwidmFsdWUiOiJ4bi0tYmFyLWFjbWVqcy0yZWE0LXprOHgudGVzdC51dGFocnVzdC5jb20ifSx7InR5cGUiOiJkbnMiLCJ2YWx1ZSI6IioueG4tLWJhei1hY21lanMtMmVhNC16azh4LnRlc3QudXRhaHJ1c3QuY29tIn0seyJ0eXBlIjoiZG5zIiwidmFsdWUiOiJ4bi0tYmF6LWFjbWVqcy0yZWE0LXprOHgudGVzdC51dGFocnVzdC5jb20ifV19", + "signature": "Bw8cjSwQj_rFooUFL61gqiuLXec-8x4anHNF1ueVt_LvoCO70bYt0fM26W4hOJ9Es6fibmYazFKSTPwdgnLm2Q" + }, + "headers": { + "User-Agent": "ACME.js/v3 node/v10.13.0 darwin/17.7.0 Darwin/x64", + "Content-Type": "application/jose+json", + "Accept": "application/json" + }, + "body": "{\"protected\":\"eyJraWQiOiJodHRwczovL2FjbWUtc3RhZ2luZy12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTE0MDgwNzUiLCJub25jZSI6IjAwMDJPMWRvd3FhRVFXRUh0UDJDejlCWUp1T1U5MXVSdlJNMXVQRmJjZHdhai0wIiwidXJsIjoiaHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9uZXctb3JkZXIiLCJhbGciOiJFUzI1NiJ9\",\"payload\":\"eyJpZGVudGlmaWVycyI6W3sidHlwZSI6ImRucyIsInZhbHVlIjoieG4tLWZvby1hY21lanMtMmVhNC16azh4LnRlc3QudXRhaHJ1c3QuY29tIn0seyJ0eXBlIjoiZG5zIiwidmFsdWUiOiJ4bi0tYmFyLWFjbWVqcy0yZWE0LXprOHgudGVzdC51dGFocnVzdC5jb20ifSx7InR5cGUiOiJkbnMiLCJ2YWx1ZSI6IioueG4tLWJhei1hY21lanMtMmVhNC16azh4LnRlc3QudXRhaHJ1c3QuY29tIn0seyJ0eXBlIjoiZG5zIiwidmFsdWUiOiJ4bi0tYmF6LWFjbWVqcy0yZWE0LXprOHgudGVzdC51dGFocnVzdC5jb20ifV19\",\"signature\":\"Bw8cjSwQj_rFooUFL61gqiuLXec-8x4anHNF1ueVt_LvoCO70bYt0fM26W4hOJ9Es6fibmYazFKSTPwdgnLm2Q\"}", + "method": "POST" +} diff --git a/fixtures/order.response.headers.json b/fixtures/order.response.headers.json new file mode 100644 index 0000000..5757b23 --- /dev/null +++ b/fixtures/order.response.headers.json @@ -0,0 +1,14 @@ +{ + "server": "nginx", + "date": "Thu, 24 Oct 2019 23:41:32 GMT", + "content-type": "application/json", + "content-length": "893", + "connection": "close", + "boulder-requester": "11408075", + "cache-control": "public, max-age=0, no-cache", + "link": ";rel=\"index\"", + "location": "https://acme-staging-v02.api.letsencrypt.org/acme/order/11408075/57799471", + "replay-nonce": "0001j4Azsd0kk6i60NSzRoZcvLidmLo5B0sG1lMKTqWr388", + "x-frame-options": "DENY", + "strict-transport-security": "max-age=604800" +} diff --git a/fixtures/order.response.json b/fixtures/order.response.json new file mode 100644 index 0000000..a03bbd8 --- /dev/null +++ b/fixtures/order.response.json @@ -0,0 +1,26 @@ +{ + "status": "pending", + "expires": "2019-10-31T23:41:32.669736375Z", + "identifiers": [ + { + "type": "dns", + "value": "*.xn--baz-acmejs-2ea4-zk8x.test.utahrust.com" + }, + { + "type": "dns", + "value": "xn--bar-acmejs-2ea4-zk8x.test.utahrust.com" + }, + { + "type": "dns", + "value": "xn--baz-acmejs-2ea4-zk8x.test.utahrust.com" + }, + { "type": "dns", "value": "xn--foo-acmejs-2ea4-zk8x.test.utahrust.com" } + ], + "authorizations": [ + "https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/16603341", + "https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/16603342", + "https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/16603343", + "https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/16603344" + ], + "finalize": "https://acme-staging-v02.api.letsencrypt.org/acme/finalize/11408075/57799471" +}