2008年8月22日

Creating secure web server on OSX



Creating secure web server on OSX

MacOSX 10.5.4 Leopard with MacPorts


原本參考 Using mod_ssl on MacOSX 來設 https server,用
 
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl genrsa -des3 -out ca.key 1024
openssl req -new -x509 -days 365 -key ca.key -out ca.crt


四個步驟,但不能用,會有下述的訊息
 
sec_error_bad_signature


所以,改用 Creating Secure Transactions on Mac OS X server Using SSL 這篇的方法,依序執行
 
/opt/local/etc/openssl/misc/CA.pl -newreq
/opt/local/etc/openssl/misc/CA.pl -newca
/opt/local/etc/openssl/misc/CA.pl -signreq


依序將下述的檔案拷貝到 /opt/local/apache2/conf
 
cp newkey.pem /opt/local/apache2/conf/server.key
cp newcert.pem /opt/local/apache2/conf/server.crt
cp demoCA/cacert.pem /opt/local/apache2/conf/ca.crt


設定 httpd.conf 將下面這行 comment 去掉
 
#Include conf/extra/httpd-ssl.conf


然後,修改 httpd-ssl.conf 要有包含下述三行:
 
SSLCertificateFile "/opt/local/apache2/conf/server.crt"
SSLCertificateFile "/opt/local/apache2/conf/server.crt"
SSLCertificateChainFile "/opt/local/apache2/conf/ca.crt"


但此時 apache 重開時,會問 server.key 的 passphrase,用下述方法避免再詢問
 
cd /opt/local/apache2/conf
cp server.key server.key.orignal
openssl rsa -in server.key.orignal -out server.key


這時,因為 ca self-signature 的問題,仍會出現錯誤碼: sec_error_unknown_issuer,但至少可以「新增例外網址」來使用。




Orignal From: Creating secure web server on OSX