環境
・Windows Server 2022
・OpenVPN 2.6.10
OpenVPNのダウンロードとインストール
以下のURLからOpenVPNのインストーラーをダウンロードしてください。
インストール時にカスタマイズで 「EasyRSA 3 Certificate Management Scripts」 を追加でインストールするのを忘れずに!!
サーバーとクライアントの証明書とキーを作る
[任意] 証明書の有効期限を変更する
OpenVPNフォルダのeasy-rsaフォルダ内のvars.example
をメモ帳などのエディタで開いて以下のように編集します。
set_var
の前の#
を消してコメントアウトを外すのを忘れないようにしましょう。
# In how many days should the root CA key expire?
#
set_var EASYRSA_CA_EXPIRE [指定の日数]
# In how many days should certificates expire?
#
set_var EASYRSA_CERT_EXPIRE [指定の日数]
上が認証局(CA)の有効期限で
下が証明書の有効期限です。
ファイルを保存すると、証明書を発行するときに指定した有効期限が設定されているはずです。
コマンドプロンプトを起動
接続したいサーバーやPC(EC2など)でコマンドプロンプトを開きます。
以下のコマンドでOpenVPN内のeasy-rsaファイルまで移動します。当たり前ですがPathは人それぞれです。
cd C:\Program Files\OpenVPN\easy-rsa
コマンドでEasyRSA3 Shellを開きます。
.\EasyRSA-Start.bat
PKI環境を初期化します。
./easyrsa init-pki
認証局の証明書
新しい認証局(CA)の証明書を作ります。
途中でCommon Nameを入力する必要があるので、ドメイン等を判別できる適当な名前を設定します。
./easyrsa build-ca nopass
証明書とキー
以下のコマンドでサーバー証明書とキーを作ります。
./easyrsa --san=DNS:server build-server-full server nopass
以下のコマンドでクライアント証明書とキーを作ります。
./easyrsa build-client-full client1.domain.tld nopass
途中でType the word 'yes' to continue, or any other input to abort. Confirm request details:
と聞かれるのでyes
と答えましょう。
全て終わったらexit
でシェルを終了しましょう。
証明書とキーの場所
以上の手順で以下の場所に証明書とキーが作られているはずです。
名前 | 場所 |
---|---|
認証局証明書 | .\pki\ca.crt |
サーバー証明書 | .\pki\issued\server.crt |
サーバーキー | .\pki\private\server.key |
クライアント証明書 | .\pki\issued\client1.domain.tld.crt |
クライアントキー | .\pki\private\client1.domain.tld.key |
証明書の有効期限確認
EasyRSA3 Shellを起動した状態で以下のコマンドをそれぞれ入力すると確認できるはずです。Pathは合わせて変更してください。
openssl x509 -text -noout -in pki/issued/server.crt
openssl x509 -text -noout -in pki/issued/client1.domain.tld.crt
参考資料