なんかてきとうに

わりと個人的な忘備録的ですよ。

お勉強

OpenSSLその4

req

リクエストの処理をする

  • -inform 入力ファイルフォーマットを指定 (PEM | DER)

  • -outform 出力ファイルフォーマットを指定 (PEM | DER)

  • -in 入力ファイルを指定

  • -out 出力ファイルを指定

  • -new 新規リクエストの作成

  • -text リクエストファイルをテキストで表示

  • -pubkey 公開鍵を出力

  • -verify reqが壊れてないかチェック

  • -key 秘密鍵を指定

  • -keyform 秘密鍵のフォーマット指定 (PEM | DER)

  • -newkey 新しい秘密鍵を作成しつつリクエストファイルを作成
    rsa:bits, dsa:file, ec:file, で作る鍵の形式を指定

  • -[digest] ハッシュを指定( md5, sha1, md2, mdc2, md4)

  • -nodes 作成する秘密鍵を暗号化しない

  • -config リクエスト作成時のテンプレートを読み込む Countryとかdomainとかそういうの

  • -x509 自己署名証明書を作成

  • -days 自己署名証明書作成するときの有効期限設定

  • -set_serial 自己署名証明書を作成するときのシリアル番号指定

使用例

  • openssl req -new -key rsa-key.pem -out rsa-csr.pem
    rsa-key.pem から リクエスト(rsa-csr.pem)を作成

  • openssl req -new -config /etc/openssl.conf -key rsa-key.pem -out rsa-csr.pem
    rsa-key.pem から /etc/openssl.conf をテンプレートにリクエスト(rsa-csr.pem)を作成

  • openssl req -new -x509 -key rsa-key.pem -out rsa-crt.pem
    rsa-key.pem から 自己署名証明書 rsa-crt.pem を作成

  • openssl req -verify -in rsa-csr.pem
    リクエストファイル(rsa-csr.pem)が壊れていないかチェック

  • openssl req -text -in rsa-csr.pem リクエストファイル(rsa-csr.pem)の内容を表示

  • openssl req -new -newkey rsa:2048 -keyout rsa-key.pem -out rsa-csr.pem rsa-key.pem という秘密鍵を作成しつつ、その鍵のリクエスト(rsa-csr.pem)を作成

ca

認証局としての操作を行う。

標準動作はリクエストファイルを読み込んで証明書を作成する。

  • -config 使用するopenssl.confを指定する。

  • -name 使用するCAを指定する。(openssl.conf内にあるCAの名称)

  • -gencrl CRL(失効リスト)を作成する。

  • -crldays 次のCRL作成が何日後かを示す。

  • -crlhours 次のCRL作成が何時間後かを示す。

  • -startdays YYMMDDHHMMSSZ 証明書が有効になる日時を指定する。

  • -enddays YYMMDDHHMMSSZ 証明書が無効になる日時を指定する。(-daysを上書き)

  • -days 証明書の有効日数を指定する。

  • -md md2,md5,sha,sha1の中から使用するものを指定する。

  • -policy 証明書を作成する際のポリシを指定する。 (openssl.conf内にあるpolicyの名称)

  • -create_serial 証明書発行の際、新規管理番号を設定する。(初めて証明書を作るときは必須)

  • -keyfile 秘密鍵を指定する。

  • -keyform 秘密鍵のフォーマットを指定する。(PEM | DER

  • -key 秘密鍵を指定する。(暗号化されていたら復号化する)

  • -cert 認証局の証明書を指定する。

  • -selfsign 自己署名を行う。

  • -outdir 出力先のディレクトリを指定する。

  • -infiles 入力ファイルを指定する。(複数指定できる。このオプションは一番最後に記載)

  • -revoke 認証を取り消す。(失効させる)

  • -extensions X509v3拡張フィールドの設定をする。(openssl.confの中のX509v3を設定しているセクション名称、標準値を上書き)

  • -extfile X509v3拡張フィールドの設定をする。(ファイルから)

使用例

  • openssl ca -name CA_default -in rsa-csr.pem -out rsa-crt.pem -create_serial
    CA_default というCAを利用して rsa-csr.pemリクエストファイルからrsa-crt.pem証明書を作成する。

  • openssl ca -extensions v3_ca -in rsa-csr.pem -out rsa-crt.pem -create_serial
    標準のCAを利用して rsa-csr.pemリクエストファイルから中間CAとして利用できるrsa-crt.pem証明書を作成する。