OpenSSLコマンド
なんとなーくわかってきたよーな
openssl genrsa -des3 -rand
randfile1:randfile2:randfile3 1024 >server.key
で、keyファイルをつくって
openssl req -new -key server.key -out server.csr -sha1
で、keyファイルを元にcsrを作成する。
その時にコモンネームやら何やらを間違えないように入力し、
そのcsrファイルを認証局に送る。
送るとcrtファイルとして返ってくるので、それを
keyファイルと合わせてApacheに読み込ませるとね。
・keyファイル… 秘密鍵
・csrファイル… なんだこれ、証明書の元?
・crtファイル… 認証局を通ってきた証明書?
ちなみにApacheに中間証明書をぶっこむのは、
ブラウザに証明書が入っていないと色々あれだからぶっこむ。の?
ベリサインさまより
Q:中間CA証明書はなぜ必要なのでしょうか
ベリサインのサーバIDは、3段階 または 4段階(EV SSL証明書)の階層で証明書を検証する仕組みになっています。■ 3階層のサーバID
ルート認証局 (ルート証明書)
┗中間CA局 (中間CA証明書)
┗サーバID (サーバ証明書)SSL接続の際、ブラウザは下層から順に証明書をたどり、
最上位のルート証明書までを確認してサーバIDを検証しています。
中間CA局の証明書がウェブサーバ側に設定されていないと正しい検証ができずに、
無効な証明書と認識されます。ブラウザが正しく証明書を検証できるように、
取得したサーバIDとあわせて中間層の証明書(中間CA証明書)も
ウェブサーバにインストールする必要があります。
ちょっとおっしゃってる意味がわかりかねます…
どんだけ曖昧やねんじぶ〜ん
SSLに価値を見出せない僕は、未だにあいまいなのであった。。。
形式
openssl x509 [-in filename] [-out filename]
[-inform DER|PEM|NET] [-outform DER|PEM|NET]
[-days n] [-text] [-noout]
機能
X.509証明書の署名要求(CSR)の作成
オプション
-in filename
入力する証明書のファイル名(filename)
デフォルトは、標準出力
-out filename
出力する証明書のファイル名(filename)
デフォルトは、標準出力
-inform DER|PEM|NET
入力ファイルの書式
-outform DER|PEM|NET
出力ファイルの書式
-days n
X.509形式の証明書の有効期限をn日とする
-text
テキスト形式で表示する
-noout
出力ファイルに出力しない
例
PEM形式の証明書をDER形式に変換する
openssl x509 -inform PEM -outform DER -in ca.crt -out ca.der
PEM形式の証明書の内容をテキストで表示する
openssl x509 -noout -text -in ca.crt
とのこと。
既存のCRTファイル(証明書)を確認する場合は
証明書の期限を確認
openssl x509 -dates -noout -in CRTモジュールの確認
openssl x509 -modulus -noout -in CRT証明書をテキスト形式で出力
openssl x509 -text -noout -in CRT
秘密鍵の確認
秘密鍵のモジュールの確認
openssl rsa -modulus -noout -in KEY
openssl s_client -connect 対象サーバ:443 -CAfile 中間証明書ファイル
上記コマンドを実行し
Verify return code: 0(ok)になれば問題なし
ちなみにOpensslのバージョン調べるには
# openssl version
で、イケる。