SSTPの証明書にOpenSSLを使う (2) 証明書の発行/CA証明書の自動展開

| コメント(0) | トラックバック(0) |

前回
SSTPの証明書にOpenSSLを使う (1) ルートCAの作成

ルートCA証明書を作成したので、それを使ってサーバ証明書を作成したいと思います。前回の流れの 3. に相当します。2.の方は、後回しした方が良いような気がするので、流れが変わりますが、そのようにします。

証明書の発行

※前回に引き続き、この作業にCentOS 5.4を使用します。他のディストリビューション・バージョンによって、ディレクトリが異なる可能性があります。

※この作業には、前回作成したルートCA作成スクリプトを使用します。この説明では、前回作成した /etc/pki/PublicCA.sh を使用しています。

まず、CAに証明書を作成してもらうため、リクエストを作成します。この作業は、サーバ管理者が行うのですが、CA管理者と同一人物なので、気にしなくて良いです。

リクエストファイルを保管したいディレクトリをカレントワーキングディレクトリにしておきます。リクエストを作成します。

$ /etc/pki/PublicCA.sh -newreq
Generating a 1024 bit RSA private key
.....++++++
.......++++++
writing new private key to 'newkey.pem'
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]: ←デフォルト設定でEnterキーで応答
State or Province Name (full name) [Shiga]: ←デフォルト設定でEnterキーで応答
Locality Name (eg, city) [Yasu]: ←デフォルト設定でEnterキーで応答
Organization Name (eg, company) [Let's Try It!]: ←デフォルト設定でEnterキーで応答
Organizational Unit Name (eg, section) []:SSTP service ←部門名 何でも良い
Common Name (eg, your name or your server's hostname) []:vpn.letstryit.net ←(!重要!)必ずアクセスするFQDNにする
Email Address []:[email protected] ←電子メールアドレス 何でも良い

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: ←デフォルト設定でEnterキーで応答
An optional company name []: ←デフォルト設定でEnterキーで応答
Request is in newreq.pem, private key is in newkey.pem

これで、リクエストファイルを作成できました。newkey.pemが秘密鍵、newreq.pemがリクエストです。途中のCommon Nameは、非常に重要でこれがアクセスするURLと一致しなければSSTP(SSL/TLS)の要件を満たしません。

そのまま、CA管理者(普通はroot)に移行します。カレントワーキングディレクトリは同じ位置にしておきます。そして、リクエストを元に証明書を発行します。

# /etc/pki/PublicCA.sh -sign
Using configuration from /etc/pki/tls/openssl-public.cnf
Enter pass phrase for /etc/pki/PublicCA/private/cakey.pem: ←CAの秘密鍵のパスフレーズを入力
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 4 (0x4)
        Validity
            Not Before: Feb 12 06:39:23 2010 GMT
            Not After : Feb 12 06:39:23 2011 GMT
        Subject:
            countryName               = JP
            stateOrProvinceName       = Shiga
            localityName              = Yasu
            organizationName          = Let's Try It!
            organizationalUnitName    = SSTP service
            commonName                = vpn.letstryit.net
            emailAddress              = [email protected]
        X509v3 extensions:
            X509v3 Basic Constraints:
                CA:FALSE
            Netscape Comment:
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier:
                90:7D:A6:04:F6:9C:79:C5:0E:66:5E:22:59:D8:54:99:88:22:E0:32
            X509v3 Authority Key Identifier:
                keyid:59:CB:99:9D:85:D3:E4:3A:42:41:04:C2:71:3D:E8:04:90:92:26:D0

Certificate is to be certified until Feb 12 06:39:23 2011 GMT (365 days)
Sign the certificate? [y/n]:y ←内容を確認してyで応答


1 out of 1 certificate requests certified, commit? [y/n]y ←CAでも証明書を管理する yで応答
Write out database with 1 new entries
Data Base Updated
~証明書データ(冗長なのでカット)~
Signed certificate is in newcert.pem

これで、証明書が作成されました。newcert.pemが証明書ファイルです。このままでは、Windowsに取り込みづらいので、PKCS#12(pfxファイル)形式にエクスポートします。このファイル形式は、秘密鍵と証明書を内包でき、任意のパスフレーズによって暗号化されます。

$ openssl pkcs12 -export -in newcert.pem -inkey newkey.pem -out sstp.pfx
Enter pass phrase for newkey.pem: ←秘密鍵のパスフレーズ
Enter Export Password: ←エクスポートするためのパスフレーズ
Verifying - Enter Export Password: ←エクスポートのパスフレーズの確認入力

sstp.pfxにエクスポートできました。USBメモリ・FTPなどでコピーできるようにしておいてください。

CA証明書の自動展開

ActiveDirectory ドメインに参加しているコンピュータに自動的に証明書を配布できるようにします。配布したくなければ、この作業を止め、該当マシンに証明書をインポートしてください。

※この作業は、Windows Server 2008もしくは、Windows Server 2008 R2上で動作しているActiveDirectoryで行います。その他のバージョンに関しては、不明で動作するかわかりません。

※前回作成したCAのDER形式証明書ファイルが必要です。

[グループ ポリシーの管理]を起動します。[スタート] メニュー の[管理 ツール]にあります。

適応したいグループ ポリシーを編集します。すべてのコンピュータに配布するなら標準では、[Default Domain Policy]になっています。右クリックをして[編集...]を選んでください

[グループ ポリシー管理エディター]が起動するので、編集します。左のツリーから[コンピューターの構成]→[ポリシー]→[Windows の設定]→[セキュリティの設定]→[公開キーのポリシー]→[信頼されたルート証明機関]を選択します。

右側のリストビューで右クリックし、[インポート...]を選択して、証明書をインポートします。正しく登録されれば以下のようになります。

グループ ポリシー管理エディター 信頼されたルート証明機関

以上で自動配布の設定が完了します。クライアント側に適応されるまで時間がかかります。すぐに適応する場合は、Administrator権限で gpupdate を実行してください。

次回は、SSTP証明書を使ってSSTPを構築します。

やっぱ長いな

トラックバック(0)

トラックバックURL: https://www.letstryit.net/mt/mt-tb.cgi/155

最近プログラミングの方にやる気が出たので、そっちのせいで、少し時間が空いてしまいました。だらだら書いているのも面倒なので、今回でけりを付けます。 前回SS... 続きを読む

コメントする

アーカイブ

カウンタ

Total
Today
Yesterday

IPv6 Ready

Powered by Movable Type 7.0

このブログ記事について

このページは、enjoypcが2010年2月12日 15:16に書いたブログ記事です。

ひとつ前のブログ記事は「SSTPの証明書にOpenSSLを使う (1) ルートCAの作成」です。

次のブログ記事は「SSTPの証明書にOpenSSLを使う (3) SSTPの構築」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ