你必须是根用户才能生成钥匙。
首先,cd 到 /etc/httpd/conf 目录中,使用下面的命令删除在安装中生成的假钥匙和证书:
rm ssl.key/server.key rm ssl.crt/server.crt |
其次,你需要生成你自己的随机钥匙。改换到 /usr/share/ssl/certs 目录中,键入以下命令:
make genkey |
你的系统会显示和以下输出相似的消息:
umask 77 ; \ /usr/bin/openssl genrsa -des3 1024 > /etc/httpd/conf/ssl.key/server.key Generating RSA private key, 1024 bit long modulus .......++++++ ................................................................++++++ e is 65537 (0x10001) Enter PEM pass phrase: |
现在,你需要键入口令句。要获得最佳安全性,你的口令应至少包括八个字符,包括数字和标点,且不是词典中的现成词汇。另外请记住,你的口令是区分大小写的。
注记 | |
---|---|
你在每次启动安全服务器的时候都需要输入这个口令,因此请将它牢记在心。 |
重新键入口令来校验它是否正确。一旦你正确地键入了,一个包括你的钥匙,叫做 >/etc/httpd/conf/ssl.key/server.key 的文件就会被创建。
注意,如果你不想在每次启动安全服务器的时候都输入口令,你将需要下面这两条命令,而不是 make genkey 来创建钥匙。
使用下面的命令来创建你的钥匙:
/usr/bin/openssl genrsa 1024 > /etc/httpd/conf/ssl.key/server.key |
然后使用这条命令来确定钥匙的权限被正确设置:
chmod go-rwx /etc/httpd/conf/ssl.key/server.key |
在你使用以上命令创建钥匙后,你将不需要使用口令句来启动安全服务器。
小心 | |
---|---|
在你的安全服务器中禁用口令功能是一种安全风险。我们不提倡你禁用安全服务器的口令功能。 |
不使用口令所造成的问题和主机的安全维护休戚相关。譬如,若有人危害了主机上的常规 UNIX 安全系统,他就可以获取你的密钥(server.key 文件的内容)。该钥匙可以用来提供似乎是来自你的安全服务器的网页。
如果 UNIX 安全系统在主机上被认真维护(及时安装操作系统的补丁和更新;不操作不必要的或冒险的服务等等),安全服务器的口令可能就不是很必要。然而,由于你的安全服务器应该没必要被频繁重新启动,输入口令所能带来的额外保险在多数情况下是值得一行的。
server.key 文件应该被系统的根用户拥有,不应该被其它用户访问。给该文件备份,将备份副本存放在安全之处。你需要备份的原因是,如果你在使用钥匙创建了证书请求后丢失了 server.key 文件,你的证书就不会再生效,而 CA 对此也爱莫能助。你只能再申请(并购买)一份新证书。