一旦你创建了钥匙,下一步就是生成证书请求,你需要把该请求发送给选中的 CA。请确定你位于 /usr/share/ssl/certs 目录,并键入下面的命令:
make certreq |
你的系统会显示下列输出,然后还会请你输入口令句 (除非你禁用了口令选项):
umask 77 ; \ /usr/bin/openssl req -new -key /etc/httpd/conf/ssl.key/server.key -out /etc/httpd/conf/ssl.csr/server.csr Using configuration from /usr/share/ssl/openssl.cnf Enter PEM pass phrase: |
键入你在生成钥匙时选择的口令。你的系统将会显示一些指示,然后向你询问一系列问题。你的输入会被包括在证书请求中。所显示的输出和示例回答,看起来和下面相似:
You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [GB]:US State or Province Name (full name) [Berkshire]:North Carolina Locality Name (eg, city) [Newbury]:Raleigh Organization Name (eg, company) [My Company Ltd]:Test Company Organizational Unit Name (eg, section) []:Testing Common Name (your name or server's hostname) []:test.example.com Email Address []:admin@example.com Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: |
默认回答紧随在每项要求后面的括号内 ([])。例如, 第一项要求的信息是证书要被用于的国家,如下所示:
Country Name (2 letter code) [GB]: |
默认的输入出现在括号内,是 GB。要接受默认值,只需按
你必须得键入剩下的值。这些输入都是不言而喻的,但是你需要遵从以下准则:
不要用地域或州省的缩写。用全称(如, St. Louis 应该被写成 Saint Louis)。
如果你要把该 CSR 寄发给 CA,请确保在所有的字段内都提供了正确的信息,特别是 Organization Name 和 Common Name 这两项。CA 检查 CSR 中提供的信息以判定你的机构是否对你所提供的 Common Name 负责。CA 将会拒绝包括他们认为无效的信息的 CSR。
对于 Common Name,请确定你键入了你的安全服务器的真实名称(有效的 DNS 名称),而不是服务器的别名。
Email Address 应该是网主或系统管理员的电子邮件地址。
请避免 @、#、&、! 之类的特殊字符。某些 CA 将会拒绝包含特殊字符的请求。因此,如果你的公司名称包含 &,把它拼写为“and”而不使用“&”。
不要使用这两项附加属性:A
challenge password 和 An
optional company name。要不输入这些字段而继续,只需按
信息输入完毕后,一个叫做 /etc/httpd/conf/ssl.csr/server.csr 的文件就会被创建。该文件是你的证书请求,可以随时寄发给你的 CA。
在你选定了CA 后,按照他们在网站提供的说明行事。这些说明会告诉你如何发送证书请求,你还需要哪些文档以及付款信息。
在你满足了 CA 的要求后,他们就会给你寄发证书(通常通过电子邮件)。将它们寄发的证书保存为(或剪贴为) /etc/httpd/conf/ssl.crt/server.crt。请确定给该文件保留一份备份。