0Pricing
Cryptology Academy · Урок

Создание самоподписанных сертификатов с OpenSSL

Создайте собственный CA, подпишите сертификат и изучите его с помощью OpenSSL

«Создание самоподписанных сертификатов с OpenSSL» — бесплатный урок Cryptology Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cryptology Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cryptology Academy содержит 4 уроков всего.

Добро пожаловать

На этом практическом уроке мы создадим собственный небольшой CA с помощью OpenSSL, подпишем сертификат сервера и изучим каждое поле — так мы разберём PKI изнутри.

Создание ключа корневого CA

# Создание закрытого ключа RSA CA длиной 4096 бит openssl genrsa -aes256 -out ca.key 4096 Флаг -aes256 шифрует закрытый ключ с помощью парольной фразы. Всегда защищайте ключи CA.

Создание сертификата корневого CA

openssl req -x509 -new -nodes -key ca.key \ -sha256 -days 3650 \ -out ca.crt \ -subj '/C=US/O=My CA/CN=My Root CA' -x509 делает сертификат самоподписанным. -days 3650 = 10 лет.

Создание ключа сервера

# Создание ключа RSA сервера длиной 2048 бит (без парольной фразы для веб-серверов) openssl genrsa -out server.key 2048 У ключей серверов не должно быть парольных фраз: веб-серверы не могут запрашивать их во время запуска.

Создание запроса на подпись сертификата (CSR)

openssl req -new -key server.key \ -out server.csr \ -subj '/C=US/O=My App/CN=localhost' CSR содержит открытый ключ и запрошенные данные субъекта. Он подписывается закрытым ключом заявителя.

Создание файла расширений SAN

cat > server.ext <

Подпись сертификата сервера

openssl x509 -req \ -in server.csr \ -CA ca.crt -CAkey ca.key \ -CAcreateserial \ -out server.crt \ -days 365 -sha256 \ -extfile server.ext

Изучение сертификата

openssl x509 -in server.crt -text -noout Найдите поля: Issuer, Subject, Not Before/After, альтернативное имя субъекта, использование ключа и алгоритм подписи внизу.

Проверка цепочки

openssl verify -CAfile ca.crt server.crt # server.crt: OK Это подтверждает, что сертификат сервера правильно подписан нашим CA. Любое изменение сертификата приведёт к ошибке проверки.

Проверка с помощью curl

# Запуск сервера Python с сертификатом: # python3 -m http.server --bind 127.0.0.1 8443 # (упрощённо) # Проверка с помощью нашего сертификата CA: curl --cacert ca.crt https://localhost:8443 # Без --cacert curl отклонил бы самоподписанный CA

Экспорт в PKCS12

PKCS12 объединяет сертификат, закрытый ключ и цепочку CA в одном файле: openssl pkcs12 -export \ -in server.crt -inkey server.key \ -certfile ca.crt \ -out server.p12 Используется хранилищами ключей Java и хранилищами сертификатов Windows.

Быстрая проверка

Какая команда OpenSSL создаёт самоподписанный сертификат корневого CA из закрытого ключа?

Итоги

Отлично! Вы создали полноценную PKI с нуля. Далее мы изучим хеширование паролей: почему SHA-256 не подходит для паролей и чем bcrypt и Argon2 отличаются от него.

Часто задаваемые вопросы

Урок «Создание самоподписанных сертификатов с OpenSSL» бесплатный?

Да — полный текст урока «Создание самоподписанных сертификатов с OpenSSL» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cryptology Academy, подпишись на CoddyKit PRO. Курс Cryptology Academy содержит 4 уроков всего.

Чему я научусь в уроке «Создание самоподписанных сертификатов с OpenSSL»?

Создайте собственный CA, подпишите сертификат и изучите его с помощью OpenSSL Ты практикуешь Cryptology Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cryptology Academy?

Предыдущий опыт не требуется. Cryptology Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Создание самоподписанных сертификатов с OpenSSL»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cryptology Academy?

Да. Каждый урок Cryptology Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Что такое сертификат? Структура X.509
  2. Центры сертификации и цепочки доверия
  3. Отзыв сертификатов: CRL и OCSP
  4. Создание самоподписанных сертификатов с OpenSSL
← Назад к Cryptology Academy