今回はMacOSXで作成しました。さすがにブラウザを使うのでSSHで接続してまでLinuxを使わなくても良いかと思って…といっても前回証明書を作ったときと同じでLinuxでも全く同じように作成できるはずです。
ターミナルを利用して「~/keys」に作成します。
0.準備(フォルダ作成など)
$ cd ~
$ mkdir keys
$ cd keys
1.サーバーの秘密鍵を作成します
$ sudo openssl genrsa -out server.key 1024
Password:
Generating RSA private key, 1024 bit long modulus
..........................++++++
............................................++++++
e is 65537 (0x10001)
これで「server.key」という名前で秘密鍵が作成できました。鍵の長さは2048でもかまいません。
これはサーバー内で同一のものを利用できます。(FQDNの異なる接続。つまりwww.hogehoge.netとblog.hoeghoge.netやftp.hoge.com。)
2.証明書申請書(署名要求書)を作成します。これはFQDNごとに作成する必要があります。
つまりwww.hogehoge.netとftp.hoge.comの証明書がいる場合はそれぞれ別に作成する必要があるということです。
追記:Apache2の名前ベースのバーチャルホストではサイトごとに証明書を利用することはできないようです。一番最初に読まれた証明書が利用されるため違うサイトの証明書が利用され警告が出ます。
一番簡単な対処法はワイルドカードを使うことです。例えば「blog.hogehoge.net」と「www.hogehoge.net」を名前ベースで運用している場合Common Nameを「*.hogehoge.net」にするといういことです。この件についてはまた今度。
$ openssl req -new -key server.key -out server.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) [AU]:JP //日本ならHP
State or Province Name (full name) [Some-State]:Tokyo //都道府県
Locality Name (eg, city) []:Setagaya-ku //市区町村
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Private //団体名
Organizational Unit Name (eg, section) []:Private //部署(wwwやftpなどにしてもいいかも)
Common Name (eg, YOUR name) []:www.hogehoge.net //FQDN(つまりアドレスすべて)
Email Address []:admin@hogehoge.net //CAcertに登録あるいは追加し認証したメールアドレス
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []://空
An optional company name []://空
これで「server.csr」という名前で証明書申請書(署名要求書)が作成できました。
FQDNが複数ある場合はこの手順で必要な数だけ違うファイル名で作成しておきます。
もちろん秘密鍵をわけてもかまいません。
では次回は実際にCAcertに署名してもらい証明書を手に入れます。











最近のコメント