ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] X509v3: CRL Distribution Points: help is needed
@ 2018-08-08 15:43 manowar
  2018-08-08 16:33 ` Alexey V. Vissarionov
  0 siblings, 1 reply; 16+ messages in thread
From: manowar @ 2018-08-08 15:43 UTC (permalink / raw)
  To: ALT Linux Team development discussions


  Всем привет. Прошу помощи у тех, кто хорошо "шарит" в ASN.1.

  Имею экземпляр цифровой подписи в формате PKCS#7 (CMS). Для того,
чтобы её проверить по правилам, нужно принять во внимание списки отзыва
сертификатов (CRL).
  Согласно стандарту (RFC 3280, п. 4.2.1.14 [1]), информация о списках
отзыва (вернее о том, где можно их получить) представляется в виде
списка (SEQUENCE) объектов типа DistributionPoint. Каждый
DistributionPoint содержит 3 поля, одно из которых ---
distributionPoint --- и является собственно именем (адресом) для
получения CRL. Однако, по тому же стандарту (если я правильно его
понял), поле distributionPoint.fullName может, в свою очередь, быть
представлено _списком_ типа GeneralNames. Тогда получается, что для
каждого объекта DistributionPoint задать _несколько_ адресов одновременно.
  Возможность и смысл указания нескольких адресов подтверждается
наличием в документе следующих слов: "each name
describes a different mechanism to obtain the same CRL. For example,
the same CRL could be available for retrieval through both LDAP and
HTTP" --- т.е. каждый адрес, входящий в состав
distributionPoint.fullName, вроде бы является _альтернативой_ для
получения _одного и того же_ списка отзыва.

  Вот как выглядит в разобранном виде та часть файла подписи, которая
отвечает за CRL:

> SEQUENCE(2 elem)
>   OBJECT IDENTIFIER2.5.29.31cRLDistributionPoints(X.509 extension)
>   OCTET STRING(1 elem)
>     SEQUENCE(2 elem)
>       SEQUENCE(1 elem)
>         [0](1 elem)
>           [0](1 elem)
>             [6]http://pki-lan/ocsp/6b00868389d200cf56b86be4e336101e1f72aec3.crl
>       SEQUENCE(1 elem)
>         [0](1 elem)
>           [0](1 elem)
>             [6]http://pki.grfc.ru/ra/cdp/6b00868389d200cf56b86be4e336101e1f72aec3.crl

( Весь файл целиком доступен по (сокр.) адресу:
https://tinyurl.com/ybpjg9ha )

  Теперь, собственно, сам вопрос: структура выше соответствует двум
разным CRL? или же это всё-таки два варианта получения одного и того же
CRL? Иными словами, что перед нами: два объекта типа DistributionPoint
или же две строки, относящиеся к одному такому объекту?
  Сам я склоняюсь к первому варианту --- формально заявлено два _разных_
CRL. Однако меня смущает указание на количество elem, которое я не
совсем понимаю как читать.

  Предыстория же моего вопроса связана с тем, что первый из указанных
адресов --- это, очевидно, адрес внутренней сети, а не Интернет. А это
значит, что издатель подписи (сертификата) рассчитывал на то, что оба
указанных им адреса будут расценены как альтернативные и, при
недоступности первого, проверяющий перейдёт по второму. Но dirmngr (из
пакета gnupg2) считает иначе: он расценивает указанную информацию как
список из двух различных CRL, которые, следовательно, оба требуются для
проверки подписи. Невозможность получить CRL по первому адресу в
результате приводит к невозможности подтвердить подпись.
  Короче говоря, мне нужно понять кто не прав: GnuPG или grfc.ru. В
пользу последнего как будто бы говорит его официальный статус УЦ. Но с
другой стороны, знаем мы эти статусы.

---
[1]: https://tools.ietf.org/html/rfc3280#section-4.2.1.14


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2018-08-15 13:37 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-08 15:43 [devel] X509v3: CRL Distribution Points: help is needed manowar
2018-08-08 16:33 ` Alexey V. Vissarionov
2018-08-08 16:52   ` Paul Wolneykien
2018-08-10 12:52     ` Paul Wolneykien
2018-08-10 13:21       ` [devel] wiki altlinux.org внутренняя ошибка Александр Антонов
2018-08-10 13:46         ` Dmitry V. Levin
2018-08-10 14:03           ` Grigory Ustinov
2018-08-10 14:07             ` Alexey V. Vissarionov
2018-08-15 13:37             ` Sergey V Turchin
2018-08-10 14:29           ` Paul Wolneykien
2018-08-10 14:56             ` Leonid Krivoshein
2018-08-10 14:57         ` Anton Farygin
2018-08-10 15:09           ` Leonid Krivoshein
2018-08-10 15:29           ` Dmitry V. Levin
2018-08-10 16:26             ` Anton Farygin
2018-08-10 14:51       ` [devel] X509v3: CRL Distribution Points: help is needed Alexey V. Vissarionov

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git