#author("2018-08-11T08:17:00+09:00","","") #author("2018-08-11T08:18:38+09:00","","") [[CentOS7]] *easy-rsa 3で認証局を構築する [#n1507f7e] **以前のバージョンとの違い [#j1f1197f] 以前のeasy-rsa(バージョン2)と大きく異なるのは以下の点です。 実行コマンドは ''easyrsa'' のみとなり、続く引数で実行する処理を切り替えるようになりました。 コマンド実行前に ''vars'' を呼び出す必要はなくなりました。''easyrsa''と同じディレクトリにvarsというファイルを配置し、その中で設定値を指定しておけば、自動的に読み込まれます(ただ、後述する''「X509 DNモード」''の新設により、以前とは異なり''vars''ファイルは作成しなくてもよいケースが多くなりました)。 秘密鍵や証明書を作成する際に含める情報を制御するための''「X509 DNモード」''と呼ばれるパラメータが追加されました。デフォルトは''「cn_only」''となっており、秘密鍵や証明書の作成にはCN(共通名)の情報だけが必要になりました(組織名や都道府県名などを設定する必要がなくなりました)。今まで同様にすべてのデータを含められるようにするには、このモードを''「org」''に変更します。 **easy-rsaのダウンロード [#e2fad22e] easy-rsaの最新版はGitHubから入手できます。使用する環境に合わせたパッケージをダウンロードしてください。今回の例ではLinux環境への導入手順を説明します。 ダウンロードしたファイルを展開しておきましょう。 |BGCOLOR(black):COLOR(white):|c |[root@localhost ~]# tar xzf EasyRSA-3.0.0-rc1.tgz| |[root@localhost ~]# cd EasyRSA-3.0.0-rc1| |[root@localhost EasyRSA-3.0.0-rc1]# ls| |COPYING ChangeLog Licensing README.quickstart.md doc easyrsa &br; openssl-1.0.cnf vars.example x509-types| **初期化 [#a7c06850] ''init-pki''コマンドで認証局を初期化します。 |BGCOLOR(black):COLOR(white):|c |[root@localhost EasyRSA-3.0.0-rc1]# ./easyrsa init-pki| |init-pki complete; you may now create a CA or requests. &br; Your newly created PKI dir is: /root/EasyRSA-3.0.0-rc1/pki| これは認証局設置時にのみ実行します。 このコマンドを実行すると、''easyrsa''と同じディレクトリに''pki''ディレクトリが生成されます。認証局によって生成されるデータはここに保存されます。 **認証局の作成 [#hfd6edbc] ''build-ca''コマンドで認証局を作成します。 |BGCOLOR(black):COLOR(white):|c |[root@localhost EasyRSA-3.0.0-rc1]# ./easyrsa build-ca| |Generating a 2048 bit RSA private key &br; .....................................................................+++ &br; .....+++ &br; writing new private key to '/root/EasyRSA-3.0.0-rc1/pki/private/ca.key' &br; Enter PEM pass phrase: &color(lime){[パスフレーズを入力]}; &br; Verifying - Enter PEM pass phrase: &color(lime){[パスフレーズを入力]}; &br; ----- &br; You are about to be asked to enter information that will be incorporated &br; into your certificate request. &br; What you are about to enter is what is called a Distinguished Name or a DN. &br; There are quite a few fields but you can leave some blank &br; For some fields there will be a default value, &br; If you enter '.', the field will be left blank. &br; ----- &br; Common Name (eg: your user, host, or server name) [Easy-RSA CA]: &color(lime){←任意のサーバー名入力(例:hogehoge.com)}; &br; &br; CA creation complete and you may now import and sign cert requests. &br; Your new CA certificate file for publishing is at: &br; /root/EasyRSA-3.0.0-rc1/pki/ca.crt| デフォルトの''X509 DN''モードが''「cn_only」''のため、共通名''(Common Name)''のみが問い合わせられます。デフォルト値でよければそのまま[Enter]キーを押していただいてもかまいません。 **DHパラメータの生成 [#de44e89a] **DHパラメータの生成 [#sc0e4ff0] ''gen-dh''コマンドで''DH''パラメータを生成します。 |BGCOLOR(black):COLOR(white):|c |[root@localhost EasyRSA-3.0.0-rc1]# ./easyrsa gen-dh| |Generating DH parameters, 2048 bit long safe prime, generator 2 &br; This is going to take a long time &br; ............................................................... &br; ......................................................+........ &br; .........................................................+..... &br; ............................................................... &br; ............................................................... &br; ............................................................... &br; ....................................................+.......... &br; ..........................................+.................... &br; ..............+........+....................................... &br; ............................................................... &br; ............................................................... &br; ............................................................... &br; ..............................................++*++* &br; DH parameters of size 2048 created at /root/EasyRSA-3.0.0-rc1/pki/dh.pem| |Generating DH parameters, 2048 bit long safe prime, generator 2 &br; This is going to take a long time &br; ............................................................... &br; ......................................................+........ &br; .........................................................+..... &br; ............................................................... &br; ............................................................... &br; ............................................................... &br; ....................................................+.......... &br; ..........................................+.................... &br; ..............+........+....................................... &br; ............................................................... &br; ............................................................... &br; ............................................................... &br; ..............................................++*++* &br; DH parameters of size 2048 created at /root/EasyRSA-3.0.0-rc1/pki/dh.pem| **サーバー用秘密鍵/証明書の作成 [#z76079cf] **サーバー用秘密鍵/証明書の作成 [#ca5eb103] 以前のバージョンの''build-key-server''コマンドと同様に、秘密鍵の作成から証明書の署名までまとめて行うには、''build-server-full''コマンドを使用します。 デフォルトの動作では、パスフレーズの入力が求められ、そのパスフレーズによって秘密鍵が暗号化されます。パスフレーズを不要にしたい場合は''nopass''オプションを追加します。 |BGCOLOR(black):COLOR(white):|c |[root@localhost EasyRSA-3.0.0-rc1]# ./easyrsa build-server-full server1 nopass| |Generating a 2048 bit RSA private key &br; .....................................+++ &br; .............+++ &br; writing new private key to '/root/EasyRSA-3.0.0-rc1/pki/private/server1.key' &br; ----- &br; Using configuration from /root/EasyRSA-3.0.0-rc1/openssl-1.0.cnf &br; Enter pass phrase for /root/EasyRSA-3.0.0-rc1/pki/private/ca.key: &color(lime){[CAの署名用パスフレーズを入力]}; &br; Check that the request matches the signature &br; Signature ok &br; The Subject's Distinguished Name is as follows &br; commonName :PRINTABLE:'server1' &br; Certificate is to be certified until Jan 21 05:57:57 2024 GMT (3650 days) &br; &br; Write out database with 1 new entries &br; Data Base Updated| |Generating a 2048 bit RSA private key &br; .....................................+++ &br; .............+++ &br; writing new private key to '/root/EasyRSA-3.0.0-rc1/pki/private/server1.key' &br; ----- &br; Using configuration from /root/EasyRSA-3.0.0-rc1/openssl-1.0.cnf &br; Enter pass phrase for /root/EasyRSA-3.0.0-rc1/pki/private/ca.key: &color(lime){[CAの署名用パスフレーズを入力]}; &br; Check that the request matches the signature &br; Signature ok &br; The Subject's Distinguished Name is as follows &br; commonName :PRINTABLE:'server1' &br; Certificate is to be certified until Jan 21 05:57:57 2024 GMT (3650 days) &br; &br; Write out database with 1 new entries &br; Data Base Updated| **クライアント用秘密鍵/証明書の作成 [#r99e736f] **クライアント用秘密鍵/証明書の作成 [#e1f41e14] 以前のバージョンの''build-key''コマンドと同様に、秘密鍵の作成から証明書の署名までまとめて行うには、''build-client-full''コマンドを使用します。 サーバーの場合と同様、デフォルトの動作では、パスフレーズの入力が求められ、そのパスフレーズによって秘密鍵が暗号化されます。パスフレーズを不要にしたい場合は''nopass''オプションを追加します。 |BGCOLOR(black):COLOR(white):|c |[root@localhost EasyRSA-3.0.0-rc1]# ./easyrsa build-client-full client1 nopass| |Generating a 2048 bit RSA private key &br; ...............................+++ &br; ............................................................... &br; ............................................................... &br; ..+++ &br; writing new private key to '/root/EasyRSA-3.0.0-rc1/pki/private/client1.key' &br; ----- &br; Using configuration from /root/EasyRSA-3.0.0-rc1/openssl-1.0.cnf &br; Enter pass phrase for /root/EasyRSA-3.0.0-rc1/pki/private/ca.key: &color(lime){[CAの署名用パスフレーズを入力]}; &br; Check that the request matches the signature &br; Signature ok &br; The Subject's Distinguished Name is as follows &br; commonName :PRINTABLE:'client1' &br; Certificate is to be certified until Jan 21 06:04:42 2024 GMT (3650 days) &br; &br; Write out database with 1 new entries &br; Data Base Updated| 各コマンドによって生成されたファイルは、pkiディレクトリ内の各サブディレクトリに格納されています。 ''private'' : 秘密鍵 ''reqs'' : 証明書要求 ''issued'' : 証明書 この他に使用できるコマンドやオプションについては、Readmeファイルやヘルプを参照してください。 |BGCOLOR(black):COLOR(white):|c |[root@localhost EasyRSA-3.0.0-rc1]# ./easyrsa| または |BGCOLOR(black):COLOR(white):|c |[root@localhost EasyRSA-3.0.0-rc1]# ./easyrsa help [コマンド名]| でヘルプが参照できます。