PKCS #10 (Public-Key Cryptography Standards #10) — это стандарт, определяющий формат запроса на выдачу цифрового сертификата (CSR — Certificate Signing Request). Он разработан компанией RSARSA (Rivest–Shamir–Adleman) — один из первых и самых известных алгоритмов асимметричного шифрования, разработанный в 1977 году Рональдом Ривестом, More Laboratories и широко используется в криптографических системах для:
- Генерации запросов на регистрацию ЭЦП;
- Получения сертификатов от удостоверяющих центров (УЦ);
- Создания защищённых ключевых пар.
Формат CSR, основанный на PKCS #10, содержит информацию о владельце ключа и открытый ключОткрытый ключ — это одна из двух частей асимметричной криптографической системы. Он используется для шифрования данных или проверки эл More, а также подпись самого запроса, созданную приватным ключом. Это позволяет УЦ убедиться в подлинности отправителя запроса.
Основные характеристики
Характеристика | Описание |
---|---|
Полное название | Certification Request Syntax Standard |
Тип данных | Запрос на выпуск сертификата |
Стандарты | RFC 2986, RFC 5967 |
Разработчик | RSARSA (Rivest–Shamir–Adleman) — один из первых и самых известных алгоритмов асимметричного шифрования, разработанный в 1977 году Рональдом Ривестом, More Laboratories |
Использование | Для получения SSL/TLS-сертификатов, ЭЦП, доверенных сертификатов |
Форматы файлов | .csr.csr (Certificate Signing Request) — это запрос на выпуск цифрового сертификата, создаваемый локально на устройстве пользователя или сервере. Он содер More, .pemФормат .pem (от англ. Privacy Enhanced Mail) — это стандарт кодирования криптографических данных в виде текста с использованием Base64 и специальных за More |
Назначение PKCS #10
Стандарт PKCS #10 выполняет следующие функции:
1. Создание запроса на сертификат
- Позволяет сформировать структурированный запрос, который направляется в удостоверяющий центрУдостоверяющий центр (УЦ) — это организация, которая выдает электронные подписи (ЭП) и подтверждает подлинность их владельцев. УЦ играет More. Включает в себя:
- Данные владельца (имя, организация, адрес и др.);
- Открытый ключОткрытый ключ — это одна из двух частей асимметричной криптографической системы. Он используется для шифрования данных или проверки эл More;
- Цифровую подпись запроса.
2. Поддержка различных алгоритмов: совместим с RSA, ECDSA, ГОСТ Р 34.10-2012 и другими асимметричными схемами;
3. Интеграция в государственные системы: используется при регистрации квалифицированной электронной подписи в ЕГАИС, ГИС ЭПД, ФНС и других платформах;
4. Обеспечение безопасности: подпись самого запроса гарантирует, что он не был модифицирован третьими лицами.
Структура запроса по PKCS #10
Запрос состоит из следующих компонентов:
Поле | Описание |
---|---|
Subject | Информация о владельце: ФИО, ИНН, ОГРН, организация |
Public Key | Открытый ключОткрытый ключ — это одна из двух частей асимметричной криптографической системы. Он используется для шифрования данных или проверки эл More, связанный с закрытым, используемым для подписания |
Attributes | Дополнительные данные (например, challengePassword или extensionRequest) |
Signature | Подпись всего запроса с использованием соответствующего приватного ключа |
Version | Версия запроса (обычно v1.0) |
Пример PEM-файла:
-----BEGIN CERTIFICATE REQUEST-----
MIIBWjCB4AIBADBFMQswCQYDVQQGEwJSMjETMBEGA1UEBxMKTW9zY293IDET
...
-----END CERTIFICATE REQUEST-----
Где применяется PKCS #10?
1. Выпуск SSL/TLS-сертификатов
- При настройке HTTPS на сервере Apache, Nginx, IIS;
- Через онлайн-порталы Let’s Encrypt, Comodo, GlobalSign и другие УЦ.
2. Электронная цифровая подпись (ЭЦП)
- При регистрации ЭЦП в аккредитованных удостоверяющих центрах: Контур. ДиадокДиадок — это сервис электронного документооборота ЭДО от компании «СКБ Контур», предназначенный для обмена юридически значимыми докум More, КриптоПро, Wordfey, Актив Софт и др.
3. Государственные системы документооборота
- ЕГАИСЕГАИС (Единая государственная автоматизированная информационная система) — это цифровая платформа, созданная для контроля оборота лек More — для работы с алкогольными накладными и МЧД;
- ГИС ЭПДГИС ЭПД (Государственная информационная система в сфере торговли) — это федеральная цифровая платформа, созданная Минпромторгом РФ для More — обмен логистическими документами;
- ЕИСЕИС (Единая информационная система в сфере закупок) — это официальная государственная платформа, созданная для централизованного упра More — участие в госзакупках с электронной подписью.
4. ERP-системы
- 1С: Предприятие, SAP, Oracle E-Business Suite — используют CSR для интеграции с ЭДО-сервисами и государственными системами.
5. API и межсервисный обмен
- Используется в REST API, OAuth2, JWT, SAML и других протоколах.
Как создать CSR через OpenSSL?
# Генерация RSA-ключа и CSR
openssl req -new -keyout private.key -out certificate.csr
# Создание CSR на основе существующего ключа
openssl req -new -key existing.key -out certificate.csr
# Проверка содержимого CSR
openssl req -in certificate.csr -text -noout -verify
Пример содержимого CSR
Certificate Request:
Data:
Version: 1 (0x0)
Subject: C=RU, ST=Moscow, O=ООО "Пример", CN=example.com
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Attributes:
a0:00
Extensions:
X509v3 extensions:
X509v3 Key Usage: Digital Signature, Key Encipherment
X509v3 Extended Key Usage: TLS Web Client Authentication
Signature Algorithm: sha256WithRSAEncryption
Преимущества использования PKCS #10
- Единый формат — позволяет использовать запросы в любом совместимом удостоверяющем центре;
- Безопасность — подпись запроса предотвращает его подделку;
- Автоматизация выпуска сертификатов — большинство УЦ поддерживают автоматическую обработку CSR;
- Соответствие требованиям законодательства РФ — особенно при работе с ГИС ЭПДГИС ЭПД (Государственная информационная система в сфере торговли) — это федеральная цифровая платформа, созданная Минпромторгом РФ для More, ЕГАИСЕГАИС (Единая государственная автоматизированная информационная система) — это цифровая платформа, созданная для контроля оборота лек More и другими государственными системами;
- Интеграция в ERP и ЭДО-платформы — позволяет использовать сертификаты в бизнес-документах.
Сравнение с другими стандартами
Стандарт | Назначение | Особенности |
---|---|---|
PKCS #1PKCS #1 (Public-Key Cryptography Standards #1) — это один из ключевых стандартов, определяющих использование алгоритма RSA в криптографических протоколах. Он More | RSA-ключи и подписи | Только описание алгоритма |
PKCS #7PKCS #7 (Public-Key Cryptography Standards #7) — это стандарт, разработанный компанией RSA Laboratories, который определяет общий формат для хранения и передачи под More | Подписанные / зашифрованные сообщения | Не содержит запросов на сертификаты |
PKCS #8PKCS #8 (Public-Key Cryptography Standards #8) — это стандарт, разработанный RSA Laboratories, который определяет общий формат хранения и передачи закрытых ключей в More | Хранение приватных ключей | Может быть частью CSR, но не сам запрос |
PKCS #10 | Запрос на выпуск сертификата | Самый распространённый способ получения сертификата |
PKCS #12PKCS #12 (Public-Key Cryptography Standards #12) — это стандарт, разработанный RSA Laboratories, который определяет формат хранения и обмена криптографическими данн More | Хранение ключей и сертификатов | Используется после выпуска сертификата |
Безопасное использование CSR
- Не передавайте CSR без защиты — хотя он не содержит закрытого ключа, может содержать конфиденциальные реквизиты;
- Храните приватный ключКлюч в криптографии — это основной элемент, используемый для шифрования и расшифровки данных. Ключ представляет собой секретную информ More в секрете — если CSR был сгенерирован с ним, то потеря ключа делает сертификат бесполезным;
- Проверяйте данные перед отправкой — ошибки в Subject могут повлечь отказ в выдаче сертификата;
- Используйте современные алгоритмы — например, RSA-2048, ECDSA-P256, ГОСТ Р 34.10-2012ГОСТ Р 34.10-2012 — это российский государственный стандарт, регламентирующий алгоритмы формирования и проверки электронной цифровой подп More;
- Следите за сроком действия запроса — CSR не имеет срока, но должен быть актуален при отправке в УЦ.
Практические примеры применения
✔ Получение сертификата для сайта
- Генерируется CSR с помощью OpenSSLOpenSSL — это открытая библиотека и набор утилит с открытым исходным кодом, предназначенный для реализации протоколов SSL (Secure Sockets Layer) и TLS (Tr More;
- Отправляется в удостоверяющий центрУдостоверяющий центр (УЦ) — это организация, которая выдает электронные подписи (ЭП) и подтверждает подлинность их владельцев. УЦ играет More;
- Полученный сертификат объединяется с приватным ключом для настройки HTTPS.
✔ Работа с квалифицированной ЭЦП
- CSR создаётся через КриптоПро CSPКриптоПро CSP (Cryptographic Service Provider) — это сертифицированное программное обеспечение для работы с квалифицированной электронной подписью (К More, Wordfey или Актив Крипто;
- Отправляется в аккредитованный УЦ;
- После проверки выдаётся готовый сертификат для работы в ГИС ЭПДГИС ЭПД (Государственная информационная система в сфере торговли) — это федеральная цифровая платформа, созданная Минпромторгом РФ для More, ЕГАИСЕГАИС (Единая государственная автоматизированная информационная система) — это цифровая платформа, созданная для контроля оборота лек More, ЕИСЕИС (Единая информационная система в сфере закупок) — это официальная государственная платформа, созданная для централизованного упра More.
✔ Интеграция с ERP-системой
- В 1С формируется запрос на сертификат;
- Сертификат загружается в систему;
- Документы подписываются в рамках электронного документооборота.
Современные реализации
Реализация | Поддержка PKCS #10 |
---|---|
OpenSSLOpenSSL — это открытая библиотека и набор утилит с открытым исходным кодом, предназначенный для реализации протоколов SSL (Secure Sockets Layer) и TLS (Tr More | ✅ Полная поддержка |
Java KeyStoreJava KeyStore или JKS — это специализированный формат хранения криптографических ключей и сертификатов, используемый в экосистеме Java. Он предс More | ❌ (использует keytool для генерации CSR) |
Microsoft CryptoAPI | ✅ (через MMC и certreq) |
КриптоПро CSPКриптоПро CSP (Cryptographic Service Provider) — это сертифицированное программное обеспечение для работы с квалифицированной электронной подписью (К More | ✅ |
Wordfey CSP | ✅ |
Bouncy Castle | ✅ |
Форматы файлов, связанные с PKCS #10
Расширение | Описание |
---|---|
.csr.csr (Certificate Signing Request) — это запрос на выпуск цифрового сертификата, создаваемый локально на устройстве пользователя или сервере. Он содер More | Файл запроса на выдачу сертификата |
.pemФормат .pem (от англ. Privacy Enhanced Mail) — это стандарт кодирования криптографических данных в виде текста с использованием Base64 и специальных за More | Base64-представление CSR |
.derФормат .der (от англ. Distinguished Encoding Rules) представляет собой двоичное представление данных X.509-сертификата. Это один из стандартных форматов д More | Бинарный формат, редко используется |
.p7bФормат .p7b (также известный как PKCS #7) — это стандарт хранения сертификатов и цепочек доверия без закрытого ключа. Он используется для пер More, .p7c | Поддерживают CMS, но не CSR |
.pfxФормат .pfx (Personal Information Exchange) — это стандарт хранения криптографических данных в виде одного защищённого файла. Он используется для хране More, .p12Формат .p12 (также известный как PKCS #12) — это стандарт хранения криптографических материалов в защищённом виде. Он представляет собой един More | Используются после получения сертификата |
Безопасность и защита информации
- CSR не содержит приватный ключКлюч в криптографии — это основной элемент, используемый для шифрования и расшифровки данных. Ключ представляет собой секретную информ More, но его потеря может привести к необходимости повторного выпуска;
- Подпись запроса — важна для подтверждения подлинности;
- Проверка УЦ — все запросы проходят верификацию перед выпуском сертификата;
- Совместимость с ГОСТ — возможна при использовании российских криптопровайдеров.
Будущее PKCS #10
Хотя формат остаётся актуальным, всё чаще используются:
- CRMF (CMS-based) — для более сложных сценариев;
- ACME (Let’s Encrypt) — автоматизированный протокол получения сертификатов;
- RESTful API УЦ — для программной выдачи и управления.
Однако PKCS #10 продолжает использоваться в большинстве систем, особенно при работе с государственными сервисами и ERP-решениями.
Заключение
PKCS #10 — это ключевой элемент процесса получения сертификата. Он служит основой для:
- Шифрования и аутентификации;
- Электронной цифровой подписи;
- Интеграции с государственными системами (ЕГАИСЕГАИС (Единая государственная автоматизированная информационная система) — это цифровая платформа, созданная для контроля оборота лек More, ГИС ЭПДГИС ЭПД (Государственная информационная система в сфере торговли) — это федеральная цифровая платформа, созданная Минпромторгом РФ для More);
- Обмена данными в корпоративной среде.
Если ваш бизнес работает с:
- Электронной подписью;
- Обменом документов через ГИС ЭПДГИС ЭПД (Государственная информационная система в сфере торговли) — это федеральная цифровая платформа, созданная Минпромторгом РФ для More, ЕГАИСЕГАИС (Единая государственная автоматизированная информационная система) — это цифровая платформа, созданная для контроля оборота лек More;
- SSL-сертификатами;
- ERP-системами (1С, SAP, Oracle);
— понимание и правильное использование PKCS #10 поможет вам эффективно управлять сертификатами и обеспечить юридическую значимость ваших операций.