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
next 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