OpenSSLを利用したCSR情報の作成方法

ソフトウエア
OpenSSLを利用してSSL証明書を作るためのCSRを作成したい。

この疑問に回答します。

関連記事 Nginx クライアント証明書による認証の設定方法(OpenSSL)

SSL証明書を作成するにはCSRを作成する必要があります。

CSRファイルとは何のこと?

CSR(Certificate Signing Request)とは、認証局に対し、SSL証明書への署名を申請するためにりようするファイルのことです。簡単に説明すると「証明書署名要求」と言えば判りやすいと思います。

 

CSR は「公開鍵」「所有者情報」「申請者の秘密鍵」の署名が記載されており、

認証局は証明書にその所有者情報を署名することで、所有者の存在を証明してSSL証明書を作成します。

秘密鍵の作成

CSRファイルを作成する際に利用する秘密鍵を作成します。

※※ 重要 ※※

秘密鍵を作成する際にパスフレーズを「組み込む」「組み込まない」かで、後々の作業に違いが出てきます。

トラブル防止が大切と考えるのであれば、パスフレーズなしの秘密鍵を作成してください。

セキュリティーが大切と考えるのであれば、パスフレーズありの秘密鍵を作成してください。

パスフレーズなし

秘密鍵の作成
# openssl genrsa 2048 > secret.key
Generating RSA private key, 2048 bit long modulus
..............................+++
................................................+++
e is 65537 (0x10001)

パスフレーズあり

秘密鍵の作成
# openssl genrsa -des3 2048 > secret.key
Generating RSA private key, 2048 bit long modulus
....................+++
......................+++
e is 65537 (0x10001)
Enter pass phrase:
Verifying - Enter pass phrase:

CSR情報の作成

CSRファイルを作成します。CSRには「所有者情報(ディスティングイッシュネーム)」を入力する必要があります。

CSRファイルの作成
# openssl req -new -key secret.key[先ほど作成した秘密鍵] -out csr.pem[CSRファイル]
Country Name (2 letter code) [XX]:JP ← 必須入力
State or Province Name (full name) []:Tokyo ← 必須入力
Locality Name (eg, city) [Default City]:Chuo-ku ← 必須入力
Organization Name (eg, company) [Default Company Ltd]:MyCompany CO.,LTD ← 必須入力
Organizational Unit Name (eg, section) []: ← 未入力
Common Name (eg, your name or your server's hostname) []:mydomain ← 必須入力
Email Address []: ← 未入力
A challenge password []: ← 未入力
An optional company name []: ← 未入力

CSR情報の確認

作成されたCSRファイルの内容を確認します。

CSRファイルの確認
# openssl req -noout -text -in csr.pem
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=JP, ST=Tokyo, L=hogehoge, O=hogehoge CN=hogehoge
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:cb:81:d2:78:d9:fc:1c:63:f4:b6:be:2c:4b:a5:
                    b4:54:4f:ca:e0:83:24:6c:16:dd:4c:61:b8:fd:3a:
(中略)

後は、CSRファイルを認証局に提出するだけです。

 

以上、「OpenSSLを利用したCSR情報の作成方法」という記事でした。