1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

win-acmeを使ってLet’s Encryptの無料SSL証明書発行

Last updated at Posted at 2023-11-03

はじめに

Let’s Encrypt無料のSSLサーバー証明書が取得できます。世の中進歩しました。ただし有効期間はそこまで長くなく、90日だそうです。それでも無料で取得できるメリットは大きいですね。証明書を取得するためのWindowsクライアントであるWIN-ACMEを使って証明書の取得方法を記録しておきます。自宅サーバーのOSはWindows10として説明しています。(2023年4月時点での内容です)

ドメインと自宅サーバーについて

まずはドメイン名を取得し、サーバーを用意する必要があります。ドメインは自宅サーバーであれば「No-IP」という無料で使えるDynamicDNSサービスがあります。ここでは、ドメインを取得している前提にて話を進めていきます。取得したドメインを「hoge.example.jp」と仮定しています。

サーバーは「XAMPP」を使ってみました。XAMPPはWebサーバー、そのたもろもろ必要な様々なサーバー、ソフトウェアがまとめて入っているオールインワンサーバーと思ってもらうとよいでしょう。ボタン一つでサーバーが起動しますが、初期状態でセキュリティがまあまあ、あれな状態なんで、設定に気を付ける必要があります。様々なサイトでXAMPPの設定はされていますので、ここでは割愛させてもらいます。

win-acmeで証明書の発行手順

次のサイトhttps://www.win-acme.com/の右上のDOWNLOADボタンよりダウンロードします。

image.png

ZIPファイルをダウンロードして、解凍します。ここでは、解凍したフォルダを「acme」として、C:ドライブ直下に移動させたとします。解凍フォルダにあるwasc.exeを管理者権限のコマンドプロンプトやPowerShellより起動します。Windowスタートボタンを右クリックして「ターミナル(管理者)」を選択して、「cd c:\acme」でフォルダ移動して

「./wacs.exe」

にて実行します。メニューを入力する形式で、証明書を発行します。

image.png
「M」または「m」を入力してフルオプションにて証明書を作成します。

image.png
「2」でマニュアル入力していきます。IISは使っていないので、サポートしてないとか言われますが、ほっておきます。IISとはMicrosoftが提供するWindowsのサーバーソフトです。Windows10などのOSの場合は接続制限があるので、Apache等のWebサーバーがいいかもしれません。

サーバーのホスト名を入力しています。「hoge.example.jp」はもちろん一例です。
image.png
「Enter」で次へすすめます。Frendly nameを入力するとのことですが、検索するとMicrosoft関連のサイトがヒットします。IIS関連の何かでしょうか。しらんけど。

image.png
4を選択します。ドメインやホストごとに証明書を分けたい場合は1,2のようです。やったことないけれど。

image.png
1を選択します。認証の方法を聞いています。wacsが認証のためのファイルを作り、それをLet’s Encryptが確認して認証います(たぶん)。他のやり方は、試したことありません。

image.png

Webサイトを公開しているフォルダのパスを指定します。XAMPPをインストールした場合、デフォルトで「C:\xampp\htdocs」となっています。DocumentRootと呼ばれるフォルダで、http.confファイルで設定できます。DocumentRootを変更している場合は、変更したフォルダへのパスを指定してください。ここで指定したフォルダに、先ほどの認証のためのファイルが一時的に作られて、Web経由でアクセスされ認証されるという仕組みです。
image.png
yキーで進めます。

image.png
2を選択します。RSAが一般的と思われます。

image.png
2を選択します。Apacheって書いてあるしね。

image.png
証明書を保存するパスを入力します。証明書は1つのファイルで構成されておらず、証明書と鍵のファイルと合わせて2つのファイル構成になっています。証明書は.pem、鍵は.keyの拡張子になります。XAMPPではデフォルトで証明書と鍵フォルダが分かれていますが、WACSでは1つのフォルダしか指定できないようです。ここでは、「c:\sslcert」と指定おきました。その中に、証明書ファイルと鍵ファイルが作成されます。ただし、フォルダが作成されていないと、おこられてしまうので、指定したフォルダを作成しておいてください。

image.png
1を選択しました。パスワードを付けるかと聞いてきます。

image.png
なんかい聞くねん!と思った方は正解です。他の方法での証明書はいるんか?と聞いているようです。いらないので5を選択しました。

image.png
3を選択して、インストールのステップへ進みました。

image.png
yを選択。利用規約(Terms of service)をデフォルトアプリで開くかどうか聞いてきます。yで利用規約のPDFファイルが表示されます。

image.png
yを選択。同意するかどうかですね。もちろん自分の意志で同意してください。

image.png
連絡先のメールアドレスを聞いています。入力して次へと進みます。

image.png
適当なドメインを入れたので失敗しています。成功すると

Do you want to specify the user the task will run as? (y/n*)

と聞いてきて、タスクとして実行するか聞いてきます。実行する場合はyを選択して、以下の問にWindowsのアカウントとパスワードを入力します。

Enter the user’s password:

Enter the username (Domain\username):

どうやらタスクで自動で実行してくれるようです。ありがたや。この後はQで終了できます。

「c:\sslcert」フォルダを見てください。hoge.example.jp-crt.pemが証明書、hoge.example.jp-key.pemが鍵ファイルになります。それらを活用すれば、暗号化ができます。

計4つのファイルが入っていますが、「chain」と文字が入っているファイルは間ファイルと呼ばれるもので、apache2.4以降は不要のようです。

あとは、Apacheのhttpd-ssl.confやhttpd.conf等を編集すれば、晴れてSSL証明書付きの自宅サーバーとなれるわけです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?