mirror of
https://github.com/MAKS-IT-COM/maksit-certs-ui.git
synced 2025-12-31 04:00:03 +01:00
651 lines
15 KiB
JSON
651 lines
15 KiB
JSON
{
|
|
"info": {
|
|
"_postman_id": "95186b61-1197-4a6e-a90f-d97223528d90",
|
|
"name": "LetsEncrypt Client",
|
|
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
|
|
"_exporter_id": "33635244"
|
|
},
|
|
"item": [
|
|
{
|
|
"name": "account",
|
|
"item": [
|
|
{
|
|
"name": "get cache contacts",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
},
|
|
{
|
|
"key": "Accept",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"url": {
|
|
"raw": "http://localhost:8080/api/Cache/GetContacts/{{accountId}}",
|
|
"protocol": "http",
|
|
"host": [
|
|
"localhost"
|
|
],
|
|
"port": "8080",
|
|
"path": [
|
|
"api",
|
|
"Cache",
|
|
"GetContacts",
|
|
"{{accountId}}"
|
|
]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "set cache contacts",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
},
|
|
{
|
|
"key": "Accept",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\r\n \"contacts\": [\r\n \"maksym.sadovnychyy@gmail.com\"\r\n ]\r\n}",
|
|
"options": {
|
|
"raw": {
|
|
"language": "json"
|
|
}
|
|
}
|
|
},
|
|
"url": {
|
|
"raw": "http://localhost:8080/api/Cache/SetContacts/{{accountId}}",
|
|
"protocol": "http",
|
|
"host": [
|
|
"localhost"
|
|
],
|
|
"port": "8080",
|
|
"path": [
|
|
"api",
|
|
"Cache",
|
|
"SetContacts",
|
|
"{{accountId}}"
|
|
]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "host with upcoming ssl expire Copy",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json",
|
|
"disabled": true
|
|
},
|
|
{
|
|
"key": "Accept",
|
|
"value": "application/json",
|
|
"disabled": true
|
|
}
|
|
],
|
|
"url": {
|
|
"raw": "http://localhost:8080/api/CertsFlow/HostsWithUpcomingSslExpiry/{{sessionId}}",
|
|
"protocol": "http",
|
|
"host": [
|
|
"localhost"
|
|
],
|
|
"port": "8080",
|
|
"path": [
|
|
"api",
|
|
"CertsFlow",
|
|
"HostsWithUpcomingSslExpiry",
|
|
"{{sessionId}}"
|
|
]
|
|
}
|
|
},
|
|
"response": []
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "certs",
|
|
"item": [
|
|
{
|
|
"name": "letsencrypt directory",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [],
|
|
"url": {
|
|
"raw": "{{letsEncryptDirectory}}",
|
|
"host": [
|
|
"{{letsEncryptDirectory}}"
|
|
]
|
|
},
|
|
"description": "[https://letsencrypt.status.io/](https://letsencrypt.status.io/)"
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "configure-client",
|
|
"event": [
|
|
{
|
|
"listen": "test",
|
|
"script": {
|
|
"exec": [
|
|
"// Ensure the response status code is 200 (OK)\r",
|
|
"if (pm.response.code === 200) {\r",
|
|
" // Get the plain text response\r",
|
|
" let responseBody = pm.response.text();\r",
|
|
" \r",
|
|
" // Remove the surrounding quotes if present\r",
|
|
" responseBody = responseBody.replace(/^\"|\"$/g, '');\r",
|
|
" \r",
|
|
" // Check if the response body is a valid GUID\r",
|
|
" if (/^[0-9a-fA-F-]{36}$/.test(responseBody)) {\r",
|
|
" // Set the environment variable sessionId with the response\r",
|
|
" pm.environment.set(\"sessionId\", responseBody);\r",
|
|
" console.log(`sessionId set to: ${responseBody}`);\r",
|
|
" } else {\r",
|
|
" console.log(\"Response body is not a valid GUID\");\r",
|
|
" }\r",
|
|
"} else {\r",
|
|
" console.log(`Request failed with status code: ${pm.response.code}`);\r",
|
|
"}\r",
|
|
""
|
|
],
|
|
"type": "text/javascript",
|
|
"packages": {}
|
|
}
|
|
}
|
|
],
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
},
|
|
{
|
|
"key": "Accept",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\r\n \"isStaging\": {{isStaging}}\r\n}",
|
|
"options": {
|
|
"raw": {
|
|
"language": "json"
|
|
}
|
|
}
|
|
},
|
|
"url": {
|
|
"raw": "http://localhost:8080/api/certs/configure-client",
|
|
"protocol": "http",
|
|
"host": [
|
|
"localhost"
|
|
],
|
|
"port": "8080",
|
|
"path": [
|
|
"api",
|
|
"certs",
|
|
"configure-client"
|
|
]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "terms-of-service",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [],
|
|
"url": {
|
|
"raw": "http://localhost:8080/api/certs/{{sessionId}}/terms-of-service",
|
|
"protocol": "http",
|
|
"host": [
|
|
"localhost"
|
|
],
|
|
"port": "8080",
|
|
"path": [
|
|
"api",
|
|
"certs",
|
|
"{{sessionId}}",
|
|
"terms-of-service"
|
|
]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "init",
|
|
"event": [
|
|
{
|
|
"listen": "test",
|
|
"script": {
|
|
"exec": [
|
|
"// Ensure the response status code is 200 (OK)\r",
|
|
"if (pm.response.code === 200) {\r",
|
|
" // Get the plain text response\r",
|
|
" let responseBody = pm.response.text();\r",
|
|
" \r",
|
|
" // Remove the surrounding quotes if present\r",
|
|
" responseBody = responseBody.replace(/^\"|\"$/g, '');\r",
|
|
" \r",
|
|
" // Check if the response body is a valid GUID\r",
|
|
" if (/^[0-9a-fA-F-]{36}$/.test(responseBody)) {\r",
|
|
" // Set the environment variable accountId with the response\r",
|
|
" pm.environment.set(\"accountId\", responseBody);\r",
|
|
" console.log(`accountId set to: ${responseBody}`);\r",
|
|
" } else {\r",
|
|
" console.log(\"Response body is not a valid GUID\");\r",
|
|
" }\r",
|
|
"} else {\r",
|
|
" console.log(`Request failed with status code: ${pm.response.code}`);\r",
|
|
"}\r",
|
|
""
|
|
],
|
|
"type": "text/javascript",
|
|
"packages": {}
|
|
}
|
|
},
|
|
{
|
|
"listen": "prerequest",
|
|
"script": {
|
|
"exec": [
|
|
"// Retrieve sessionId and accountId from environment variables or global variables\r",
|
|
"var sessionId = pm.environment.get(\"sessionId\") || pm.globals.get(\"sessionId\");\r",
|
|
"var accountId = pm.environment.get(\"accountId\") || pm.globals.get(\"accountId\");\r",
|
|
"\r",
|
|
"// Base URL without the optional accountId parameter\r",
|
|
"var baseUrl = `http://localhost:8080/CertsFlow/Init/${sessionId}`;\r",
|
|
"\r",
|
|
"// Append the accountId if it is provided\r",
|
|
"if (accountId) {\r",
|
|
" pm.request.url = `${baseUrl}/${accountId}`;\r",
|
|
"} else {\r",
|
|
" pm.request.url = baseUrl;\r",
|
|
"}"
|
|
],
|
|
"type": "text/javascript",
|
|
"packages": {}
|
|
}
|
|
}
|
|
],
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
},
|
|
{
|
|
"key": "Accept",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\r\n \"contacts\": [\r\n \"maksym.sadovnychyy@gmail.com\"\r\n ]\r\n}",
|
|
"options": {
|
|
"raw": {
|
|
"language": "json"
|
|
}
|
|
}
|
|
},
|
|
"url": {
|
|
"raw": "http://localhost:8080/api/certs/{{sessionId}}/init/{{accountId}}",
|
|
"protocol": "http",
|
|
"host": [
|
|
"localhost"
|
|
],
|
|
"port": "8080",
|
|
"path": [
|
|
"api",
|
|
"certs",
|
|
"{{sessionId}}",
|
|
"init",
|
|
"{{accountId}}"
|
|
]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "order",
|
|
"event": [
|
|
{
|
|
"listen": "test",
|
|
"script": {
|
|
"exec": [
|
|
"// Ensure the response status code is 200 (OK)\r",
|
|
"if (pm.response.code === 200) {\r",
|
|
" // Parse the JSON response\r",
|
|
" let responseBody;\r",
|
|
" try {\r",
|
|
" responseBody = pm.response.json();\r",
|
|
" } catch (e) {\r",
|
|
" console.error(\"Failed to parse JSON response:\", e);\r",
|
|
" return;\r",
|
|
" }\r",
|
|
"\r",
|
|
" // Check if the response is an array and has at least one element\r",
|
|
" if (Array.isArray(responseBody) && responseBody.length > 0) {\r",
|
|
" // Get the first element of the array\r",
|
|
" const firstElement = responseBody[0];\r",
|
|
" \r",
|
|
" // Set the environment variable challenge with the first element\r",
|
|
" pm.environment.set(\"challenge\", firstElement);\r",
|
|
" console.log(`challenge set to: ${firstElement}`);\r",
|
|
" } else {\r",
|
|
" console.log(\"Response body is not an array or is empty\");\r",
|
|
" }\r",
|
|
"} else {\r",
|
|
" console.log(`Request failed with status code: ${pm.response.code}`);\r",
|
|
"}\r",
|
|
""
|
|
],
|
|
"type": "text/javascript",
|
|
"packages": {}
|
|
}
|
|
}
|
|
],
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
},
|
|
{
|
|
"key": "Accept",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\r\n \"hostnames\": [\r\n \"staging.maks-it.com\"\r\n ],\r\n \"challengeType\": \"http-01\"\r\n}",
|
|
"options": {
|
|
"raw": {
|
|
"language": "json"
|
|
}
|
|
}
|
|
},
|
|
"url": {
|
|
"raw": "http://localhost:8080/api/certs/{{sessionId}}/order",
|
|
"protocol": "http",
|
|
"host": [
|
|
"localhost"
|
|
],
|
|
"port": "8080",
|
|
"path": [
|
|
"api",
|
|
"certs",
|
|
"{{sessionId}}",
|
|
"order"
|
|
]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "acme-challenge local",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [],
|
|
"url": {
|
|
"raw": "http://localhost:8080/.well-known/acme-challenge/{{challenge}}",
|
|
"protocol": "http",
|
|
"host": [
|
|
"localhost"
|
|
],
|
|
"port": "8080",
|
|
"path": [
|
|
".well-known",
|
|
"acme-challenge",
|
|
"{{challenge}}"
|
|
]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "acme-challenge",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [],
|
|
"url": {
|
|
"raw": "http://staging.maks-it.com/.well-known/acme-challenge/{{challenge}}",
|
|
"protocol": "http",
|
|
"host": [
|
|
"staging",
|
|
"maks-it",
|
|
"com"
|
|
],
|
|
"path": [
|
|
".well-known",
|
|
"acme-challenge",
|
|
"{{challenge}}"
|
|
]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "complete-challenges",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
},
|
|
{
|
|
"key": "Accept",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "",
|
|
"options": {
|
|
"raw": {
|
|
"language": "json"
|
|
}
|
|
}
|
|
},
|
|
"url": {
|
|
"raw": "http://localhost:8080/api/certs/{{sessionId}}/complete-challenges",
|
|
"protocol": "http",
|
|
"host": [
|
|
"localhost"
|
|
],
|
|
"port": "8080",
|
|
"path": [
|
|
"api",
|
|
"certs",
|
|
"{{sessionId}}",
|
|
"complete-challenges"
|
|
]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "order-status",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
},
|
|
{
|
|
"key": "Accept",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\r\n \"hostnames\": [\r\n \"staging.maks-it.com\"\r\n ]\r\n}",
|
|
"options": {
|
|
"raw": {
|
|
"language": "json"
|
|
}
|
|
}
|
|
},
|
|
"url": {
|
|
"raw": "http://localhost:8080/api/certs/{{sessionId}}/order-status",
|
|
"protocol": "http",
|
|
"host": [
|
|
"localhost"
|
|
],
|
|
"port": "8080",
|
|
"path": [
|
|
"api",
|
|
"certs",
|
|
"{{sessionId}}",
|
|
"order-status"
|
|
]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "download",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
},
|
|
{
|
|
"key": "Accept",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\r\n \"hostnames\": [\r\n \"staging.maks-it.com\"\r\n ]\r\n}",
|
|
"options": {
|
|
"raw": {
|
|
"language": "json"
|
|
}
|
|
}
|
|
},
|
|
"url": {
|
|
"raw": "http://localhost:8080/api/certs/{{sessionId}}//certificates/download",
|
|
"protocol": "http",
|
|
"host": [
|
|
"localhost"
|
|
],
|
|
"port": "8080",
|
|
"path": [
|
|
"api",
|
|
"certs",
|
|
"{{sessionId}}",
|
|
"",
|
|
"certificates",
|
|
"download"
|
|
]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "apply",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
},
|
|
{
|
|
"key": "Accept",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\r\n \"hostnames\": [\r\n \"staging.maks-it.com\"\r\n ]\r\n}",
|
|
"options": {
|
|
"raw": {
|
|
"language": "json"
|
|
}
|
|
}
|
|
},
|
|
"url": {
|
|
"raw": "http://localhost:8080/api/certs/{{sessionId}}/certificates/apply",
|
|
"protocol": "http",
|
|
"host": [
|
|
"localhost"
|
|
],
|
|
"port": "8080",
|
|
"path": [
|
|
"api",
|
|
"certs",
|
|
"{{sessionId}}",
|
|
"certificates",
|
|
"apply"
|
|
]
|
|
}
|
|
},
|
|
"response": []
|
|
},
|
|
{
|
|
"name": "revoke",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json",
|
|
"type": "text"
|
|
},
|
|
{
|
|
"key": "Accept",
|
|
"value": "application/json",
|
|
"type": "text"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\r\n \"hostnames\": [\r\n \"staging.maks-it.com\"\r\n ]\r\n}",
|
|
"options": {
|
|
"raw": {
|
|
"language": "json"
|
|
}
|
|
}
|
|
},
|
|
"url": {
|
|
"raw": "http://localhost:8080/api/certs/{{sessionId}}/certificates/revoke",
|
|
"protocol": "http",
|
|
"host": [
|
|
"localhost"
|
|
],
|
|
"port": "8080",
|
|
"path": [
|
|
"api",
|
|
"certs",
|
|
"{{sessionId}}",
|
|
"certificates",
|
|
"revoke"
|
|
]
|
|
}
|
|
},
|
|
"response": []
|
|
}
|
|
]
|
|
}
|
|
]
|
|
} |