ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: manowar@altlinux.org
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: [devel] X509v3: CRL Distribution Points: help is needed
Date: Wed, 8 Aug 2018 18:43:25 +0300
Message-ID: <cd84cec1-224c-58d3-98ef-4ea4bde2ca75@altlinux.org> (raw)


  Всем привет. Прошу помощи у тех, кто хорошо "шарит" в 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


             reply	other threads:[~2018-08-08 15:43 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-08 15:43 manowar [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cd84cec1-224c-58d3-98ef-4ea4bde2ca75@altlinux.org \
    --to=manowar@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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