証明書の準備(認証局への署名リクエストを作成する場合)

opensslを利用し、証明書の発行を認証局(CA)へ依頼する際に提出する署名リクエスト(CSR)を作成する手順を説明します。

  • 認証局の署名を得た証明書でSSTPを運用する場合は、クライアント端末は基本的なVPN設定のみでリモートアクセスを利用することができます。
  • この手順により、RSA秘密鍵、および署名リクエスト(CSR)が作成されます。
  • opensslコマンドが使用可能なPC等が用意してあるものとします。
  1. 設定パラメータを用意する
    表 1. 用意する情報
    項目 備考
    Country Name: JP ISOによる2文字の国名符号
    State or Province Name: Tokyo 都道府県名
    Locality Name: Chiyoda 市区町村
    Organization Name: Example inc. 組織名
    Common Name: vpn.example.jp サーバ名【重要】
    • ここで指定する文字列をFQDNとしてSEILにアクセス可能である必要があります。(DNSのAレコード登録やPCのhostsデータベース登録など)
    注: 認証局の署名を得る際、提出した情報により認証局の審査を受けます。 必要となる情報や審査基準は利用する認証局により異なりますので、詳細は各認証局のWebサイト等を参照ください。
  2. RSA秘密鍵を作成する
    $ openssl genrsa -out rsa-secret.key 1024
    Generating RSA private key, 1024 bit long modulus
    .................................++++++
    .................................++++++
    e is 65537 (0x10001)
    $
    
    【内容の確認】
    $ cat rsa-secret.key
    -----BEGIN RSA PRIVATE KEY-----
    MIICXAIBAAKBgQC9mu5FBa5TR35uZpEiG4ZAQ54KqMaG7ZOGF+qe3gZ54oLLyqrz
    /hx2ehx7tlr+3Ty7EgfDO5r2gbpsXXgp2Vs1jRUfU6MDEdA0NE9Qth9GUm6VeEjD
    - 省略 -
    LKc9054WTDZ2I4zjA1UCQEaYLzJGIS11DV7ogNeaxrBnQjSG8h1dXC5dDe5oH9o0
    ku+PPXWVbD5tjVoFigQPIPvyrMLxlNkhC+mUuba23c0=
    -----END RSA PRIVATE KEY-----
    
    $
    • RSA秘密鍵のファイル名は"rsa-secret.key"としています。
    • 鍵長は1024bitとしています
    注: RSA秘密鍵は厳重に管理してください。
  3. 署名リクエスト(CSR)の作成
    $ openssl req -new -x509 -key rsa-secret.key -out request.csr
    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) [GB]:JP
    State or Province Name (full name) [Berkshire]:Tokyo
    Locality Name (eg, city) [Newbury]:Chiyoda
    Organization Name (eg, company) [My Company Ltd]:Example inc.
    Organizational Unit Name (eg, section) []:
    Common Name (eg, your name or your server's hostname) []:vpn.example.jp
    Email Address []:
    $
    
    【内容の確認】
    $ cat request.csr
    -----BEGIN CERTIFICATE-----
    MIIDATCCAmqgAwIBAgIJAKyVK048BWqiMA0GCSqGSIb3DQEBBQUAMF8xCzAJBgNV
    BAYTAkpQMQ4wDAYDVQQIEwVUb2t5bzEQMA4GA1UEBxMHQ2hpeW9kYTEVMBMGA1UE
    - 省略 -
    KMGKqx1E3sc8IjhTjvRmpRqo0DhNKdDHMIKemhxr18VyCppGlPnTp+I2Sf5/XubR
    uo9TLRU=
    -----END CERTIFICATE-----
    $
    • 使用する秘密鍵に2で作成したファイルを指定します。
    • 署名リクエストのファイル名は"request.csr"としています。
    • コマンドを実行するとリクエストに必要な情報の入力を求められますので、表 1で用意した文字列を入力していきます。

以上で署名リクエスト(CSR)の作成は終了です。

  • 認証局の指定する方法で署名リクエストを提出し、発行された証明書をSEILに設定してください。

作成したファイルの用途

rsa-secret.key
RSA秘密鍵としてSEILに登録します。改ざんや紛失の無いよう厳重に管理する必要があります。
request.csr
SEILのコンフィグレーションには使用しません。認証局(CA)への署名リクエストとして利用します。