SSLの自己署名証明書とは?通常の証明書との違いや警告される理由・作成方法を解説

目次

はじめに

「SSLの自己署名証明書って、通常のSSL証明書と何が違うの?」
「設定したのにブラウザで警告が表示されるのはなぜ?」と迷っていませんか。

Webサーバーに自己署名証明書を設定したところ、証明書エラーが表示されて接続を続けてよいのか判断できず、設定画面の前で手が止まってしまうことがあります。

この記事では、自己署名証明書と通常のSSL証明書の違い、警告が表示される理由、自己署名証明書を作成する方法まで、順を追って説明していきます。

SSLの自己署名証明書とは?

自己署名証明書は、認証局を介さずに自分で発行するSSL証明書です。

ここでは、自己署名証明書で通信を暗号化できる理由と、認証局が発行するSSLサーバ証明書との違いを順に説明します。

自己署名証明書でも通信の暗号化はできる

自己署名証明書でも、Webサーバーに証明書と秘密鍵を設定すれば、TLSによる暗号化通信ができます。

ただし、認証局による署名がないため、利用する端末側で証明書を信頼する設定が必要になる場合があります。

認証局が発行するSSLサーバ証明書との違い

大きな違いは、証明書の信頼性を誰が確認するかです。自己署名証明書は管理者自身が署名するのに対し、SSLサーバ証明書は認証局が確認したうえで発行します。

そのため、認証局が発行した証明書であれば、一般的なブラウザでは通常、追加の信頼設定をせずに利用できます。

自己署名証明書でブラウザに警告が表示される理由

自己署名証明書を設定したWebサイトでは、通信が暗号化されていてもブラウザに「安全ではありません」などの警告が表示されることがあります。

ここでは、第三者の認証局による確認がない理由と、暗号化されていても接続先の信頼性を証明できない理由を順に説明します。

第三者の認証局による信頼性が確認されていない

自己署名証明書は、Webサーバーの管理者自身が署名するため、第三者の認証局による確認を受けていません。

そのため、ブラウザが信頼できる証明書と判断できず、接続時に警告が表示されます。

暗号化されていても接続先の信頼性は証明できない

自己署名証明書でもHTTPS通信は暗号化できますが、その証明書だけでは接続先が正しいWebサイトかどうかを確認できません。

通信内容を保護することはできても、接続先の信頼性までは証明できないため、ブラウザでは警告が表示されます。

自己署名証明書を使ってもよいケース・避けるべきケース

自己署名証明書は、ブラウザから警告が表示されるため、すべてのWebサイトで避ける必要があるとは限りません。。

ここでは、自己署名証明書を利用できる環境と、避けるべきWebサイトについて説明します。

検証環境や社内環境では利用できる場合がある

自己署名証明書は、検証環境や社内環境など、利用する端末を管理できる場合に使われることがあります。

各端末で証明書を信頼する設定を行えば、ブラウザの警告を避けながらHTTPS通信を利用できます。

一般公開するWebサイトでの利用は避ける

一般公開するWebサイトでは、自己署名証明書の利用は避けたほうがよいでしょう。

訪問者のブラウザに警告が表示されるため、不特定多数が利用するサイトでは、信頼された認証局が発行するSSLサーバ証明書を使用します。

一般公開サイトで使うSSL証明書をどう選べばよいか迷う場合は、無料・有料を含めた証明書の違いも確認しておくと安心です。
▶SSL証明書の種類とは?無料・有料の違いや選び方を解説

OpenSSLで自己署名証明書を作成する方法

OpenSSLを使えば、秘密鍵を作成して自己署名証明書を発行し、Webサーバーで利用できる状態に設定できます。

こでは、秘密鍵の作成から自己署名証明書の発行、Webサーバーへの設定まで順を追って説明します。

秘密鍵を作成する

OpenSSLで自己署名証明書を作成するときは、まずWebサーバーで使用する秘密鍵を生成します。

秘密鍵はHTTPS通信に必要な重要なファイルなので、第三者に取得されないようWebサーバー上で適切に管理しましょう。

H自己署名証明書を発行する

秘密鍵を作成したら、OpenSSLで自己署名証明書を発行します。

秘密鍵を指定し、有効期間や接続先のドメイン名などを設定して証明書ファイルを生成します。自己署名のため、ブラウザでは信頼されず警告が表示される場合があります。

Webサーバーに自己署名証明書を設定する

証明書を発行したら、Webサーバーに証明書ファイルと秘密鍵ファイルを設定します。

設定を反映したあとにHTTPSでアクセスし、作成した証明書が正しく使用されているか確認しましょう。

証明書を設定したあとにエラーが表示される場合は、証明書の検証に失敗する原因を確認してみましょう。
▶Failed SSL Validationとは?原因と対処法を解説

まとめ

SSLの自己署名証明書は、HTTPS通信を暗号化できますが、認証局による確認を受けていないため、ブラウザで警告が表示されることがあります。

検証環境や社内環境では利用できますが、一般公開するWebサイトでは、信頼された認証局が発行するSSLサーバ証明書を使用すると安心です。

自己署名証明書が必要な場合は、OpenSSLで秘密鍵と証明書を作成し、Webサーバーへ設定したうえで、HTTPSで正しく接続できるか確認しましょう。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

目次