さくらでSSL証明書を取得してサーバに組み込む

# さくらSSL 発行

[さくらインターネット SSL](http://ssl.sakura.ad.jp/)

さくらがSSL証明書始めた!! RapidSSLが 1500円/年と安い! 今なら新規1年無料(2015-09-30まで)。

## 申し込みの前に

さくらのサポートサイト情報を読んでおく

- [SSLを初めて設定する](https://help.sakura.ad.jp/app/answers/detail/a_id/2326)
- [ラピッドSSLを初めて設定する](https://help.sakura.ad.jp/app/answers/detail/a_id/2501)

## 導入環境

- さくらでSSLを取得してVPSに組み込んでSSLを実現する
- 署名ファイルは自分で作成する
- www.hogehoge.info でSSLを利用するという想定で進む

## 署名ファイル作成

Opensslが使えるサーバにて証明書署名ファイル作成

```
$ openssl genrsa -out www.hogehoge.info.key 2048
$ openssl req -new -sha256 -key www.hogehoge.info.key -out www.hogehoge.info.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 ←日本
State or Province Name (full name) [Some-State]:Iwate ←県
Locality Name (eg, city) []:Morioka-Shi ←市町村名
Organization Name (eg, company) [Internet Widgits Pty Ltd]:hoge co.Ltd ←会社名
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:www.hogehoge.info ←SSL化するFQDN
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
$ openssl req -in www.hogehoge.info.csr -text -noout
$ cat www.hogehoge.info.csr
```

www.hogehoge.info.csrのなかみが申し込みの時に必要になる。

## さくらSSL申し込み

### 申込URL

[https://secure.sakura.ad.jp/menu/](https://secure.sakura.ad.jp/menu/]

### 申込内容の入力

![ラピッドSSL提供開始記念キャンペーン！](https://qiita-image-store.s3.amazonaws.com/0/3524/386598fd-1e84-857f-4633-ef0e4bd93f7d.jpeg)
この画像ここから転載 [http://www.sakura.ad.jp/campaign/rapid_ssl/](http://www.sakura.ad.jp/campaign/rapid_ssl/)


SSL証明書を選ぶとCSRの入力、ここで先ほど作成したCSRファイルの中身を貼り付ける

![CSRの内容確認](https://qiita-image-store.s3.amazonaws.com/0/3524/8ed569ba-ac66-1936-e056-7126a56ff5cf.jpeg)



### 申込み後

「認証ファイルのアップロードについて」のメールが届くはずなので、
さくらの会員メニューから契約サービス一覧 に認証用の謎HTMLファイルをダウンロードし、
申し込んだドメインで動いているWebサーバのルートにアップする。

http://www.hogehoge.info/xxxxx.htm

しばらくほうっておくとサーバ証明書の発行された旨がさくらから届く

```
お申込みいただきましたSSLサーバ証明書の発行が完了いたしましたので、以下
の通りお知らせいたします。

  ================================================================
  《 SSLサーバ証明書の情報 》

     サーバ証明書種別：SSL ラピッドSSL（1年）
     サービスコード  ：xxxxxxxxxxxxx
     コモンネーム　　：www.hogehoeg.info
     証明書有効期限　：2016年XX月XX日
  ================================================================
```


### 契約情報からサーバ証明書をダウンロード

![契約サービス一覧-表示 2015-09-09 16-36-21.jpg](https://qiita-image-store.s3.amazonaws.com/0/3524/0106f5f6-d931-276a-3b01-86f817afc423.jpeg)




## 証明書をサーバへ設置

サーバ証明書ファイルをサーバにダウンロードしてくる

### nginxへ証明書組み込み

nginxで利用できるように証明書と署名ファイルをくっつけてファイルを移動

```
$ sudo sh -c "cat www.hogehoge.info.csr www.hogehoge.info.crt > www.hogehoge.info.pem"
$ sudo mkdir /etc/ssl/sakura/
$ sudo mv www.hogehoge.info.pem /etc/ssl/sakura
$ sudo mv www.hogehoge.info.key /etc/ssl/sakura
```

nginx設定ファイル編集

```
$ sudo vi /etc/nginx/sites-enabled/default

server {
        listen 443;
        server_name www.hogehoge.info;

        ssl on;
        ssl_certificate /etc/ssl/sakura/www.hogehoge.info.pem;
        ssl_certificate_key /etc/ssl/sakura/www.hogehoge.info.key;
}
```

### nginx再起動

```
$ sudo service nginx restart
```

## ブラウザから確認

- https://www.hogehoge.info/
- ブラウザからアクセスして証明書が有効になっていればインストール完了

![Monosnap 2015-09-09 17-10-36.jpg](https://qiita-image-store.s3.amazonaws.com/0/3524/0212c2cc-e217-e5eb-d506-f053d20effe9.jpeg)