2005-02-10

λ Thawte SSL123

2年間で$259の証明書。Thawteの Root CAはPCであれば通常組み込まれていて警告が出なくなる。 mimori.org用にも発行して組み込んだ。 作業開始から発行完了まで30分ぐらいだった。なんかもうドメイン取得と同レベルだな。

どちらかというと主目的はメールサーバのSSLによるアクセスで。 自分だけじゃなくて10人程度で利用することになるので、これぐらいの値段なら許容の範囲内であろう。

携帯からもアクセスできるようにしようと思うと8万円/年コースだが、それはちょっと趣味の範囲内でない気がする。

SSL123 な証明書の中身

CSRを作る時は以下のパラメータで作った。

C=JP, ST=Tokyo, L=Bunkyo, O=mimori.org, OU=Administrators, CN=mimori.org, emailAddress=webmaster@mimori.org

出来た証明書の中の Subject はこうなってた。

O=mimori.org, OU=Domain Validated, OU=Go to https://www.thawte.com/repository/index.html, OU=Thawte SSL123 certificate, CN=mimori.org

証明書発行までで向こうが信用できそうな情報は、「クレジットカードの情報」と「ドメイン登録されたメールアドレスに確かに届いた」ぐらいなので、 納得できる展開。

次回覚えてたら O= の後ろはもう少し気の効いたフレーズにしよう。二年後だが。

CSRの作成について

FreeBSD上でのCSR作成には以下の Makefile を利用している。主なところはここ数年ほとんど変わっていない。

csr::
      echo "Making the request from ${HOST}.cnf"
      dd if=/dev/urandom of=/tmp/ssl.rand count=1
      openssl req -new -nodes -newkey rsa:1024 -sha1 -keyform PEM -config ${HOST}.cnf -keyout ${HOST}.key -outform PEM -out ${HOST}.csr
      chmod 600 ${HOST}.key
      openssl gendh -rand /tmp/ssl.rand 512 > ${HOST}.dh
      chmod 600 ${HOST}.dh
      rm -f /tmp/ssl.rand
      echo "Please put the signed certificate to ${HOST}.crt"
courier-imapd:
      # courier-imapd 用の証明書ファイルを作成する
      cat ${HOST}.key ${HOST}.crt ${HOST}.dh > ${HOST}.pem
      chmod 600 ${HOST}.pem
      sudo chown root ${HOST}.pem
      sudo chgrp wheel ${HOST}.pem
dertopem::
      # DERからPEM形式に変換
      openssl x509 -inform der -outform pem -in ${HOST}.crt -out ${HOST}.pem
hashlink::
      # CA証明書の magiclink を作る
      ln -s ${CAFILE} `openssl x509 -noout -hash -inform pem -in ${CAFILE}`.0
decryptkey::
      # 秘密鍵のパスワード解除
      openssl rsa -in ${HOST}.key.crypt -out ${HOST}.key
p12::
      # WindowsやMacでのインポート用にPKCS#12形式のファイルを作る
      openssl pkcs12 -export -in ${HOST}.crt -inkey ${HOST}.key -name ${HOST} -out ${HOST}.p12
      chmod 600 ${HOST}.p12

対話はしないので makeを実行する前に CSRを作るためのパラメータファイルを用意する。

mimori.org-2005.cnf

RANDFILE = /tmp/ssl.rand

[ req ]
default_bits = 1024
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type
prompt = no

[ req_dn ]
C=JP
ST=Tokyo
L=Bunkyo
O=mimori.org
OU=Administrators
CN=mimori.org
emailAddress=webmaster@mimori.org


[ cert_type ]
nsCertType = server
# nsCertType = client, email
# nsCertType = client, email, objsign
keyUsage = digitalSignature, keyEncipherment, dataEncipherment

ここまで準備したら make HOST=mimori.org-2005 csr を実行するとCSRが作成される。 CSRを証明機関に送りつけて、出来上がった証明書は mimori.org-2005.crt として保存して終了。

Thawteの場合、中間CA証明書もインストールしないといけないのでその作業もした。

中間CA証明書を apache2 の SSLCACertificatePath ディレクティブで指定したディレクトリに thawte-ssl123.crt として保存した後、 make CAFILE=thawte-ssl123.crt magiclink を実行してmagiclinkを作成する。 ちなみに中間じゃなく Root CA証明書も SSLCACertificatePath ディレクティブで指定したディレクトリに保存し、 magiclinkを作成してある状態だった。

.cnfファイルは、コピーするだけで使い回せるので、renew する際の手間のかけ方はまあまあ少ない方だと思う。

λ ASN.1 バイナリ変換規則

DER(Distinguished Encoding Rules) がどういうエンコード方式なのかを、初めて見た。

λ Ruby OpenSSLライブラリのマニュアル

すごい勢いで増えてる。素晴らしい。

OpenSSL::SSL::SSLSocket なんかかなりお役立ち。 最近はSSLのテストに openssl s_client コマンド使いまくりだったりしたのだが、 ソケット通信以外の情報の出力先を変えたいなーと思っていたところだ。

λ [Mac] Apple Mail の引用符編集

「前の行を継続する」という仕様は気にくわないのだが、SSL対応を考えるとおいそれと他のメーラーを使えない。

λ [Mac] Mac OS X Update 10.3.8

適用した。今のとこ問題はでてない。

本日のTrackBacks(全1件) []
λ PukiWiki/TrackBack 0.2:証明書発行要求の作成 (2005-10-16 17:40)

証明書発行要求(CSR)の作成 † 証明書発行要求(CSR)を作成する為のconfigファイル(imapd.cnf)を作成する。 configファイル(imapd.cnf)の内容 RANDFILE = /tmp/ssl.rand [ req ] default_bits = 1024 encrypt_key = yes distinguished_name = req_dn x509_exte...