// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents


** OpenVPNクライアントで証明書要求を作って、サーバで署名する [#ea44eae0]
クライアント側で秘密鍵と証明書要求のキーペアを作成し、サーバ側に証明書要求を送信し、サーバで署名してクライアント証明書を作成する方法です。


***まずOpenVPNクライアントをインストールします。 [#bcac5c01]
http://openvpn.se/files/install_packages/openvpn-2.0.9-gui-1.0.3-install.exe
をダウンロードし、インストールします。

***秘密鍵と証明書要求を作成 [#cf02e9a9]
次に、OpenVPNクライアント付属のツールで秘密鍵と証明書要求のキーペアを作成します。片方の秘密鍵はクライアント側で大切に保管します。もう一方の証明書要求(CSR)は署名前のクライアント証明書みたいなもので、それをサーバに送信し、サーバで署名をしてもらって署名済みのクライアント証明書として返信してもらいます。

以下、OpenVPN付属ツールをコマンドラインから実行します。
 > cd C:\Program Files\OpenVPN\easy-rsa\
 > init-config.bat
このコマンドで、vars.bat というファイルができました。次にこのファイルを編集します。ファイルの最下行に証明書要求のためのデフォルト値が書いてあるので、たとえば
 set KEY_COUNTRY=JP
 set KEY_PROVINCE=Tokyo
 set KEY_CITY=Bunkyo
 set KEY_ORG=Masatom in
 set KEY_EMAIL=hogehoge@hogehoge.com
などと編集しておきます。

引き続きコマンドラインから以下の通り実行します。
 > vars.bat
 > mkdir %KEY_DIR%
 > openssl req -days 3650 -new 
   -keyout %KEY_DIR%\hogehoge.key
   -out %KEY_DIR%\hogehoge.csr -config %KEY_CONFIG%  <-実際は一行
 
 Loading 'screen' into random state - done
 Generating a 1024 bit RSA private key
 ....++++++
 .............++++++
 writing new private key to 'keys\hogehoge.key'
 Enter PEM pass phrase:   <-秘密鍵を活性化するためのパスワードを入力
 Verifying - Enter PEM pass phrase:
 -----
 You are about to be asked to enter information that will be incorporated
 into your certificate request.
 What you are about to enter is what is called a Distinguished Name or a DN.
 There are quite a few fields but you can leave some blank
 For some fields there will be a default value,
 If you enter '.', the field will be left blank.
 -----
 
 Country Name (2 letter code) [JP]:   <-先のデフォルト値が表示されている
 State or Province Name (full name) [Tokyo]: <-先のデフォルト値
 Locality Name (eg, city) [Bunkyo]: <-先のデフォルト値
 Organization Name (eg, company) [Masatom in]: <-先のデフォルト値
 Organizational Unit Name (eg, section) []: <-空でもいい
 Common Name (eg, your name or your server's hostname) []:hogehoge <-ファイル名と同じにする
 Email Address [hogehoge@hogehoge.com]:
 
 Please enter the following 'extra' attributes
 to be sent with your certificate request
 A challenge password []: <-空でいい
 An optional company name []: <-空でいい
 
 >

これで
 hogehoge.key <-秘密鍵
 hogehoge.csr <-証明書要求
が作成されました。また、秘密鍵にはパスワードが設定されました。

あとはhogehoge.csrをサーバ側に送信して、署名してもらいます。

***署名する [#ja3bddee]
サーバ側で署名を行います。署名は[[CA局としてCSRに署名する>Network/SSL/CA局としてCSRに署名する]]の通りにやればOKですね。



**証明書を無効にする [#n2f61e2e]
 ./vars
 ./revoke-full hogehoge <-ユーザ名
で該当の証明書を無効にします。でserver.confに
 crl-verify /etc/hogehogehoge/crl.pem
とCRLの場所を指定しておけばOKです。


-[[OpenVPN 2.0 HOWTO Japanese Translation>http://freescitech.net/2/ovpn2_howto_ja.html#revoke]]
-[[VPNサーバー構築(OpenVPN) - CentOSで自宅サーバー構築>http://centossrv.com/openvpn.shtml]]

***関連リンク [#a5e28898]
ちなみにrevokeするときには/etc/openvpn/easy-rsa/2.0/にcrtが必要ぽいですね。クライアントに返却したら不要になると思ってたけど、、、。


**関連リンク [#a5e28898]
-[[Network/VPN/OpenVPNでSSL-VPN環境を構築する]]

----
この記事は
#vote(おもしろかった[1],そうでもない[0])


#comment
#topicpath


SIZE(10){現在のアクセス:&counter;}


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS