自己(オレオレ)証明書の作成

Linux

テストの際にSSLが必要な場合、わざわざお金を払って証明書を購入できることはあまりないはずです。
自分自身で証明書を発行することで、一時的(恒久的にも使えるけど・・・)に利用が可能なものを用意することが可能です。

 

まずは準備として、SSLが利用可能な環境かを確認します。
[shell]
openssl version
[/shell]

上記のコマンドを実行して、バージョンが確認できた場合にはインストールについては実施せずに進んでください。

 

インストール

まずはyumを利用して、さくっとインストールを行います。
[shell]
yum install openssl-devel
[/shell]

 

インストールが完了したら、先ほどのコマンドで確認してみましょう。
[shell]
openssl version
[/shell]

ここで、バージョンの確認が出来ない場合にはインストールに失敗していると思われますので、エラー内容を確認してみてください。

 

証明書作成

まずは、秘密鍵(server.key)を作成します。
途中でパスワードの入力を求められますので、適当なパスフレーズを入力してください。
[shell]
openssl genrsa -aes128 2048 > server.key
[/shell]

 

apacheなどのWebサーバの起動時に毎回パスワードを要求されるのが面倒なので、下記の設定を行います。
[shell]
openssl rsa -in server.key -out servernopass.key
[/shell]

 

秘密鍵が作成できたら、次に公開鍵(server.csr)を作成します。

[shell]
openssl req -new -key servernopass.key > server.csr
[/shell]

 

実行すると下記のような内容が出力されます。
ここでは、必要な内容のみを入力していきます。
パスワードについては先ほど秘密鍵を作成した際に利用した、パスフレーズを入力します。

[shell]
Enter pass phrase for server.key:
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) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
[/shell]

 

最後に証明書(server.crt)を作成します。
下記のコマンドでは、「-days」の引数として365としています。
これは、証明書を365日(1年)の有効期間で作成すると言う事になります。
[shell]
openssl x509 -in server.csr -days 365 -req -signkey servernopass.key > server.crt
[/shell]

 

上記のコマンドを実行後に、3つのファイルが作成されていることを確認してください。
これでオレオレ証明書の作成は完了となります!

コメント

タイトルとURLをコピーしました