2019.03.14
暗号鍵作成に OpenSSLを利用します。
1 | yum -y install openssl |
公開鍵暗号方式として RSAを利用するので RSA方式の秘密鍵を作成します。
2048という数字は鍵の長さ。鍵の長さは2048ビット以上が推奨されているようです。
最低でも2048ビットを指定します。
1 | openssl genrsa 2024 > server.key |
このコマンドを実行する事で、server.keyという名前の秘密鍵ファイルが作成されました。
CSR(Certificate Signing Request)とは、SSL証明書を作成する元になる情報が記載されています。
認証局に電子署名してもらうよう要求します。
内容は、組織名やサーバのアドレスなどが記載されています。
1 | openssl req -new -key server.key > server.csr |
リターンを押すと、以下のように順番に内容を聞いてきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 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) [XX]:JP State or Province Name (full name) []:Aichi Locality Name (eg, city) [Default City]:Nagoya Organization Name (eg, company) [Default Company Ltd]:TransonicSoftwareInc. Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) []:trans-it.net Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:hogehoge ※パスワードです An optional company name []: |
※パスワードは任意の値に指定してください。
普通であれば上で作成した公開鍵 (server.csr) を 公的な機関に送付して
認証局の秘密鍵で署名してもらいます。
ここでは自分で署名することでサーバ証明書を作成します。
上で作成した自分の秘密鍵 (server.key) で署名します。
1 | openssl x509 -in server.csr -days 365000 -req -signkey server.key > server.crt |
実行すると以下のようなメッセージが表示されます。
1 2 3 | Signature ok subject=/C=JP/ST=Aichi/L=Nagoya/O=TransonicSoftwareInc./CN=trans-it.net Getting Private key |
これで、serever.crt ファイルが作成されました。
この時点で以下の3つのファイルが作成されているはずです。
・server.crt
・server.csr
・server.key