2007年03月25日

自前のSSL認証局を構築する

 MTA,httpdのSSL暗号化をしたくなったので自前のSSL認証局を構築してみることにしました。認証局の作成はスクリプトを用い、驚くほど簡単にできてしまいました。

 $ cp /usr/share/ssl/misc/CA /usr/share/ssl/
 $ /usr/local/ssl/CA -newca


 // /usr/share/ssl/misc内にある認証機関構築スクリプト"CA"を/usr/share/ssl内に移動させ、 -newcaオプションをつけて起動。
 ここからは対話形式で設定が行われていく。注意しておくのは一番最初に問われる上位CAの証明書のパス。当然これはないので"Enter"を押して新規作成を選択する。

 // これで/usr/share/ssl/demoCA内に認証機関の証明書及び秘密鍵が作成された。ファイルはそれぞれ
  cacert.pem 認証機関の証明書
  cakey.pem  認証機関の公開鍵


 これで認証局の構築は完了。続いてサーバー用の証明書を発行する。

 $ openssl genrsa -rand ~/.test -des3 -out /usr/share/ssl/serverkey.pem 1024

 //OpenSSLコマンドを用いてサーバー用鍵ファイルを作成する。
  -rand 鍵の生成に利用するファイルを指定する。
  -des3 暗号化のの方式を指定している。-ideaも有り。 
  -out 鍵ファイルの出力先の指定

 //これを実行すると、利用するときに必要になるパスフレーズの入力を求められる。これは各種サーバを起動するときに毎度入力を求められる不便なものなのでちょいとセキュリティは落ちるが、内容を暗号化したいだけなのでパスフレーズを解除する。

 $ openssl rsa -in /usr/share/ssl/serverkey.pem -out /usr/share/ssl/serverkey.pem

 //続いて認証機関への申請書を作成する。

 $ openssl req -new -days 365 -key /usr/share/ssl/serverkey.pem -out /usr/share/ssl/csr.pem
 
 //
 -days 有効期限の指定
 -key  サーバー用鍵ファイルの指定
 -out  出力先の指定

 //コマンドを実行すると認証局作成時と同じような対話形式による設定を行う。

 //できた申請書を自前で作った認証局で署名する。

 $ openssl ca -in /usr/share/ssl/csr.pem -keyfile /usr/share/ssl/demoCA/private/cakey.pem -cert /usr/share/ssl/demoCA/cacert.pem -out /usr/share/ssl/cert.pem

  -in 申請書ファイルの指定
  -keyfile 認証機関の鍵ファイルの指定
  -cert   認証機関の証明書の指定
  -out 出来たサーバー用証明書出力先の指定

 //コマンドを入力すると鍵の作成時に入力したパスフレーズが要求されるので入力。その後、2度、証明書発行に関する質問をされるが、yesと入力すれば良い。

 //これで/usr/share/ssl内に
  ・cert.pem サーバー用証明書
  ・serverkey.pem  サーバー用鍵ファイルが作成できた。

 これでSSLの証明書作成は完了。

 ■参考サイト
  ・Linux Square : 第12回 SSLによる安全なWebサイト作り
posted by ぴぺ at 09:44| Comment(0) | TrackBack(0) | UNIX系 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。