Jump to content

Запрос на подпись сертификата

В системах инфраструктуры открытых ключей (PKI) запрос на подпись сертификата ( CSR или запрос на сертификацию ) — это сообщение, отправленное заявителем в центр сертификации инфраструктуры открытых ключей (PKI) для подачи заявки на сертификат цифровой идентификации . CSR обычно содержит открытый ключ, для которого должен быть выдан сертификат, идентифицирующую информацию (например, имя домена) и доказательство подлинности, включая защиту целостности (например, цифровую подпись). Наиболее распространенным форматом CSR является спецификация PKCS #10 ; другие включают более функциональный формат сообщения запроса сертификата (CRMF). [ 1 ] и формат SPKAC (Signed Public Key and Challenge), создаваемый некоторыми веб-браузерами .

Процедура

[ редактировать ]

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

# https://www.openssl.org/docs/manmaster/man1/openssl-genrsa.html
# "openssl genrsa" creates an RSA private key:

$ openssl genrsa -out 2024_wikipedia.org.key

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

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

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

В этом примере командной строки используются данные, указанные в таблице выше:

# https://www.openssl.org/docs/manmaster/man1/openssl-req.html
# "openssl req" creates a signing request:

$ openssl req -sha512 -new -subj "/C=US/ST=California/L=San Francisco/O=Wikimedia Foundation, Inc./CN=*.wikipedia.org" -key 2024_wikipedia.org.key -out 2024_wikipedia.org.csr


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

Структура CSR PKCS #10

[ редактировать ]

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

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

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

Пример CSR PKCS #10

[ редактировать ]

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

openssl asn1parse -i -in your_request.p10

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

-----BEGIN CERTIFICATE REQUEST-----
MIICzDCCAbQCAQAwgYYxCzAJBgNVBAYTAkVOMQ0wCwYDVQQIDARub25lMQ0wCwYD
VQQHDARub25lMRIwEAYDVQQKDAlXaWtpcGVkaWExDTALBgNVBAsMBG5vbmUxGDAW
BgNVBAMMDyoud2lraXBlZGlhLm9yZzEcMBoGCSqGSIb3DQEJARYNbm9uZUBub25l
LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMP/U8RlcCD6E8AL
PT8LLUR9ygyygPCaSmIEC8zXGJung3ykElXFRz/Jc/bu0hxCxi2YDz5IjxBBOpB/
kieG83HsSmZZtR+drZIQ6vOsr/ucvpnB9z4XzKuabNGZ5ZiTSQ9L7Mx8FzvUTq5y
/ArIuM+FBeuno/IV8zvwAe/VRa8i0QjFXT9vBBp35aeatdnJ2ds50yKCsHHcjvtr
9/8zPVqqmhl2XFS3Qdqlsprzbgksom67OobJGjaV+fNHNQ0o/rzP//Pl3i7vvaEG
7Ff8tQhEwR9nJUR1T6Z7ln7S6cOr23YozgWVkEJ/dSr6LAopb+cZ88FzW5NszU6i
57HhA7ECAwEAAaAAMA0GCSqGSIb3DQEBBAUAA4IBAQBn8OCVOIx+n0AS6WbEmYDR
SspR9xOCoOwYfamB+2Bpmt82R01zJ/kaqzUtZUjaGvQvAaz5lUwoMdaO0X7I5Xfl
sllMFDaYoGD4Rru4s8gz2qG/QHWA8uPXzJVAj6X0olbIdLTEqTKsnBj4Zr1AJCNy
/YcG4ouLJr140o26MhwBpoCRpPjAgdYMH60BYfnc4/DILxMVqR9xqK1s98d6Ob/+
3wHFK+S7BRWrJQXcM8veAexXuk9lHQ+FgGfD0eSYGz0kyP26Qa2pLTwumjt+nBPl
rfJxaLHwTQ/1988G0H35ED0f9Md5fzoKi5evU1wG5WRxdEUPyt3QUXxdQ69i0C+7
-----END CERTIFICATE REQUEST-----

Структура 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 cons:   SEQUENCE          
   14:d=3  hl=2 l=  11 cons:    SET               
   16:d=4  hl=2 l=   9 cons:     SEQUENCE          
   18:d=5  hl=2 l=   3 prim:      OBJECT            :countryName
   23:d=5  hl=2 l=   2 prim:      PRINTABLESTRING   :EN
   27:d=3  hl=2 l=  13 cons:    SET               
   29:d=4  hl=2 l=  11 cons:     SEQUENCE          
   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 cons:     SEQUENCE          
   46:d=5  hl=2 l=   3 prim:      OBJECT            :localityName
   51:d=5  hl=2 l=   4 prim:      UTF8STRING        :none
   57:d=3  hl=2 l=  18 cons:    SET               
   59:d=4  hl=2 l=  16 cons:     SEQUENCE          
   61:d=5  hl=2 l=   3 prim:      OBJECT            :organizationName
   66:d=5  hl=2 l=   9 prim:      UTF8STRING        :Wikipedia
   77:d=3  hl=2 l=  13 cons:    SET               
   79:d=4  hl=2 l=  11 cons:     SEQUENCE          
   81:d=5  hl=2 l=   3 prim:      OBJECT            :organizationalUnitName
   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:     SEQUENCE          
   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 cons:    SET               
  120:d=4  hl=2 l=  26 cons:     SEQUENCE          
  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 cons:   SEQUENCE          
  152:d=3  hl=2 l=  13 cons:    SEQUENCE          
  154:d=4  hl=2 l=   9 prim:     OBJECT            :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 your_request.p10 -inform PEM -i где PEM ( почта с улучшенной конфиденциальностью ) — это кодировка особых правил кодирования ASN.1 в base64.

  1. ^ «Формат сообщения запроса сертификата инфраструктуры открытых ключей Internet X.509 (CRMF)» .
  2. ^ «Выдающиеся имена» . Концепции и механизмы безопасности WebSphere MQ . ИБМ . 05.11.2019 . Проверено 16 января 2020 г.
  3. ^ Jump up to: а б RFC   2986 — PKCS #10: Спецификация синтаксиса запроса на сертификацию, версия 1.7
  4. ^ Никос Маврояннопулос (9 января 2020 г.). «Запросы сертификатов PKCS #10» . ГнуТЛС . Проверено 16 января 2020 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a05f3161edcb56b7bf0508bf2001f727__1716277380
URL1:https://arc.ask3.ru/arc/aa/a0/27/a05f3161edcb56b7bf0508bf2001f727.html
Заголовок, (Title) документа по адресу, URL1:
Certificate signing request - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)