がらくたネット


ApacheのSSL証明書

ApacheのSSL証明書

秘密鍵とCSRを一撃で作成、パスフレーズなし、2048ビット

openssl req -new -nodes -newkey rsa:2048 -keyout <秘密鍵ファイル名> -out <CSRファイル名>

1.秘密鍵の作成

openssl genrsa -rand [疑似乱数ファイル名] -des3 2048 > [秘密鍵ファイル名]
パスフレーズの入力
トリプルDESで鍵長2048bitを作成する

1.CSRの作成

コモンネーム
組織名
部門名
市区町村名
都道府県名
国別番号

使用可能な文字列

英数字 A~Z、a~z、0~9
記号 '(アポストロフィ) -(ハイフン) ,(カンマ) =(イコール) /(逆スラッシュ)
()(括弧) .(ピリオド) :(コロン) +(プラス) -(ハイフン) ?(クエスチョン) (スペース)

openssl req -new -key [秘密鍵ファイル名] -out [CSRファイル名]


Country Name (2 letter code) [GB] : JP ←文字国名(2文字のISO CODE)
State or Province Name (full name) [Bershire] : Tokyo←都道府県
Locality Name (eg, city) [Newbury] : Chiyoda-ku←市区町村
Organization Name (eg, company) [My Company Ltd] : J Cert, Inc.←組織名
Organizational Unit Name (eg, section) [ ] : System Administration←部署名
Common Name (eg, your name or your server's hostname) [ ] : sample.jcert.co.jp←サーバ名
Email Address[ ]: .←ピリオド

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password [ ]: .←ピリオド
An optional company name [ ]: .←ピリオド

秘密鍵とCSRの同時作成、パスフレーズなし
openssl req -new -nodes -keyout [秘密鍵ファイル名.key] -out [CSRファイル名.csr] -newkey rsa:2048

パスフレーズをつけるには
openssl rsa -des3 -in [秘密鍵ファイル名] -out [秘密鍵ファイル名(パスフレーズ付)]

Apacheへ設定
署名されたサーバ証明書をファイルとして保存する、apacheのconfの該当箇所を書き換える

署名されたサーバ証明書 server.pem SSLCertificateFile
秘密鍵ファイル server.key SSLCertificateKeyFile
中間証明書 inca.pem SSLCertificateChainFile

秘密鍵の作成
openssl genrsa -rand /var/log/maillog -out secure.key 2048

CSRの自動作成
openssl req -batch -new -key [秘密鍵ファイル名] -out [CSRファイル名] -subj "${CSR_SPEC}"

CSR_SPECは
/C=[国別コード]/ST=[都道府県名]/L=[市区町村名]/O=[組織名]/OU=[部署名]/CN=[コモンネーム]/

自己署名

openssl req -days 36500 -x509 -in CSRファイル名 -text -key 秘密鍵ファイル -out 証明書ファイル

SSL関連

SSL関連について記述

確認

秘密鍵の確認
# openssl rsa -text -noout -in 秘密鍵
 
CSRの確認
# openssl req -text -noout -in CSRファイル
 
証明書の確認
# openssl x509 -text -noout -in 証明書

サーバー秘密鍵のパスフレーズ解除

SSL証明書用の秘密鍵にはパスフレーズ(pass phrase)がついている場合がある

このままだとapache等の起動時にパスフレーズを求められる

解除方法

  1. 秘密鍵のバックアップ
    # cp server.key server.key.org
    # openssl rsa -in server.key -out server.key
    Enter pass phrase for server.key: ←パスフレーズを入力
    writing RSA key
  2. パスフレーズが解除されたことを確認
    # openssl rsa -in server.key

最後のコマンドでパスフレーズ入力なしで表示されればOK

ことば

SSL関連では色んな横文字が出てくる

  • SSL
    • Secure Socket Layer
  • PKI
    • Public Key Infrastructure 公開鍵暗号技術を利用するための公開鍵管理サーバーや認証局などの広範囲インフラの総称
  • EV SSL
    • Extended Validation SSL 企業/組織の実在性、事業活動内容・署名権限者などの確認を厳格化して発行されるSSL証明書
  • OV SSL
    • Organization Validation SSL 企業/組織の実在性確認をして発行されるSSL証明書。組織認証SSL
  • DV SSL
    • Domain Validation SSL ドメイン名の登録者のみを確認して発行されるSSL証明書。ドメイン認証SSL
  • CN
    • Common Name サーバー名
  • CSR
    • Certificate Signing Request SSLサーバー証明書の署名要求。CSRを作成して認証局に署名してもらったものがSSL証明書となる
  • Distinguished Name
    • CSR発行時に必要な識別名。Common Name(サーバー名)、Organization Name(組織名)、Organaization Unit Name(組織単位名、部署名)、Country Name(国名)、State or Province Name(都道府県名)、Locality Name(市区町村名)

SSL証明書機関

最近SSL証明書機関で悩んでいる

吸収合併などでよく分からん

日本ベリサインhttp://www.verisign.co.jp/ 超有名どころ 米ベリサインが親 2006/05 米ベリサインが米ジオトラストを買収 2007/07 日本ベリサインにて米ジオトラストのSSL販売 2008/02/14 株式会社ソートジャパンを日本ジオトラスト株式会社www.geotrust-japan.jpに社名変更 GeoTrust社の証明書を扱うものの、Webには問い合わせ窓口しか存在しない

グローバルサインhttp://jp.globalsign.com/ GMOグループ 中間証明書が必要 米ジオトラストの販売代理店を行っていた 2006/10 GlobalSign NV(ベルギー)を子会社化 2007/05 日本ジオトラスト株式会社からグローバルサイン株式会社に社名変更 これにより販売代理店から認証局を持つ販売店に変化する GeoTrust社の販売代理は継続される

コモドジャパンhttp://jp.comodo.com 2008/02/14 Comodoグループがプロックデザインシステム株式会社と株式会社コモドジャパンを合弁で設立

ESSENTIAL SSL15,000ドメイン認証による証明書
INSTANT SSL27,000企業認証による証明書、企業実在性認証
EV SSL75,000Extended Validation SSL
Wildcard SSL67,000ワイルドカードSSL

EV SSL ドメイン名所有権の確認 申請団体の実在性確認(法的実在性、事業活動実在性確認) 証明書承認者確認(人事・総務部門への電話での在籍、役職確認と意思確認) 証明書要求者確認(技術担当者への電話での確認とメールアドレス確認)