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