From: Vitaly Lipatov <lav@altlinux.ru>
To: Alexey Gladkov <legion@altlinux.ru>
Cc: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] Взгляд на сертификаты в /usr/share/ca-certificates/ca-bundle.crt и сертификаты УЦ РФ
Date: Wed, 02 Aug 2017 19:24:09 +0300
Message-ID: <34c78a0055339a7a449e1c5358c472db@altlinux.ru> (raw)
In-Reply-To: <20170802152919.GD3180@comp-core-i7-2640m-0182e6>
Alexey Gladkov писал 2.8.17 18:29:
> On Wed, Aug 02, 2017 at 05:34:57PM +0300, Vitaly Lipatov wrote:
>> Alexey Gladkov писал 2.8.17 2:48:
>> > On Wed, Aug 02, 2017 at 01:57:04AM +0300, Vitaly Lipatov wrote:
>> >> Это вы разработчикам Go, Qt и прочим, которые не осилили?
>> >> Я подозреваю, что ничего нет в документации.
>> >
>> > Что-то я не очень понял в чём проблема в golang ?
>>
>> Я приводил багу об этом в первом письме:
>> GO не находит корневой сертификат
>> https://bugzilla.altlinux.org/show_bug.cgi?id=29449
>
> Эта бага закрыта 4 года назад. Список приведённый в этой баге
> показывает,
> что нет стандартного места, где должны быть расположены сертификаты.
> Это
> не проблема языка.
Это не проблема языка. Возможно, проблема отсутствия стандартизации или
механизма, позволяющего получить доступ к набору сертификатов. Допустим,
проблема отсутствия crypto api на платформе.
>
>> Проблема в том, что разработчикам по явно архитектурной недоработке
>> приходится в каждой программе / библиотеке самостоятельно отслеживать
>> расположение файла с сертификатами,который к тому же скачет в
>> зависимости от дистрибутива.
>
> Я всё ещё не понимаю о какой недоработке ты говоришь.
>
> Что мы держим ca-bundle.crt не там, где большинство дистрибутивов ?
Нет, нет, только о том, что для Linux-платформ что-то не додумали на
тему доступного для различных потребителей хранилища сертификатов.
Вот Владимир спрашивал
> А X509_get_default_cert_*() не решают эту проблему?
Это то самое, о чём я спрашиваю? Надо будет проверить.
Вот как вопрос с получением пути решён в библиотеке python requests
# cat /usr/lib/python2.7/site-packages/requests/certs.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
requests.certs
~~~~~~~~~~~~~~
This module returns the preferred default CA certificate bundle.
If you are packaging Requests, e.g., for a Linux distribution or a
managed
environment, you can change the definition of where() to return a
separately
packaged CA bundle.
We return "/etc/pki/tls/certs/ca-bundle.crt" provided by the
ca-certificates
package.
"""
try:
from certifi import where
except ImportError:
def where():
""" Don't use the certs bundled with requests, use
ca-certificates. """
return "/etc/pki/tls/certs/ca-bundle.crt"
И они уже три года обсуждают, что же тут можно сделать
https://github.com/requests/requests/pull/1907
Как я вижу решение.
X509_get_default_cert_dir() внезапно начинает возвращать каталог, где
могут лежать (корневые) сертификаты, используемые openssl и её
пользователями.
Возвращаемый ею путь правильно используется в программах, и все штучки
типа прибивания гвоздями путей забываем, как страшный сон.
Понятно, что такая функция не может находиться (только) в openssl,
потому что не все её используют (к счастью или нет).
--
С уважением,
Виталий Липатов,
Etersoft
next prev parent reply other threads:[~2017-08-02 16:24 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-31 21:31 Vitaly Lipatov
2017-08-01 6:06 ` Vladimir Didenko
2017-08-01 8:54 ` Paul Wolneykien
2017-08-01 14:22 ` Dmitry V. Levin
2017-08-01 15:47 ` Konstantin Lepikhov
2017-08-01 16:26 ` Dmitry Derjavin
2017-08-01 18:24 ` Konstantin Lepikhov
2017-08-01 19:47 ` Dmitry Derjavin
2017-08-01 21:17 ` Konstantin Lepikhov
2017-08-01 21:31 ` Alexey Gladkov
2017-08-01 21:47 ` Konstantin Lepikhov
2017-08-02 9:55 ` Michael Shigorin
2017-08-02 10:39 ` Paul Wolneykien
2017-08-02 10:48 ` Dmitry V. Levin
2017-08-02 11:03 ` Alexey Gladkov
2017-08-02 13:24 ` Paul Wolneykien
2017-08-02 13:30 ` Paul Wolneykien
2017-08-02 14:05 ` Konstantin Lepikhov
2017-08-04 11:36 ` Yury A. Romanov
2017-08-01 22:37 ` Vitaly Lipatov
2017-08-01 22:57 ` Vitaly Lipatov
2017-08-01 23:48 ` Alexey Gladkov
2017-08-02 14:34 ` Vitaly Lipatov
2017-08-02 15:29 ` Alexey Gladkov
2017-08-02 16:24 ` Vitaly Lipatov [this message]
2017-08-02 8:32 ` Vladimir Didenko
2017-08-02 9:13 ` Konstantin Lepikhov
2017-08-02 9:24 ` Vladimir Didenko
2017-08-02 10:21 ` Konstantin Lepikhov
2017-08-02 14:41 ` Vitaly Lipatov
2017-08-01 17:51 ` Paul Wolneykien
2017-08-04 11:40 ` Paul Wolneykien
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=34c78a0055339a7a449e1c5358c472db@altlinux.ru \
--to=lav@altlinux.ru \
--cc=devel@lists.altlinux.org \
--cc=legion@altlinux.ru \
/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