[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[postfix-jp: 2111] Re: cannot get private key でTLSを使用できない
- Subject: [postfix-jp: 2111] Re: cannot get private key でTLSを使用できない
- From: "Kenji Abe" <kenji.ml@xxxxxxxxx>
- Date: Sat, 24 Jun 2006 21:48:11 +0900
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=qdYopRretwCx8Sg+lvonzqtS0kwJvb04ExeJEjxRUS270WoDogTOeaQN98mpOZpShkyuQNfk9FgnlG7X3+7SooUoUfRCNxviphWg8bdC3i8dAWvuo6KzUyebgjNs2Xhnch3Dd+SNarYKlt+8/A4Onhys2GbVViDPIVj4R6pjbY4=
安部です。
少し時間が経ってしまいましたが、PostfixでTLSを使用できなかった件を
やっと解決することができました。
原因は、証明書の形式やパーミッションではなく、Shared Object を
リンクする順番だったようです。
postfix の Makefile を作成する際のパラメータを変更することで、
TLSを使用できるようになりました。
変更前(NG):
make -f Makefile.init makefiles \
"CCARGS= \
-DHAS_MYSQL -I/usr/include/mysql \
-DHAS_PCRE -I/usr/include/pcre \
-DUSE_SASL_AUTH -I/usr/include/sasl \
-DUSE_TLS \
" "AUXLIBS= \
-L/usr/lib -L/usr/lib/mysql \
-lmysqlclient -lz -lm -lpcre -lsasl2 -lssl -lcrypto"
変更後(OK):
make -f Makefile.init makefiles \
"CCARGS= \
-DHAS_MYSQL -I/usr/include/mysql \
-DHAS_PCRE -I/usr/include/pcre \
-DUSE_SASL_AUTH -I/usr/include/sasl \
-DUSE_TLS \
" "AUXLIBS= \
-L/usr/lib -L/usr/lib/mysql \
-lz -lm -lpcre -lsasl2 -lssl -lcrypto -lmysqlclient"
要は、 -lmysqlclient を -lssl より後に書けばよかったようです。
なぜこれが原因だと判断したかは以下となります。
tls/tls_certkey.c の set_cert_stuff() 内で、
SSL_CTX_use_certificate_chain_file() や
SSL_CTX_use_PrivateKey_file() を呼び出しています。
main.cf で smtpd_tls_cert_file (証明書)に存在しないファイルを設定しても
SSL_CTX_use_certificate_chain_file() は成功していました。
(cannot get certificate from file がエラー出力されませんでした。)
gdb で smtpd をステップ実行してみたところ、上記関数内で
stepi を行うと、libssl.so.4 ではなく、なぜか libmysqlclient.so の
中に入っていたようでした。
libssl の関数は実行されていないようでした。
それで postfix のコンパイル時に -lssl と -lmysqlclient の順番を
変えてみたところ、問題なくTLSを使用できました。
桜根様、さとうふみやす様、皆様、ありがとうございました。
安部
_______________________________________________
Postfix-jp-list mailing list
Postfix-jp-list@xxxxxxxxxxxxxxxxxxxx
http://lists.sourceforge.jp/mailman/listinfo/postfix-jp-list
- References
-
- [postfix-jp: 2057] cannot get private key でTLSを使用できない, Kenji Abe
- [postfix-jp: 2060] Re: cannot get private key でTLSを使用できない, SATOH Fumiyasu
- [postfix-jp: 2061] Re: cannot get private key でTLSを使用できない, Kenji Abe
[検索ページ]
[Postfix-JP ML Home]