ALT Linux Team development discussions
 help / color / mirror / Atom feed
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


  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