SSL ���ݡ��ȤˤĤ���
(2000/11/07) ��������
okabek@guitar.ocn.ne.jp
(2001/12/27) ����ʸ��
ukai@debian.or.jp
�� OpenSSL �饤�֥����̤���, SSL �ݡ��Ȥ��Ƥ��ޤ�.
���餫���ᥤ�ȡ��뤷�Ƥ����Ƥ�������.
�� OpenSSL �饤�֥�꤬���ȡ��뤵��Ƥ���� configure ������ץȼ¹Ի��˼�
ưŪ�˸��Ф�������Ѳ�ǽ�Ȥʤ�ޤ�.
�⤷���ޤ�ư���ʤ��Ȥ���, config.h ������å����ƤߤƤ�������. SSL �����Ѥ�
�뤿��ˤ�, config.h ��, USE_SSL �ޥ������������Ƥ���ɬ�פ�����ޤ�.
�����, SSL ǧ�ڥ��ݡ��Ȥ����Ѥ������, USE_SSL_VERIFY �ޥ���������å���
�ƤߤƤ�������.
����ѥ���ǥ��顼���Ф����, ��ե饰�� `-lssl -lcrypto', ����ѥ���
�ե饰�� '-I(SSLeay/OpenSSL �Υإå�������ǥ��쥯�ȥ�)' �����뤫��ǧ���Ƥ�
������.
SSL ���ݡ��Ȥ�ͭ���ˤʤäƤ��뤫�ɤ�����, Option Setting Panel �ˡ�SSL����
��פ��ޤޤ�Ƥ��뤫�ɤ����dz�ǧ�Ǥ��ޤ�.
�� SSL �˴ؤ��ưʲ������꤬��ǽ�ˤʤäƤޤ�:
ssl_forbid_method
�Ȥ�ʤ�SSL��åɤΥꥹ��(2: SSLv2, 3: SSLv3, t: TLSv1.0,
5: TLSv1.1, 6: TLSv1.2, 7: TLSv1.3)
(�ǥե���Ȥ�2, 3).
ssl_verify_server ON/OFF
SSL�Υ�����ǧ�ڤ�Ԥ�(�ǥե���Ȥ�ON).
ssl_cert_file �ե�����̾
SSL�Υ��饤�������PEM����������ե�����(�ǥե���Ȥ�<NULL>).
ssl_key_file �ե�����̾
SSL�Υ��饤�������PEM������̩���ե�����(�ǥե���Ȥ�<NULL>).
ssl_ca_path �ǥ��쥯�ȥ�̾
SSL��ǧ�ڶɤ�PEM���������Τ���ǥ��쥯�ȥ�ؤΥѥ�
(�ǥե���Ȥ�<NULL>).
ssl_ca_file �ե�����̾
SSL��ǧ�ڶɤ�PEM���������Υե�����(�ǥե���Ȥ�<NULL>).
��������SSLEAY_VERSION_NUMBER >= 0x0800�פʴĶ��Ǥʤ���̵�̤ʥ����ɤ���
��������ʤΤ�, configure����disable���Ƥ������ۤ����褤�Ǥ��礦.
�ޤ��ºݤ�ǧ�ڤ�Ԥ����, ssl_ca_path�ޤ���ssl_ca_file��, �����Фθ���
��̾���Ƥ���ǧ�ڶɤξ������ (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 �饤�֥���, ������������뤿��˴��Ĥ�
�Υ����ɤ����ꤹ��ɬ�פ�����ޤ�.
�ǥե���ȤǤ� /dev/urandom ������Ф�������Ѥ��ޤ���, ̵����� w3m ����
���������ޤ�. �⤷, EGD (Entropy Gathering Daemon) �ޤ��� PRNGD (Pseudo
Random Number Generator Daemon) �����ѤǤ���Ķ��Ǥ����Ȥ���������,
USE_EGD �ޥ���������å����ƤߤƤ�������.
�� URL
OpenSSL - http://www.openssl.org/
PRNGD - http://www.aet.tu-cottbus.de/personen/jaenicke/postfix_tls/prngd.html
----------------------------------------------------------------
#!/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
if RUBY_VERSION>="1.9"
Encoding.default_external="UTF-8"
end
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", ".")