Главная/Установка/Клиентский сертификат

Клиентский сертификат: что такое mTLS и как его настроить

Клиентский сертификат это файл, по которому сервер узнаёт подключающегося человека или программу: как пароль, только проверяется на уровне TLS. Когда сертификаты предъявляют обе стороны, и сервер, и клиент, соединение называют mTLS (взаимный TLS). Такие сертификаты выпускают собственным центром сертификации, а не публичным.

4 мин чтенияДанные проверены 19 октября 2026

Ответ за 30 секунд

Клиентский сертификат нужен, чтобы сервер проверял и клиента: им закрывают админки, партнёрские API и связь сервисов. Выпускать такие сертификаты лучше своим центром сертификации: Let's Encrypt с 8 июля 2026 их больше не выдаёт.

Клиентские сертификаты выпускает ваш центр, а серверный на домен бесплатный у Let's Encrypt, платные от 1 000 ₽ за 6 месяцев (Таймвеб, на 19 октября 2026).

Когда нужен клиентский сертификат, а когда хватит пароля

01 · 1 мин

Что такое клиентский сертификат и чем он отличается от серверного#

Обычный сертификат сайта доказывает клиенту, что сервер настоящий. Клиентский работает в обратную сторону: сервер просит у подключившегося сертификат, а тот подтверждает владение закрытым ключом. Порядок обмена описан в разделе про рукопожатие TLS.

Серверный сертификатКлиентский сертификат
Кого подтверждаетСайт или серверЧеловека, устройство или сервис
Кто проверяетБраузер или программаСервер
Кто выпускаетПубличный центр, например Let's EncryptВаш центр сертификации
Назначение в сертификатеserverAuthclientAuth

Не путайте его с сертификатом электронной подписи: тот подписывает документы, а клиентский подтверждает подключение к серверу.

Инструмент · 1 мин

Когда нужен клиентский сертификат, а когда хватит пароля#

Применяют там, где круг подключающихся известен заранее: панели управления и внутренние сайты, API для партнёров и банков, связь между сервисами внутри системы, корпоративный Wi-Fi с проверкой устройств (EAP-TLS). Преимущество перед паролем: ключ не вводят руками и он не уходит на сервер, поэтому его не подобрать и труднее выманить фишинговой страницей.

Для публичного сайта и магазина клиентский сертификат не нужен: покупатели не будут его устанавливать.

Нужен ли вам клиентский сертификат

Два ответа, и подсказка скажет, подходит ли mTLS

Что защищаете
Кто подключается

03 · 1 мин

Как выпустить клиентский сертификат своим центром сертификации#

Нужны три шага: создать центр сертификации, сделать ключ и запрос клиента, подписать запрос с назначением clientAuth. Устройство запроса описано в разделе про CSR, а общий принцип в разделе про центр сертификации.

# 1. Свой центр сертификации: ключ ca.key храните только у себя
openssl req -x509 -newkey rsa:4096 -nodes -sha256 -days 1825 \
  -keyout ca.key -out ca.crt -subj "/CN=Example Client CA"

# 2. Ключ и запрос клиента
openssl req -newkey rsa:2048 -nodes -keyout client.key \
  -out client.csr -subj "/CN=service-billing"

# 3. Подпись запроса с назначением clientAuth
printf "extendedKeyUsage=clientAuth\n" > client.ext
openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key \
  -CAcreateserial -days 365 -sha256 -extfile client.ext -out client.crt

# 4. Файл .p12 для установки в браузер или систему
openssl pkcs12 -export -inkey client.key -in client.crt -out client.p12

Файл .p12 содержит ключ, поэтому передавайте его защищённым способом и задайте пароль. Форматы сертификатов и ключей: pem, crt, key, pfx.

04 · 1 мин

Как включить проверку клиентского сертификата в Nginx#

Серверный сертификат остаётся обычным, например от Let's Encrypt: браузеры должны ему доверять. Клиентские проверяются отдельно, по файлу вашего центра сертификации.

server {
    listen 443 ssl;
    server_name admin.example.com;

    ssl_certificate     /etc/letsencrypt/live/admin.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/admin.example.com/privkey.pem;

    ssl_client_certificate /etc/nginx/client-ca.crt;
    ssl_verify_client on;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header X-Client-DN $ssl_client_s_dn;
    }
}

Файл client-ca.crt это ca.crt из предыдущего шага. Проверка с сертификатом и без него:

curl --cert client.crt --key client.key https://admin.example.com/
curl https://admin.example.com/

Второй запрос получит ответ 400 с текстом об отсутствии нужного сертификата. В Apache те же задачи решают директивы SSLVerifyClient require и SSLCACertificateFile. Для отзыва сертификатов в Nginx есть директива ssl_crl со списком отозванных. Общая настройка сервера: сертификат в Nginx.

05 · 1 мин

Вопросы о клиентском сертификате#

Чем клиентский сертификат отличается от серверного SSL-сертификата?

Серверный доказывает клиенту, что сайт настоящий, и выдаётся публичным центром. Клиентский подтверждает личность подключающегося перед сервером и выпускается вашим центром сертификации с назначением clientAuth.

Можно ли получить клиентский сертификат у Let's Encrypt?

Нет. Let's Encrypt прекратил выдачу сертификатов с назначением clientAuth: профиль для них закрыт 8 июля 2026 года. Центр советует для проверки клиентов использовать собственный центр сертификации.

Как установить клиентский сертификат в браузер?

Откройте файл .p12 или .pfx и импортируйте в хранилище «Личное»: Chrome и Edge на Windows берут сертификаты из системы. В Firefox импорт делают в настройках, в разделе «Ваши сертификаты».

Что такое mTLS простыми словами?

Это TLS, в котором паспорта предъявляют оба: сервер показывает свой сертификат клиенту, а клиент свой серверу. Без сертификата клиента сервер отвечает отказом.

Почему этому можно верить

Как мы проверяли

Документация и провайдерыКоманды выпуска и установки сверены с документацией, дата указана.
Всё можно повторитьКоманды certbot и openssl описаны так, что их повторит любой читатель.
Независимый справочникНе связан с центрами сертификации и честно говорит, когда хватает бесплатного SSL.

Источники цифр на этой странице: SSL-сертификаты Таймвеб, timeweb.com/ru/services/domains/ssl, проверено 19 октября 2026; Let's Encrypt: документация, letsencrypt.org/docs, проверено 19 октября 2026; Let's Encrypt: прекращение выдачи сертификатов с TLS Client Authentication, letsencrypt.org/2025/05/14/ending-tls-client-authentication, проверено 19 октября 2026.

SBРедакция SSLBase · обновлено 19 октября 2026

Подключите SSL к сайту

От бесплатного Let's Encrypt до платных сертификатов GlobalSign с гарантийной выплатой и установкой под ключ. Любой можно вернуть за 7 дней.

  • Бесплатный Let's Encrypt на домен
  • Платные от 1 000 ₽ за 6 месяцев
  • Wildcard на все поддомены
  • 7 дней на возврат
Когда нужен