Help us understand the problem. What is going on with this article?

Let's Encryptで発行した証明書がUbuntuで拒否されないようにしたい!

解決したいこと

まだ、Let's Encryptの証明書をUbuntuが信用してくれてないようです。信用されていないため、拒否されてしまいます。それを解決したいです。

例えば、https://hogehoge.io がLet's EncryptのSSL証明書を使っているときに、
以下のようにUbuntuでcurlすると、エラー"server certificate verification failed."などといわれて、接続を拒否されることがあります。

$ curl https://hogehoge.io
curl: (60) server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

環境は以下のとおりです。

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.5 LTS"

(環境はクライアントの環境です。hogehoge.ioが運営されているサーバーの環境は今回は全く関係ありません)

[追記] サーバーの設定ミス

Let's Encryptを使っているサーバーの設定のミスで発生していることが分かったので追記します。

/etc/letsencrypt/live/hogehoge.io/fullchain.pemをcertとすべきところをcert.pemにしてました。

その場しのぎの対処方法

上のエラー文にも出ているとおり、-k--insecureを使えば無理やりcurlできます。

curl -k https://hogehoge.io

ただし、恒久的な対処方法ではないです。

恒久的な対処法

恒久的な対象方法として、
Let's EncryptのRoot Certificatesをインストールします。

# ディレクトリを移動する
cd /usr/share/ca-certificates
# crtをダウンロードする
sudo wget https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem.txt
# 何らかのエディタで/etc/ca-certificates.confに一行追記する
sudo vim /etc/ca-certificates.conf

一行追記するのは、ダウンロードした lets-encrypt-x3-cross-signed.pem.txt です。
具体的には以下のように追記します。新しく追加したファイルのパスを/usr/share/ce-certificetsからの相対パスで追記すれば良いようです。

/etc/ca-certificates.conf
... .crtがたくさん並んでいる ...
mozilla/OpenTrust_Root_CA_G2.crt
mozilla/OpenTrust_Root_CA_G3.crt
mozilla/SZAFIR_ROOT_CA2.crt
mozilla/TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.crt

# 以下の行を追加する
lets-encrypt-x3-cross-signed.pem.txt

追記後に以下のコマンドで設定を反映させます。

sudo update-ca-certificates

以上で完了です。

参考

nwtgck
最近はScrapbox → https://scrapbox.io/nwtgck
https://scrapbox.io/nwtgck
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした