#!/bin/bash ACME="acme.json" DOMAIN="foto.smolkik.ru" OUT="/opt/certs/$DOMAIN" mkdir -p "$OUT" # Извлекаем JSON-объект сертификата для нужного домена CERT_JSON=$(jq -r --arg DOMAIN "$DOMAIN" ' .letsencrypt.Certificates[] | select(.domain.main == $DOMAIN) ' "$ACME") if [ -z "$CERT_JSON" ]; then echo "Ошибка: сертификат для домена $DOMAIN не найден в $ACME" exit 1 fi # Извлекаем fullchain (сертификат + промежуточные) echo "$CERT_JSON" | jq -r '.certificate' | base64 -d > "$OUT/fullchain.pem" # Извлекаем приватный ключ echo "$CERT_JSON" | jq -r '.key' | base64 -d > "$OUT/privkey.pem" # Извлекаем ТОЛЬКО сертификат домена (без цепочки) # Для этого нужно из fullchain.pem взять первый сертификат awk 'BEGIN {n=0} /-----BEGIN CERTIFICATE-----/ {n++} n==1 {print} /-----END CERTIFICATE-----/ && n==1 {exit}' "$OUT/fullchain.pem" > "$OUT/cert.pem" chmod 600 "$OUT/privkey.pem" chmod 644 "$OUT/cert.pem" "$OUT/fullchain.pem" echo "Сертификаты сохранены в $OUT:" ls -la "$OUT"/*.pem