← Cloudflare SSL/TLS / ssl / edge-certificates / custom-certificates
Управление пользовательскими сертификатами
На этой странице перечислены требования Cloudflare к пользовательским сертификатам и объясняется, как загружать и обновлять такие сертификаты через панель управления Cloudflare или API.
Требования к сертификату
Перед принятием пользовательских сертификатов Cloudflare анализирует их и проверяет на соответствие ряду требований.
Полный список требований
Каждый загружаемый пользовательский сертификат должен соответствовать следующим требованиям:
- Быть закодирован в формате PEM (PEM, PKCS#7 или PKCS#12). См. Преобразование с помощью OpenSSL ↗ для примеров преобразования.
- Без пароль файла ключа.
- Не должен истекать менее чем через 14 дней после загрузки.
- Иметь дополнительное имя субъекта (SAN), совпадающее хотя бы с одним именем хоста в зоне, куда загружается сертификат.
- Используйте закрытый ключ длиной не меньше минимально допустимой. На данный момент это 2048 бит для RSA и 225 бит для ECDSA.
- Пользоваться публичным доверием крупного браузера. Это не относится к сертификатам, которые указывают
User Definedв качестве своего методология объединения. - Быть одним из следующих типов сертификатов:
- Unified Communications Certificates (UCC)
- Extended Validation (EV)
- Проверка домена (DV)
- Подтверждение организации (OV)
Загрузите пользовательский сертификат
Чтобы загрузить пользовательский сертификат SSL в панели управления:
-
На панели управления Cloudflare перейдите к разделу Edge Certificates страницу.
Перейдите в Edge Certificates ↗ -
В Edge Certificates, выберите Загрузка пользовательского SSL сертификата.
-
Скопируйте и вставьте нужные значения в SSL-сертификат и Приватный ключ текстовые поля (или выберите Вставить из файла).
-
Выберите подходящий Bundle Method.
-
Выберите значение для Ограничение приватного ключа.
-
Выберите значение для Legacy Client Support, которая указывает Server Name Indication (SNI) поддержка:
-
Modern (рекомендуется): Только SNI
-
Legacy: Поддерживает подключения без SNI
-
-
Выберите Загрузка пользовательского сертификата. Если вы видите ошибку для
The key you provided does not match the certificate, обратитесь в свой удостоверяющий центр, чтобы убедиться, что закрытый ключ соответствует сертификату. -
(необязательно) Добавьте DNS-запись CAA.
Следующий вызов загружает сертификат для использования с app.example.com. Cloudflare автоматически объединит сертификат с цепочкой сертификатов, оптимизированной для максимальной совместимости с браузерами.
- Обновите файл и соберите полезную нагрузку
cat app_example_com.pem-----BEGIN CERTIFICATE-----
MIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E
...
SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O
OeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7
-----END CERTIFICATE-----MYCERT="$(cat app_example_com.pem|perl -pe 's/\r?\n/\\n/'|sed -e 's/..$//')"
MYKEY="$(cat app_example_com.key|perl -pe 's/\r?\n/\\n/'|sed -e's/..$//')"Сохранив сертификат и ключ в переменных окружения (используя экранированные символы новой строки), сформируйте полезную нагрузку:
request_body=$(< <(cat <<EOF
{
"certificate": "$MYCERT",
"private_key": "$MYKEY",
"bundle_method": "ubiquitous"
}
EOF
))При желании вы можете добавить географические ограничения ↗ которые указывают, где физически может быть расшифрован ваш приватный ключ:
request_body=$(< <(cat <<EOF
{
"certificate": "$MYCERT",
"private_key": "$MYKEY",
"bundle_method": "ubiquitous",
"geo_restrictions": {"label": "us"}'
}
EOF
))Вы также можете включить поддержку устаревших клиентов, которые не передают SNI при TLS-рукопожатии.
request_body=$(< <(cat <<EOF
{
"certificate": "$MYCERT",
"private_key": "$MYKEY",
"bundle_method": "ubiquitous",
"geo_restrictions": {"label": "us"}',
"type":"sni_custom"
}
EOF
))sni_custom рекомендуется Cloudflare. Используйте legacy_custom когда конкретному клиенту требуется поддержка без SNI. По умолчанию Cloudflare API считает все сертификаты Custom SSL сертификатами Legacy.
- Загрузите сертификат и ключ
Используйте POST конечную точку, чтобы загрузить сертификат и ключ.
curl https://api.cloudflare.com/client/v4/zones/{zone_id}/custom_certificates \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data "$request_body"- (Необязательно) Добавьте запись CAA.
DNS-запись авторизации удостоверяющего центра (CAA) указывает, каким удостоверяющим центрам (CA) разрешено выпускать сертификаты для домена. Она снижает риск несанкционированного выпуска сертификатов и способствует стандартизации в рамках вашей организации.
Дополнительные рекомендации см. в Создание записи CAA.
Обновление или продление существующего пользовательского сертификата
Чтобы продлить пользовательский сертификат, срок действия которого истекает, или заменить сертификат обновлённым ключевым материалом, выполните указанные ниже действия. Это рекомендуемый способ продления : это не расходует дополнительное место в квоте сертификатов и позволяет избежать простоя.
Прежде чем обновлять существующий пользовательский сертификат, стоит рассмотреть наличие активных универсальный или расширенный сертификаты в качестве резервных вариантов. Перейдите в Edge Certificates ↗ страницу, чтобы проверить список имен хостов и статус edge-сертификатов в вашей зоне.
Если у вас тариф Enterprise и вы хотите обновить пользовательский (современный) сертификат, также рассмотрите возможность запроса доступа к Staging-среда (бета).
Замена пользовательского сертификата по этой инструкции не приводит к простою. Ни одно соединение не будет прервано, а новые соединения будут использовать новый сертификат. Старый сертификат будет фактически удален только после того, как новый сертификат будет загружен и станет активным.
Чтобы обновить сертификат в панели управления:
-
На панели управления Cloudflare перейдите к разделу Edge Certificates страницу.
Перейдите в Edge Certificates ↗ -
В Edge Certificates, найдите пользовательский сертификат и нажмите на него, чтобы развернуть.
-
Нажмите кнопку с гаечным ключом и выберите Замена сертификата SSL и ключа.
-
Выполните те же действия, что и загрузить новый сертификат.
Чтобы обновить сертификат через API, отправьте PATCH команда.
Удаление собственного сертификата
-
На панели управления Cloudflare перейдите к разделу Edge Certificates страницу.
Перейдите в Edge Certificates ↗ -
В Edge Certificates, найдите пользовательский сертификат и нажмите на него, чтобы развернуть.
-
Выберите кнопку с крестиком.
-
Выберите Подтверждение чтобы удалить сертификат.