Запрос на подпись сертификата - Certificate signing request

В инфраструктура открытого ключа (PKI) системы, a запрос на подпись сертификата (также CSR или же запрос на сертификацию) - это сообщение, отправленное заявителем регистрирующий орган из инфраструктура открытого ключа чтобы подать заявку на сертификат цифровой идентичности. Обычно он содержит открытый ключ, для которого должен быть выдан сертификат, идентифицирующую информацию (например, имя домена) и защиту целостности (например, цифровую подпись). Самый распространенный формат для CSR - это PKCS № 10 спецификация; другой - подписанный открытый ключ и вызов SPKAC формат, созданный некоторыми веб-браузеры.

Процедура

Перед созданием CSR кандидат сначала создает пара ключей, сохраняя закрытый ключ секрет. CSR содержит информацию, идентифицирующую кандидата (например, выдающееся имя в случае X.509 сертификат), который должен быть подписан с использованием закрытый ключ. CSR также содержит открытый ключ выбран заявителем. CSR может сопровождаться другими учетными данными или доказательствами личности, требуемыми центром сертификации, и центр сертификации может связаться с заявителем для получения дополнительной информации.

Типичная информация, требуемая в CSR (образец столбца из образец сертификата X.509 ). Обратите внимание, что часто существуют альтернативы отличительным именам (DN), предпочтительное значение указано в списке.

DN[1]ИнформацияОписаниеОбразец
CNРаспространенное имяЭто полное доменное имя что вы хотите обезопасить* .wikipedia.org
ОНазвание организацииОбычно юридическое название компании или организации и должно включать любые суффиксы, такие как Ltd., Inc. или Corp.Фонд Викимедиа, Inc.
ОУОрганизационная единицаНазвание подразделения / подразделения внутренней организацииЭТО
LМестонахождениеГород, город, село и т. Д. НазваниеСан-Франциско
STСостояниеПровинция, регион, округ или штат. Это не должно быть сокращено (например, Западный Суссекс, Нормандия, Нью-Джерси).Калифорния
CСтранаВ двухбуквенный код ISO для страны, в которой находится ваша организациянас
ЭЛЕКТРОННОЕ ПИСЬМОАдрес электронной почтыКонтактное лицо организации, обычно администратора сертификатов или ИТ-отдела.

Если запрос будет успешным, центр сертификации отправит обратно сертификат идентификации, который был подписан цифровой подписью с использованием закрытого ключа центра сертификации.

Структура

Запрос на сертификацию состоит из трех основных частей: информации запроса сертификации, идентификатора алгоритма подписи и цифровой подписи в информации запроса на сертификацию. Первая часть содержит важную информацию, включая открытый ключ. Подпись запрашивающей стороны не позволяет субъекту запрашивать поддельный сертификат чьего-либо открытого ключа.[2] Таким образом, закрытый ключ необходим для создания CSR, но не является его частью.[3]

В CSR для сертификатов личного идентификатора и сертификатов подписи должен быть указан адрес электронной почты держателя идентификатора или название организации в случае бизнес-идентификатора.

Часть первая, тип АСН.1 CertificationRequestInfo, состоит из номера версии (который равен 0 для всех известных версий 1.0, 1.5 и 1.7 спецификаций), имени субъекта, открытого ключа (идентификатор алгоритма + битовая строка) и набора атрибутов, предоставляющих дополнительную информацию о предмет сертификата. Атрибуты могут содержать требуемые расширения сертификата, пароль запроса для ограничения отзыва, а также любую дополнительную информацию о субъекте сертификата, возможно, включая локальные или будущие типы.[2]

Пример

PKCS # 10 стандарт определяет двоичный формат для кодирования CSR для использования с X.509. Это выражается в ASN.1. Вот пример того, как вы можете изучить его структуру ASN.1, используя OpenSSL:

openssl asn1parse -i -in ваш запрос

CSR может быть представлен как Base64 закодированный PKCS # 10; пример которого приведен ниже:

----- BEGIN CERTIFICATE REQUEST ----- MIICzDCCAbQCAQAwgYYxCzAJBgNVBAYTAkVOMQ0wCwYDVQQIDARub25lMQ0wCwYDVQQHDARub25lMRIwEAYDVQQKDAlXaWtpcGVkaWExDTALBgNVBAsMBG5vbmUxGDAWBgNVBAMMDyoud2lraXBlZGlhLm9yZzEcMBoGCSqGSIb3DQEJARYNbm9uZUBub25lLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMP / U8RlcCD6E8ALPT8LLUR9ygyygPCaSmIEC8zXGJung3ykElXFRz / Jc / bu0hxCxi2YDz5IjxBBOpB / kieG83HsSmZZtR + drZIQ6vOsr / ucvpnB9z4XzKuabNGZ5ZiTSQ9L7Mx8FzvUTq5y / Arium + FBeuno / IV8zvwAe / VRa8i0QjFXT9vBBp35aeatdnJ2ds50yKCsHHcjvtr9 / 8zPVqqmhl2XFS3Qdqlsprzbgksom67OobJGjaV + fNHNQ0o / RZP // Pl3i7vvaEG7Ff8tQhEwR9nJUR1T6Z7ln7S6cOr23YozgWVkEJ / dSr6LAopb + cZ88FzW5NszU6i57HhA7ECAwEAAaAAMA0GCSqGSIb3DQEBBAUAA4IBAQBn8OCVOIx + n0AS6WbEmYDRSspR9xOCoOwYfamB + 2Bpmt82R01zJ / kaqzUtZUjaGvQvAaz5lUwoMdaO0X7I5XflsllMFDaYoGD4Rru4s8gz2qG / QHWA8uPXzJVAj6X0olbIdLTEqTKsnBj4Zr1AJCNy / YcG4ouLJr140o26MhwBpoCRpPjAgdYMH60BYfnc4 / DILxMVqR9xqK1s98d6Ob / + 3wHFK + S7BRWrJQXcM8veAexXuk9lHQ + FgGfD0eSYGz0kyP26Qa2pLTwumjt + nBPlrfJxaLHwTQ / 1988G0H35ED0f9Md5fzoKi5evU1wG5WRxdEUPyt3QUXxdQ69i0C + 7 ----- КОНЕЦ ЗАПРОСА СЕРТИФИКАТА -----

Структура ASN.1 приведенного выше запроса на подпись сертификата (проанализированная openssl) выглядит следующим образом, где первое число - это смещение в байтах, d = глубина, hl = длина заголовка текущего типа, l = длина содержимого:

    0: d = 0 hl = 4 l = 716 cons: SEQUENCE 4: d = 1 hl = 4 l = 436 cons: SEQUENCE 8: d = 2 hl = 2 l = 1 prim: INTEGER: 00 11: d = 2 hl = 3 l = 134 минусы: ПОСЛЕДОВАТЕЛЬНОСТЬ 14: d = 3 hl = 2 l = 11 минусы: НАБОР 16: d = 4 hl = 2 l = 9 минусы: ПОСЛЕДОВАТЕЛЬНОСТЬ 18: d = 5 hl = 2 l = 3 прим .: ОБЪЕКТ : countryName 23: d = 5 hl = 2 l = 2 prim: ПЕЧАТЬ: EN 27: d = 3 hl = 2 l = 13 минусы: SET 29: d = 4 hl = 2 l = 11 минусы: ПОСЛЕДОВАТЕЛЬНОСТЬ 31: d = 5 hl = 2 l = 3 prim: OBJECT: stateOrProvinceName 36: d = 5 hl = 2 l = 4 prim: UTF8STRING: none 42: d = 3 hl = 2 l = 13 cons: SET 44: d = 4 hl = 2 l = 11 минусов: ПОСЛЕДОВАТЕЛЬНОСТЬ 46: d = 5 hl = 2 l = 3 prim: OBJECT: localityName 51: d = 5 hl = 2 l = 4 prim: UTF8STRING: нет 57: d = 3 hl = 2 l = 18 минусов : SET 59: d = 4 hl = 2 l = 16 cons: ПОСЛЕДОВАТЕЛЬНОСТЬ 61: d = 5 hl = 2 l = 3 прим .: ОБЪЕКТ: название организации 66: d = 5 hl = 2 l = 9 prim: UTF8STRING: Wikipedia 77: d = 3 hl = 2 l = 13 минусов: SET 79: d = 4 hl = 2 l = 11 минусов: ПОСЛЕДОВАТЕЛЬНОСТЬ 81: d = 5 hl = 2 l = 3 prim: OBJECT: organizationUnitName 86: d = 5 hl = 2 l = 4 prim: UTF8STRING: none 92: d = 3 hl = 2 l = 24 cons: SET 94: d = 4 hl = 2 l = 22 cons: ПОСЛЕДОВАТЕЛЬНОСТЬ 96: d = 5 hl = 2 l = 3 prim: OBJECT: commonName 101: d = 5 hl = 2 l = 15 prim: UTF8STRING: *. Wikipedia.org 118: d = 3 hl = 2 l = 28 минусов: SET 120: d = 4 hl = 2 l = 26 минусов: ПОСЛЕДОВАТЕЛЬНОСТЬ 122: d = 5 hl = 2 l = 9 prim: OBJECT: emailAddress 133: d = 5 hl = 2 l = 13 prim: IA5STRING: [email protected] 148: d = 2 hl = 4 l = 290 минусы: ПОСЛЕДОВАТЕЛЬНОСТЬ 152: d = 3 hl = 2 l = 13 минусы: ПОСЛЕДОВАТЕЛЬНОСТЬ 154: d = 4 hl = 2 l = 9 прим .: ОБЪЕКТ: rsaEncryption 165: d = 4 hl = 2 l = 0 prim: NULL 167: d = 3 hl = 4 l = 271 prim: BIT STRING 442: d = 2 hl = 2 l = 0 cons: cont [0] 444: d = 1 hl = 2 l = 13 cons: SEQUENCE 446: d = 2 hl = 2 l = 9 prim: OBJECT: md5WithRSAEncryption 457: d = 2 hl = 2 l = 0 prim: NULL 459: d = 1 hl = 4 l = 257 prim: BIT STRING 

Это было создано путем передачи кодировки base64 в команду openssl asn1parse -in ваш запрос -inform PEM -i где PEM означает Почта с улучшенной конфиденциальностью и описывает кодировку ASN.1 Отличительные правила кодирования в base64.

Смотрите также

Рекомендации

  1. ^ «Выдающиеся имена». Концепции и механизмы безопасности WebSphere MQ. IBM. 2019-11-05. Получено 2020-01-16.
  2. ^ а б RFC  2986 - PKCS # 10: спецификация синтаксиса запроса на сертификацию версии 1.7
  3. ^ Никос Маврогианнопулос (09.01.2020). «Запросы сертификатов PKCS # 10». GnuTLS. Получено 2020-01-16.