Windows10 Apacheにオレオレ証明書を適応してSSL通信を行う

Windows10 Apacheにオレオレ証明書を適応してSSL通信を行う

Windows10にインストールしたApacheにオレオレ証明書を適応してSSL通信を行うまでの手順を記述してます。

環境

  • OS windows10 pro 64bit
  • Apache 2.4.43

apacheインストール場所

以下の場所にインストールしてます。

C:\Apache24\

秘密鍵生成

生成する場所は、基本的にどこに生成してもいいですが設定ファイルに記述されているデフォルトに従って記述できるようにしてます。

// 移動
cd C:\Apache24\conf

コマンドプロンプトを管理者で立ち上げて、以下のコマンドで秘密鍵を生成します。

openssl genrsa -aes128 2048 > server.key

<出力結果>
Enter pass phrase:

公開鍵作成

以下のコマンドを実行して公開鍵を作成します。

openssl req -new -key server.key > server.csr

<出力結果>
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]:jp
State or Province Name (full name) [Some-State]:tokyo
Locality Name (eg, city) []:tokyo
Organization Name (eg, company) [Internet Widgits Pty Ltd]:mebee
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:

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

オレオレ証明書作成

以下のコマンドを実行して、オレオレ証明書を作成します。

openssl x509 -in server.csr -days 365000 -req -signkey server.key > server.crt

<出力結果>
Signature ok
subject=C = jp, ST = tokyo, L = tokyo, O = mebee
Getting Private key
Enter pass phrase for server.key:

エラーとなるので、秘密鍵のパスフレーズを解除しておきます。

openssl rsa -in server.key -out nopass.key

apache編集

C:\Apache24\confにある「httpd.conf」を以下の箇所のコメントアウトを外します。

LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf

次にC:\Apache24\conf\extraにある「httpd-ssl.conf」を編集します。

ServerName プライベートIP:443 ← プライベートIPにしてます

SSLCertificateFile "${SRVROOT}/conf/server.crt"
SSLCertificateKeyFile "${SRVROOT}/conf/nopass.key"

後はサービスから「Apache2.4」を再起動します。

オレオレ証明書なので、警告がでますがアクセスは可能となります。