add note about cert

This commit is contained in:
Fumitoshi UKAI
2001-12-27 18:30:02 +00:00
parent 44ca7f4423
commit 93022365c9

View File

@@ -2,6 +2,8 @@ SSL
(2000/11/07) 岡部克也 (2000/11/07) 岡部克也
okabek@guitar.ocn.ne.jp okabek@guitar.ocn.ne.jp
(2001/12/27) 鵜飼文敏
ukai@debian.or.jp
・ SSLeay/OpenSSL ライブラリを通じて, SSL をサポートしています. ・ SSLeay/OpenSSL ライブラリを通じて, SSL をサポートしています.
あらかじめインストールしておいてください. あらかじめインストールしておいてください.
@@ -37,10 +39,67 @@ SSL
また実際に認証を行う場合, ssl_ca_pathまたはssl_ca_fileで, サーバの鍵に また実際に認証を行う場合, ssl_ca_pathまたはssl_ca_fileで, サーバの鍵に
署名している認証局の証明書を (ssl_verify_serverのON/OFFに関係無く) 指定 署名している認証局の証明書を (ssl_verify_serverのON/OFFに関係無く) 指定
しないと認証成功しないようです. しないとサーバ認証成功しません。
通常使われている認証局の証明書は以下のところなどから入手できます。
* mozillaのソースに含まれている
mozilla/security/nss/lib/ckfw/builtins/certdata.txt
から添付の ruby script で *.pemファイルとしてとりだしたもの
% ruby certdata2pem.rb < certdata.txt
でカレントディレクトリに *.pemファイルをとりだし
opensslの c_rehash コマンドで hash symlink を作成します。
このディレクトリを ssl_ca_path に設定することができます。
もしくは、*.pem をまとめた一つのファイルを作成しておけば
それを ssl_ca_file に設定することができます。
* mod_sslのソースに含まれている pkg.sslcfg/ca-bundle.crt
これは PEMなので、このファイルのフルパス名を ssl_ca_file に
設定することができます。
・ バージョン 0.9.5 以降の OpenSSL ライブラリは, 乱数を初期化するために幾つか ・ バージョン 0.9.5 以降の OpenSSL ライブラリは, 乱数を初期化するために幾つか
のシードを設定する必要があります. のシードを設定する必要があります.
デフォルトでは /dev/urandom があればそれを利用しますが, 無ければ w3m 内部 デフォルトでは /dev/urandom があればそれを利用しますが, 無ければ w3m 内部
で生成します. もし, EGD (Entropy Gathering Daemon) が利用できる環境でこれ で生成します. もし, EGD (Entropy Gathering Daemon) が利用できる環境でこれ
を使いたい場合は, USE_EGD マクロをチェックしてみてください. を使いたい場合は, USE_EGD マクロをチェックしてみてください.
----------------------------------------------------------------
#!/usr/bin/ruby
# Copyright (c) 2001 Fumitoshi UKAI <ukai@debian.or.jp>
# All rights reserved.
# This is free software with ABSOLUTELY NO WARRANTY.
#
# You can redistribute it and/or modify it under the terms of
# the Ruby's licence.
#
# certdata2pem.rb
while line = $stdin.gets
next if line =~ /^#/
next if line =~ /^\s*$/
line.chomp!
if line =~ /CKA_LABEL/
label,type,val = line.split(' ',3)
val.sub!(/^"/, "")
val.sub!(/"$/, "")
fname = val.gsub(/\//,"_").gsub(/\s+/, "_").gsub(/[()]/, "=") + ".pem"
next
end
if line =~ /CKA_VALUE MULTILINE_OCTAL/
data=''
while line = $stdin.gets
break if /^END/
line.chomp!
line.gsub(/\\([0-3][0-7][0-7])/) { data += $1.oct.chr }
end
open(fname, "w") do |fp|
fp.puts "-----BEGIN CERTIFICATE-----"
fp.puts [data].pack("m*")
fp.puts "-----END CERTIFICATE-----"
end
puts "Created #{fname}"
end
end
system("c_rehash", ".")