在FreeBSD4.10上给apache2加上ssl

  1. 下载 openssl 编译安装

  2. 编辑时 ./configure --enable-ssl
  3. 先建立一个 CA 的证书,
    首先为 CA 创建一个 RSA 私用密钥,
    [S-1]
    openssl genrsa -des3 -out ca.key 1024
    系统提示输入 PEM pass phrase,也就是密码,输入后牢记它。
    生成 ca.key 文件,将文件属性改为400,并放在安全的地方。
    [S-2]
    chmod 400 ca.key
    你可以用下列命令查看它的内容,
    [S-3]
    openssl rsa -noout -text -in ca.key

    利用 CA 的 RSA 密钥创建一个自签署的 CA 证书(X.509结构)
    [S-4]
    openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
    然后需要输入下列信息:
    Country Name: cn 两个字母的国家代号
    State or Province Name: An Hui 省份名称
    Locality Name: Bengbu 城市名称
    Organization Name: Family Network 公司名称
    Organizational Unit Name: Home 部门名称
    Common Name: Chen Yang 你的姓名
    Email Address: sunstorm@263.net Email地址
    生成 ca.crt 文件,将文件属性改为400,并放在安全的地方。
    [S-5]
    chmod 400 ca.crt
    你可以用下列命令查看它的内容,
    [S-6]
    openssl x509 -noout -text -in ca.crt

    下面要创建服务器证书签署请求,
    首先为你的 Apache 创建一个 RSA 私用密钥:
    [S-7]
    openssl genrsa -des3 -out server.key 1024
    这里也要设定pass phrase。
    生成 server.key 文件,将文件属性改为400,并放在安全的地方。
    [S-8]
    chmod 400 server.key
    你可以用下列命令查看它的内容,
    [S-9]
    openssl rsa -noout -text -in server.key

    用 server.key 生成证书签署请求 CSR.
    [S-10]
    openssl req -new -key server.key -out server.csr
    这里也要输入一些信息,和[S-4]中的内容类似。
    至于 'extra' attributes 不用输入。

    你可以查看 CSR 的细节
    [S-11]
    openssl req -noout -text -in server.csr

    下面可以签署证书了,需要用到脚本 sign.sh
    [S-12]
    sign.sh server.csr
    就可以得到server.crt。
    将文件属性改为400,并放在安全的地方。
    [S-13]
    chmod 400 server.crt

    删除CSR
    [S-14]
    rm server.csr

    最后apache设置
    如果你的apache编译参数prefix为/usr/local/apache,
    那么拷贝server.crt 和 server.key 到 /usr/local/apache/conf
    修改httpd.conf
    将下面的参数改为:
    SSLCertificateFILE /usr/local/apache/conf/server.crt
    SSLCertificateKeyFile /usr/local/apache/conf/server.key

    可以 apachectl startssl 试一下了。

posted on 2005-01-10 09:30  Fred  阅读(253)  评论(0编辑  收藏  举报

导航