SSL: автоматичне оновлення

Посилання на сертифікат — довідка для розробників

Адреси, формати, коди відповіді, умовні запити, ліміти і правила безпеки особистого посилання на сертифікат — для своїх інтеграцій і ШІ-агентів.

Особисте посилання дає чинний сертифікат підписки без входу в кабінет — для скриптів, задач за розкладом і власних інтеграцій. Створюється в кабінеті: картка сертифіката → «Встановлення» → «Посилання для сервера».

Адреси

https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН — базова адреса, до неї додається назва файлу:

ЗапитЩо повертає
GET https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/fullchain.pemсертифікат сайту, за ним проміжні сертифікати центру — для nginx, Apache 2.4.8+, Caddy, HAProxy, Kubernetes
GET https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/cert.pemлише сертифікат сайту
GET https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/chain.pemлише проміжні сертифікати

Тип відповіді — application/x-pem-file, текст PEM. Закритого ключа посилання не віддає і не приймає: ключ лишається у вас, а наступні частини підписки випускаються на той самий ключ.

Що саме віддається

Чинна версія підписки — останній випущений сертифікат. Якщо його відкликано або строк минув, посилання відповідає 404: попередню версію не віддаємо, бо центр сертифікації міг відкликати її під час заміни. Коли з'являється наступна частина підписки, за тим самим посиланням починає віддаватися вона — посилання міняти не треба.

Якщо сертифікат перевипускали з новим ключем, посилання віддасть сертифікат на новий ключ. Тому перед установкою звіряйте відкритий ключ сертифіката зі своїм закритим ключем — так роблять усі скрипти в наших інструкціях:

openssl x509 -in fullchain.pem -noout -pubkey | openssl sha256
openssl pkey -in key.pem -pubout | openssl sha256

Рядки мають збігтися.

Коди відповіді

КодКоли
200сертифікат у тілі відповіді
304умовний запит, сертифікат не змінився
404посилання невідоме, вимкнене чи прострочене, або в підписці зараз немає чинного сертифіката — відповідь однакова, щоб не підказувати, чи існувало посилання
429забагато запитів; заголовок Retry-After — через скільки секунд можна знову

Умовні запити

Відповідь містить ETag (змінюється разом із версією сертифіката) і Last-Modified (час випуску). Запит з If-None-Match або If-Modified-Since отримає 304, поки сертифікат той самий:

curl -fsS --etag-save etag.txt --etag-compare etag.txt -o fullchain.pem "https://api.zrazu.com/ssl-pull/zsp_ВАШ_ТОКЕН/fullchain.pem"

Умовні запити не обов'язкові: файл маленький, і порівняти його з установленим (cmp) так само просто.

Ліміти

  • 60 запитів на годину на одне посилання — для задачі раз на добу чи навіть раз на годину цього з великим запасом;
  • 300 запитів на хвилину з однієї IP-адреси.

Безпека

  • Посилання — секрет рівня «не публікувати»: воно віддає лише публічний сертифікат, але хто його має, той бачить, коли сертифікат забирають.
  • Відповіді не кешуються (Cache-Control: no-store), не індексуються і не передають посилання в Referer.
  • Показуємо посилання один раз; у нас зберігається лише його відбиток. Нове посилання в картці сертифіката одразу вимикає попереднє; там само — «Вимкнути».
  • Посилання діє до кінця підписки.

Для ШІ-агентів

Повна документація ZRAZU у форматі для мовних моделей: https://zrazu.com/llms.txt (зміст) і https://zrazu.com/llms-full.txt (усі сторінки). Кожна сторінка документації є і в Markdown — додайте .md до адреси без кінцевої косої риски.

Ця сторінка в Markdown