質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

Q&A

解決済

2回答

2115閲覧

Python3.6・CentOS7でSSL証明書が更新できない

stmkza

総合スコア478

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

0グッド

1クリップ

投稿2018/03/26 05:33

編集2018/03/26 07:10

原因は違うことが判明しました。

前の質問で、SSLでサーバに接続ができない原因がSSL証明書関係だとわかりました。
macOSでは/Applications/Python 3.6/Install Certificates.commandを実行することでSSL証明書が更新できましたが、CentOSでの対応するコマンドが見つかりません。
certifiをインストールしてみても結果は変わらなかったです。
Python3.6でSSL証明書を更新する方法を教えていただけないでしょうか?
CentOSから普通にcURLを使用してアクセスしてもエラーになりますが、macからはアクセスできるので、サーバは正常です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2018/03/26 05:56

PythonでSSLサーバを立てる、というはなしでしょうか。それともSSLサーバに接続しに行くという話でしょうか?できれば、接続周りのコードを挙げてもらえませんか
stmkza

2018/03/26 06:00

SSLサーバに接続しに行くためのコードです。接続まわりのコードですが、完全にライブラリでやっているので、コードを読んで追記します。
stmkza

2018/03/26 06:03

どうやら、ThriftのTHttpClientにそのまま処理を投げているようです
y_waiwai

2018/03/26 06:09

なら証明書は関係ないように思います。そのライブラリで接続を行っているところだけでも上げておいてください(できるなら全体のコードを)
guest

回答2

0

Ubuntu での経験ですが、次のような組み合わせのため、CentOS側の証明書の管理を、別途触ってやる必要があるようです。

  • macOS : /Applications/Python 3.6/Install Certificates.command により、 macOS標準のopeenssl証明書管理を、certifiに置き換える。その結果、すべてのPythonコードからcertifiを参照
  • Ubuntuの場合 : certifiをインストールしても、それを参照するのは(デフォルトでは)requestsライブラリ。Python標準のurllibは、依然OS標準を参照。

上記の理解でした。僕の場合は、Python標準のurllibを使っていたので、参照が必要なcrtファイルを取得してきて、OS標準の証明書ストアを、次のサイトを参考に更新して、無事に対象サイトがSSLで閲覧できました。

上記にはCentOSの手順もあるので、同様に対応出来るのではないかなと思います(未検証)。

参考)

投稿2018/05/29 07:11

hidehara

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

CentOS全体の証明書を更新する、yum update ca-certificates(環境によってはsusudoが必要)などを試してみてはいかがでしょうか。

投稿2018/03/26 05:56

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

stmkza

2018/03/26 06:00

No packages marked for update と出るので、最新のようです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問