Windows10でOpenSSLを使う

らら
らら

はじめに

ローカルIPでオレオレ証明書を作る必要になったので調べたときの・・

メモです・・・

インストール

Windows用のOpenSSLはバイナリがないので下記からダウンロードしてきます。

インストラーに、デジタル署名がないので・・・ウィルスのような表示がでますが・・

https://slproweb.com/products/Win32OpenSSL.html

32ビットか64ビットかあなたのOSに合わせてダウンロードします。

OpenSSL

edgeからダウンロードすると。警告がでます。。ここをクリックします。

OpenSSL

メニューで保存が現れるので保存します。

OpenSSL

OpenSSL

ダウンロード後、実行するとさらに・・下記が聞かれます・・詳細情報を押して・・実行ができるので実行します。

OpenSSL

インストラーが起動したので。。accept選択してNext

OpenSSL

Next

OpenSSL

Next

OpenSSL

/binの方を選択します。

OpenSSL

installを選択

OpenSSL

最後、寄付とかでるので、全てのチェックを外してFinishボタンをクリックする。

OpenSSL

これでインストール完了です。

ローカルIPでオレオレ証明書をつくる・・

筆者は、下記を参考にさせていただきました・・

https://gist.github.com/ykst/2a666d3d41785f9a41d403889f45d82e

といっても上記はlinuxベースなので

とりえず・・windowsのバッチを作ります。。

下記の部分を、ファイルに保存します・・

IP192.168.1.2の部分はあなたのIPを登録して保存します。

ext.txtの中身


[SAN]
subjectAltName=@alt_names
basicConstraints=CA:FALSE
[alt_names]
DNS.1=localhost
IP.1=192.168.1.2
IP.2=127.0.0.1

ssl.batの中身

先頭行は、dosの時だけパスが追加されます。懐かしい・・・


set PATH=%PATH%;C:\Program Files\OpenSSL-Win64\bin
openssl genrsa -out localhost.key 2048 
openssl req -new -key localhost.key -out localhost.csr
openssl x509 -days 3650 -in localhost.csr -out oreore.crt -req -signkey localhost.key
openssl pkcs12 -export -inkey localhost.key -in oreore.crt -out oreore.p12
openssl pkcs12 -in oreore.p12 -out oreore.pem
openssl pkcs12 -in oreore.p12 -nodes -out oreore-ca.key -nocerts
openssl x509 -req -in localhost.csr -CA oreore.pem -CAkey oreore-ca.key -CAcreateserial -out oreore.crt -days 3650 -sha256 -extensions SAN -extfile ext.txt
openssl pkcs12 -export -inkey oreore-ca.key -in oreore.crt -out server.pfx

ssl.batを実行すると。。

筆者は、Cドライブのsslのフォルダーで作業しています。


C:\ssl>set PATH=************;C:\Program Files\OpenSSL-Win64\bin
C:\ssl>openssl genrsa -out localhost.key 2048
Generating RSA private key, 2048 bit long modulus (2 primes)
..........................................................................+++++
....+++++
e is 65537 (0x010001)
C:\ssl>openssl req -new -key localhost.key -out localhost.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]:JA
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 (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 []:*****
C:\ssl>openssl x509 -days 3650 -in localhost.csr -out oreore.crt -req -signkey localhost.key
Signature ok
subject=C = JA, ST = Some-State, O = Internet Widgits Pty Ltd
Getting Private key
C:\ssl>openssl pkcs12 -export -inkey localhost.key -in oreore.crt -out oreore.p12
Enter Export Password:
Verifying - Enter Export Password:
C:\ssl>openssl pkcs12 -in oreore.p12 -out oreore.pem
Enter Import Password:
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
C:\ssl>openssl pkcs12 -in oreore.p12 -nodes -out oreore-ca.key -nocerts
Enter Import Password:
C:\ssl>openssl x509 -req -in localhost.csr -CA oreore.pem -CAkey oreore-ca.key -CAcreateserial -out oreore.crt -days 3650 -sha256 -extensions SAN -extfile ext.txt
Signature ok
subject=C = JA, ST = Some-State, O = Internet Widgits Pty Ltd
Getting CA Private Key
C:\ssl>openssl pkcs12 -export -inkey oreore-ca.key -in oreore.crt -out server.pfx
Enter Export Password:
Verifying - Enter Export Password:

筆者は下記が欲しかったので‥

server.pfx

さいごに

webdav用でつくったんですが。。。[ネットワークの場所の追加]でエラーがあると繋がりませんでした。。

OpenSSL

Windows10でWebDavを接続してみる。
https://www.omakase.net/blog/2022/07/windows10webdav.html

関連記事