プライベート認証局(CA)と自宅サーバ用クライアント証明書の作成方法

イントラネットを構成する時のプライベート認証局(CA)とローカルを結ぶサーバー証明書の作成方法。現在自宅のMAIL及びFTPサーバは、この認証局発行のサーバー証明書で暗号化してる。

【認証局(CA)と証明書の作成準備】

準備1)
XamppのOpenSSL-Win32とPerlのシステム→環境変数の登録を削除、system32内のDLも削除する。
準備2)
最新のOpenSSL-Win64とActivePerl64をダウンロードしてXamppと別なディレクトリーにインストールする。その上でシステム→環境変数に登録する。 ➡ 例)C:\
準備3)
作業用のフォルダー「etc又はwork」を作りサブフォルダー「demoCA」も作る。
準備4)
OpenSSLのファイルopenssl.cfgとCA.plの二つをコピーして作業用フォルダーに入れる。

【認証局(CA)のためopenssl.cfgを修正】

[CA_defult]
# クライアント証明書発行時に履歴として発行証明書を残すため、コメントアウトを外し設定を変更する。
#unique_subject = no ➡ #外す、yes
# クライアント証明書失効処理時にエラーが出るため、コメントアウトを外しcrlnumberを作成しておく。
#crlnumber = $dir/crlnumber ➡ #外す
[usr_cert]
# 最初にサーバ証明書を作成するため、「nsCertType」を「server」とするため、コメントアウトを外して有効にする。
#This is OK for an SSL server.
#nsCertType = server ➡ #外す

[v3_ca]
# CA証明書作成時の証明書のタイプをSSL/E-mail用と指定するため、「nsCertType」を「sslCA, emailCA」とするため、コメントアウトを外して有効にする。
#Some might want this also
#nsCertType = sslCA, emailCA ➡ #外す
# ベーシック認証のデフオルトが1年なので3年に、CA.plの変更しても反映されないのでopenssl.cfgのdefault_daysを変更する。
defaul_days = 365 ➡ 1095(3年)

【プライベート認証局(CA)の作成】

cd c:\etc
C:\etc> CA.pl -newca

・PRM pass phrase  xxxxxxxxxxxxxxx ➡ フレーズ
・Organization: xxxxx ➡ 例)Private_CA、Root_CA
・UnitName: Admin ➡ 何々Dept又は「エンター」でも可
・Common Name; xxxxxCA ➡ RootCAとか PrivateCA
・Mail: xxxxx@xxxxx.xxx ➡ メールアドレス

◎サーバ用CA証明書のために作成
# サーバで使用するためには下記の操作でCA証明書(cacert.crt)だけを切り出しておく

C:\etc>openssl x509 -in ./demoCA/cacert.pem -out ./demoCA/cacert.cer

# CA証明書をブラウザにインポートするためのderファイルを作成

C:\etc>openssl x509 -inform pem -in ./demoCA/cacert.pem -outform der -out ./demoCA/ca.der

【各サーバ用証明書の作成】

注意事項:
1)認証局(CA)で作成したファイル移動しないで作業
2)CA証明書とサーバ証明書のON(Organization Name)は異なる名称
3)server.key は ここでいう newkey.pem のこと。即ち server.key = newkey.pem
4)ホスト名は、必ずhttps//…でアクセスするホスト名とすること

・PRM pass phrase: xxxxxxxxxxxxxxx ➡ CAと同じフレーズ
・Organization: xxxx_Network ➡ CAと異なる名称
・UnitName: Admin ➡ 何々Dept又は「エンター」でも可
・common Name: WWW用:xxxx.xxxxxx.xxx // Mail&FTP用: *.xxxxxx.xxx
・Mail: xxxx@xxxxxx.xxx ➡ メールアドレス

◎ 秘密鍵からパスフレーズを入れないよう、「-nodes」で作成

C:\etc>CA.pl -newreq-nodes

◎サーバ用証明書のサインと(server.crt)の作成

C:\etc>CA.pl -sign

◎サーバで使用するためには下記の操作でサーバ証明書(server.crt)だけを切り出しておく。

C:\etc>openssl x509 -in newcert.pem -out server.crt

◎バックアップ前の確認:
c:\etc>
・newkey.pem : 秘密鍵
openssl rsa -in newkey.pem -text
・newreq.pem : 証明書発行要求(CSR)
openssl req -in newreq.pem -textcacert.cercacert.cer
・newcert.pem : demoCAの秘密鍵で署名した証明書
openssl x509 -in newcert.pem -text

◎サーバ用証明書等のフォルダーを作ってバックアップ

c:\etc>md s01
c:\etc>move *.pem s01
(newcert.pem, newkey.pem, newreq.pem)

c:\etc>move *.crt s01
(server.crt)

◎作成終了後の各証明書の設定

・認証局(CA)のcacert.cerだけをクリックして信頼された証明機関へ登録する。
・サーバの証明書は目的のサーバへコピー、又は指定する。

◎新たにサーバー証明書を作成する時は、フォルダを作成(s02)して【サーバー証明書の作成】から開始する。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)