サーバ証明書作成編。
まず、サーバ用の秘密鍵を作成
openssl genrsa -camellia256 -out dwctsv01-key.pem 4096
このままだと、何かのサービスを立ち上げるたびにパスフレーズを要求されるため、
パスフレーズを解除する。当然セキュリティレベルは低下するので、利便性との
トレードオフ。
openssl rsa -in dwctsv01-key.pem -out dwctsv01-nopasskey.pem
それを利用して、CAに対しての署名要求書を作成する。
openssl req -new -days 3650 -key dwctsv01-key.pem -out dwctsv01-csr.pem -config openssl.cnf
CAとして、書名要求書に署名する。
openssl ca -in dwctsv01-csr.pem -keyfile private/ca_key.pem -cert RootCA_cert.pem -out dwctsv01-cert.pem -config openssl.cnf
あとは、サービスごとに必要な設定をする。
なお,サーバ証明書の場合には,例えば,openssl-server.cnfという名前で以下のファイルを作成する.
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
そしてCAの署名時に以下のコマンドを実行する。
openssl ca -in dwctsv01-csr.pem -keyfile private/ca_key.pem -cert RootCA_cert.pem -out dwctsv01-cert.pem -config openssl.cnf -extfile openssl-server.cnf
クライアント証明書の場合は,例えば,openssl-client.cnfという名前で以下のファイルを作成する.
basicConstraints = CA:FALSE
keyUsage = digitalSignature
extendedKeyUsage = clientAuth
openssl ca -in dwctsv01-csr.pem -keyfile private/ca_key.pem -cert RootCA_cert.pem -out dwctsv01-cert.pem -config openssl.cnf -extfile openssl-client.cnf
コメントする