ラージビッグバナー(970x90)

Linux

サーバ証明書・クライアント証明書作成

更新日:

ビッグバナー(piglog)728px

仕事で結構使うことが多いので備忘録とすぐ忘れるので覚えるためのメモ。
いわゆるおれおれってやつです。サーバ証明書はそんなにまよわず大丈夫なんだけどクライアント証明書っていつも、ん、どうやるんだっけ?ってなる。。。
特にWindows用のフォーマットに変換するとき。。。

サーバ証明書作成

秘密鍵作成

まずはここから。鍵長は1024でも大丈夫だけどとりあえず2048で。

CSR作成

作成した秘密鍵(SERVER_CERT.key)を使用してCSRを作成します。

証明書発行

作成したCSR(SERVER_CERT.csr)に署名を行いサーバ証明書を発行します。

できあがったもの

SERVER_CERT.csrは証明書を発行するためのファイルなので捨ててもよいです。
サーバなどに設置するものは、証明書(SERVER_CERT.crt)と秘密鍵(SERVER_CERT.key)です。
"など"というのは、ロードバランサなどにSSL証明書を設置してSSL接続を終端するようなこともできます。その場合、証明書は1枚用意すればよく、ロードバランサからサーバまでの通信はhttp(sなし)となります。(sありにもできますが。)sなしとすることのメリットとしては、サーバで受けるアクセスがhttpとなるので負荷が減ります。暗号化された通信を複合するためにsslの接続を受けるのは大変なのです。

Apacheを例にあげて設置方法を記載
ちなみにApacheでSSLを利用するためには、「mod_ssl」が必要です。

あとは、ssl.confの以下パラメータを設置パスに置換します。(以下はデフォルト)

秘密鍵のパーミッションはほかのユーザが読めないように400に変更

CSRについて

CSRとは、Certificate Signing Request の略で証明書発行要求といいます。
認証局に対して行う、認証局の秘密鍵で署名してもらうためのリクエストです。

CSRの中身を確認するためには以下のようにreqコマンドに-textオプションを実行することで確認できる。

Signature Algorithm の項目をみると「sha256WithRSAEncryption」となっている。
これまで使われていたsha-1は解読されるリスクが高まってきているので、これから作成するものは「sha-2」とするのがよいです。「sha-2」といってもsha-224、sha-256、sha-384、sha-512の4つがあって、512が一番安全度は高いですがクライアント側の対応状況などもあるので一概に512がよいとも言えない。例えばガラケーは「sha-2」自体に対応していない機種も多い。最近出ている機種は対応していると思いますが。

Microsoftからはsha-1廃止ポリシーなるものも出ているようです。

なお、「sha-1」の場合のCSRの表示は、以下な感じ。

クライアント証明書作成

秘密鍵作成

まずはここから。鍵長は1024でも大丈夫だけd(ry

CSR作成

作成した秘密鍵(SERVER_CERT.key)を使用してCSRを作成します。

証明書発行

作成したCSRに署名を行いクライアント証明書を発行します。

pkcs12へ変換

Windows端末にインポートするためにpkcs12形式でexportします。
"CERT_NAME"は単なる識別子のため、なんでも良いしあってもなくてもよいです。

出来上がったもの

CLIENT_CERT.csrは証明書を発行するためのファイルなので捨ててもよいです。
サーバなどに設置するものは、証明書(CLIENT_CERT-ca.crt)と秘密鍵(CLIENT_CERT.key)です。
Windowsクライアントへ配布するものは、pkcs12形式でエクスポートしたCLIENT_CERT.p12です。

Windowsクライアント端末へインポートする方法は、作成された「CLIENT_CERT.p12」をダブルクリックすればインポートウィザードが起動するのでウィザードに沿ってインポートする。

まとめ

とりあえずこれですぐに10年使えるおれおれ証明書がすぐできるヤター
クライアント証明書のインポートとかサーバへの設置手順とかもそのうちまとめようと思います。

レクタングル (大)

レクタングル (大)

リンクユニット(レスポンシブ)

-Linux
-, , ,

Copyright© ぴぐろぐ , 2018 All Rights Reserved.