「オレオレサーバ証明書」と「オレオレ認証局」でSSL(2/3)
2023-10-14 記載
概要:Windows10+Apache環境にてlocalhostでSSL通信を行う設定方法
前後の記事:1/3, 3/3
Keyword : https, SSL, Apache, 証明書, openssl, オレオレ証明書, 自己証明書,
まず環境を書いておくと、Windows10 + Apache2.4 です。
方針として。
基本、管理者用DOS窓を使ってすすめていきます。
そして、オレオレが脆弱でも構わないから省けるものは省いて要所を押さることに重点。
まず名前決め。
オレオレ認証局:A-oreore-CA
オレオレサーバ:A-oreoreSVR
※好きにつけてOK。
“A-“は証明書マネージャ(certmgr.msc)で先頭近くに表示されて目立つ点が技アリ。
※ここでは”oreore“を固有名にします。
つまりこのテキストで”oreore“を”YourWORD“に一括置換して使えるように。
作業フォルダを以下とします。”c:\pgm\apache24″は私の場合。適宜書き換えを。
C:\pgm\apache24\conf\ssl_oreore
※好きな場所でOK。
★Step1
「ファイル名を指定して実行」から「コマンドプロンプト(管理者)」を開く
[Winkey+R] → “cmd”+[Ctrl+Shift+Enter]
★Step2
作業フォルダを作成してそこへ移動
mkdir c:\pgm\apache24\conf\ssl_oreore
cd c:\pgm\apache24\conf\ssl_oreore
★Step3
opensslをここへコピっときます。バージョンも確認。
copy c:\pgm\apache24\bin\openssl.exe
openssl version
c:\pgm\Apache24\conf\ssl_oreore>copy c:\pgm\apache24\bin\openssl.exe
1 個のファイルをコピーしました。
c:\pgm\Apache24\conf\ssl_oreore>openssl version
OpenSSL 1.1.1s 1 Nov 2022 (Library: OpenSSL 1.1.1n 15 Mar 2022)
★Step4
オレオレ認証局の鍵を作成します。
openssl genrsa -out A-oreore-CA.key -passout pass:oreore
A-oreore-CA.key というファイルが作業フォルダに作成されます。
c:\pgm\Apache24\conf\ssl_oreore>openssl genrsa -out A-oreore-CA.key -passout pass:oreore
Generating RSA private key, 2048 bit long modulus (2 primes)
.+++++
..........................................................+++++
e is 65537 (0x010001)
★Step5
作業フォルダ内に A-oreore-CA.cfg というテキストファイルを以下の内容で作成します。
[ ca ]
default_ca = CA_default
[ CA_default ]
dir = C:/pgm/apache24/conf/ssl_oreore
default_days = 3650
default_crl_days = 3650
policy = policy_match
[ policy_match ]
countryName = match
organizationName = supplied
commonName = supplied
[ req ]
distinguished_name = req_ca
x509_extensions = v3_ca
[ req_ca ]
countryName = JP
countryName_default = JP
countryName_min = 2
countryName_max = 2
organizationName = A-oreore-CA_ORG
organizationName_default = A-oreore-CA_ORG
commonName = A-oreore-CA
commonName_max = 64
commonName_default = A-oreore-CA
[ v3_ca ]
keyUsage = critical,cRLSign,keyCertSign
extendedKeyUsage = critical,timeStamping,serverAuth,clientAuth,codeSigning,codeSigning,emailProtection
nsCertType = sslCA,emailCA,objCA
nsComment = "A-oreore-CA"
basicConstraints = critical,CA:true
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer:always
※ dir = C:/pgm/apache24/conf/ssl_oreore は環境にあわせて書き換えてください。
★Step6
CA用の署名要求を作成します。
openssl req -config A-oreore-CA.cfg -new -key A-oreore-CA.key -out A-oreore-CA.csr -passin pass:oreore
—– のあと問うてくるので Enterを3回ほど叩きます。([ ]内のデフォルト値でokという意味)
A-oreore-CA.csr というファイルが作業フォルダに作成されます。
C:\pgm\Apache24\conf\ssl_oreore>openssl req -config A-oreore-CA.cfg -new -key A-oreore-CA.key -out A-oreore-CA.csr -passin pass:oreore
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.
-----
JP [JP]:
A-oreore-CA_ORG [A-oreore-CA_ORG]:
A-oreore-CA [A-oreore-CA]:
★Step7
CA用の署名要求に自己署名してCA証明書を作成します。
openssl x509 -req -in A-oreore-CA.csr -signkey A-oreore-CA.key -days 3650 -out A-oreore-CA.crt -passin pass:oreore
A-oreore-CA.crt というファイルが作業フォルダに作成されます。
c:\pgm\Apache24\conf\ssl_oreore>openssl x509 -req -in A-oreore-CA.csr -signkey A-oreore-CA.key -days 3650 -out A-oreore-CA.crt -passin pass:oreore
Signature ok
subject=C = JP, O = A-oreore-CA, CN = A-oreore-CA
Getting Private key
★Step8
A-oreore-CA.crt をダブルクリックすると「証明書」のダイアログが開きます。
タブ「証明のパス」を開くと
信頼されたルート証明機関のストアに存在しないため
この CA ルート証明書は信頼されていません。
とありますが。
◎タブ「全般」の「証明書のインストール」ボタンをクリック
◎「証明書のインポートウィザード」ダイアログが開きますので
◎保存場所ラジオボタンで「ローカルコンピューター」を選択して「次へ」ボタンをクリック
◎ラジオボタン「証明書をすべて次のストアに配置する」を選んで「参照…」ボタンをクリック
◎「証明書ストアの選択」ダイアログが開きますので
◎リストで「信頼されたルート証明機関」を選択して「OK」ボタンをクリック
◎ダイログが閉じて「次へ」ボタンをクリック
◎画面遷移して「完了」ボタンをクリック
◎で「正しくオンポートされました」というメッセージボックスが出て「OK」
「証明書」のダイアログを「OK」で閉じて、もう一度
A-oreore-CA.crt をダブルクリックして「証明書」のダイアログを開き
タブ「証明のパス」を開くと
この証明書は問題ありません。
となって❌バツ印も消えています。
★Step9
「コンピューター証明書の管理」という管理ツールがあり、こちらで最終確認しておきます。
「ファイル名を指定して実行」から「certmgr」を開く
[Winkey+R] → “certmgr.msc”

certmgr.msc
と1行だけ書いたテキストを”証明書マネージャ.bat”というファイル名で作業フォルダに作っておけば便利です。
以上で「オレオレ認証局」はひとまず完成。
次は「オレオレサーバ証明書」。
それは次回に。