当社はIT技術のオンライン教育を得意としたセミナー専門会社です。

ITエンジニアの技術力UPをお約束します。

CentOS7:SSL自己発行局の設置から俺々証明書の作成と承認まで

CentOS7:SSL自己発行局の設置から俺々証明書の作成と承認まで


この内容を書こうと思ったのは従来オレオレ証明書を作成するありがちな記事はプライベートキーとサーバ証明書を作る方法で終わっているケースが多い。残念ながら現代のブラウザーはもはやこれだけでは表示できない。(厳密には危険の警告が表示されてしまう)。何故こうなるか理由は元々ブラウザーには世界の著名なSSL証明書の発行局の証明書が内蔵されている。自分で作ったものは証明局の発行がないから不正と判断されてしまう。ならば簡単で自己発行局を作成し証明書をブラウザーへインポートすればよいのである。
ということで今回はCentOS7で時々作成する自己発行局の作成から発行手順までを解説する。できるだけ簡単に完結にまとめようと思います。

一般的にスクリプトを使って生成するやり方もあるのですが、応用が効くのは素の手順で行うこちらの方法なので参考にしてください。openssl.cnfのファイルは/etc/pki/openssl.cnfの位置にありこれは場所やファイル名を変更しないほうが良いです。そのままにしたほうが簡単。自己発行局はオリジナルで/etc/pkiの配下に適当なフォルダーを作成してそこで作業を行います。別の場所に作業場所を作った場合も/etc/pkiにソフトリンクを貼っておけば問題なく発行が行なえます。尚、Ubuntuでも同様の手順で可能か実験してみたところ、パッケージライブラリーが足りないとか、ディレクトリが足りないとか、ファイルがないとかエラー出ますがコピーして用意すれば同様に発行できることを確認しました。

SSL証明書自己発行局構築(自己発行局の場所:/etc/pki/myCA)

最終的にca.crtとca.keyが生成されています。発行局とサーバ証明書は対になっているためDNS.xで指定したサーバ証明書用のドメインが変わる度に再作成とブラウザへのインストールが必要です。発行局自体にDNSのスコープ(利用範囲)があることを理解してください。

/etc/pki/tls/openssl.cnfのサンプルダウンロード

opensslのサンプルダウンロード

下記は標準の設定ファイルから修正した箇所です。追加や挿入する箇所です。参考にしてください。

SSLサーバ証明書発行依頼(CSRファイルの作成)

自己発行局へサーバ証明書の承認処理とSSLサーバ証明書の生成(server.crtの生成)

あとはWEBサーバに証明書を設置するのとca.crtを自分の使っているパソコンのブラウザへ証明書をインポートしてください。これを実施しないとSSL証明書を入れても警告画面になりますので要注意です。

2019年の12月以降はSSL化に対する規制は厳しくなる予定なのでオレオレ証明書を作る場合はブラウザー拒否されないように、ここで生成した自己発行局証明書は必須となります。お客様に入れる場合はお客様のブラウザにインポートする必要があります。もっとも通常はユーザに使って頂く場合は有料の安い証明書でもいいとは思いますが。

  • サーバ証明書 /etc/pki/myCA/server.crt
  • サーバ秘密鍵 /etc/pki/myCA/private/server.key
  • CAルート鍵 /etc/pki/myCA/ca.crt

タグ: , ,