確認環境は、
コマンドをうったときのディレクトリに証明書が作成されるため、最初にディレクトリを作っておくといい。例えば、~/cert など。
/certを作成した場合、cdで~/certに移動後にコマンドを入力する。
CA環境を構築する。
/etc/pki/tls/misc/CA -newca
これでウィザードにしたがって入力していく。
前もって、/etc/pki/tls/openssl.cnfでの設定を変更しておくと、改行するだけでいいので入力が楽になる。
デフォルトで作成すると、/etc/pki/CAに作成される。
CAを変更したい場合は、このディレクトリごと削除すれば可能。
rm -rf /etc/pki/CA
あくまで簡易的な手順。詳細なリクエストファイルを作成したいときは個別に行わないといけない(別の手順として記載)。
/etc/pki/tls/misc/CA -newreq
手順2でのリクエストファイルから証明書を作成する。
/etc/pki/tls/misc/CA -sign
幾つか必要となるコマンドを別途記載した。
上記手順で作成される証明書はPEM形式でwindowsではインストール出来ないため、der形式に変換する必要がある。
openssl x509 -inform PEM -in newcert.pem -outform DER -out newcert.cer
また、CA証明書も同じ。CA証明書の格納場所も記載しておく。
outと指定された箇所に出力される。
openssl x509 -inform PEM -in /etc/pki/CA/cacert.pem -outform DER -out /etc/pki/CA/cacert.cer
すべてのファイルが入っているpfxを作成する。(これ自信ない)
openssl pkcs12 -export -in newcert.pem -inkey newkey.pem -certfile /etc/pki/CA/cacert.pem -out newkey.pfx
初期設定のままでは証明書内のサブジェクトの別名をつけることが不可能であるため、/etc/pki/tls/openssl.cnfの設定を変更する必要がある。
多分やり方は2つあるが、今回は、CAが署名する段階で付与する方法を記載。もう1つは、csrに記載する方法。一般的にはcsrに記載する方法だと思うが、仕事の都合上、簡単に出来る方を選んだ。
いくつか変更箇所があるので抜粋した。関係ないところも変更している可能性があるが、検証しながら行ったためそのまま記載。
簡易じゃないため、細かく設定を変更することが出来る。
/etc/pki/tls/openssl.cnf