📄 s1-secureserver-generatingkey.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><HTML><HEAD><TITLE>生成钥匙</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+"><LINKREL="HOME"TITLE="Red Hat Linux 9"HREF="index.html"><LINKREL="UP"TITLE="Apache HTTP 安全服务器配置"HREF="ch-httpd-secure-server.html"><LINKREL="PREVIOUS"TITLE="证书类型"HREF="s1-secureserver-certs.html"><LINKREL="NEXT"TITLE="生成发送给 CA 的证书请求"HREF="s1-secureserver-generatingcsr.html"><LINKREL="STYLESHEET"TYPE="text/css"HREF="rhdocs-man.css"><METAHTTP-EQUIV="Content-Type"CONTENT="text/html; charset=gb2312"></HEAD><BODYCLASS="SECT1"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#0000FF"VLINK="#840084"ALINK="#0000FF"><DIVCLASS="NAVHEADER"><TABLESUMMARY="Header navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><THCOLSPAN="3"ALIGN="center">Red Hat Linux 9: Red Hat Linux 定制指南</TH></TR><TR><TDWIDTH="10%"ALIGN="left"VALIGN="bottom"><AHREF="s1-secureserver-certs.html"ACCESSKEY="P">后退</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom">20. Apache HTTP 安全服务器配置</TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="s1-secureserver-generatingcsr.html"ACCESSKEY="N">前进</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="SECT1"><H1CLASS="SECT1"><ANAME="S1-SECURESERVER-GENERATINGKEY"></A>20.6. 生成钥匙</H1><P> 你必须是根用户才能生成钥匙。 </P><P> 首先,<TTCLASS="COMMAND">cd</TT> 到 <TTCLASS="FILENAME">/etc/httpd/conf</TT> 目录中,使用下面的命令删除在安装中生成的假钥匙和证书: </P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">rm ssl.key/server.key</TT><TTCLASS="COMMAND">rm ssl.crt/server.crt</TT></PRE></TD></TR></TABLE><P> 其次,你需要生成你自己的随机钥匙。改换到 <TTCLASS="FILENAME">/usr/share/ssl/certs</TT> 目录中,键入以下命令: </P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">make genkey</TT></PRE></TD></TR></TABLE><P> 你的系统会显示和以下输出相似的消息: </P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMPUTEROUTPUT">umask 77 ; \/usr/bin/openssl genrsa -des3 1024 > /etc/httpd/conf/ssl.key/server.keyGenerating RSA private key, 1024 bit long modulus.......++++++................................................................++++++e is 65537 (0x10001)Enter PEM pass phrase:</TT></PRE></TD></TR></TABLE><P> 现在,你需要键入口令句。要获得最佳安全性,你的口令应至少包括八个字符,包括数字和标点,且不是词典中的现成词汇。另外请记住,你的口令是区分大小写的。 </P><DIVCLASS="NOTE"><P></P><TABLECLASS="NOTE"WIDTH="100%"BORDER="0"><TR><TDWIDTH="25"ALIGN="CENTER"VALIGN="TOP"><IMGSRC="./stylesheet-images/note.png"HSPACE="5"ALT="注记"></TD><THALIGN="LEFT"VALIGN="CENTER"><B>注记</B></TH></TR><TR><TD> </TD><TDALIGN="LEFT"VALIGN="TOP"><P> 你在每次启动安全服务器的时候都需要输入这个口令,因此请将它牢记在心。 </P></TD></TR></TABLE></DIV><P> 重新键入口令来校验它是否正确。一旦你正确地键入了,一个包括你的钥匙,叫做 <TTCLASS="FILENAME">>/etc/httpd/conf/ssl.key/server.key</TT> 的文件就会被创建。 </P><P> 注意,如果你不想在每次启动安全服务器的时候都输入口令,你将需要下面这两条命令,而不是 <TTCLASS="COMMAND">make genkey</TT> 来创建钥匙。 </P><P> 使用下面的命令来创建你的钥匙: </P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">/usr/bin/openssl genrsa 1024 > /etc/httpd/conf/ssl.key/server.key</TT></PRE></TD></TR></TABLE><P> 然后使用这条命令来确定钥匙的权限被正确设置: </P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">chmod go-rwx /etc/httpd/conf/ssl.key/server.key</TT></PRE></TD></TR></TABLE><P> 在你使用以上命令创建钥匙后,你将不需要使用口令句来启动安全服务器。 </P><DIVCLASS="CAUTION"><P></P><TABLECLASS="CAUTION"WIDTH="100%"BORDER="0"><TR><TDWIDTH="25"ALIGN="CENTER"VALIGN="TOP"><IMGSRC="./stylesheet-images/caution.png"HSPACE="5"ALT="小心"></TD><THALIGN="LEFT"VALIGN="CENTER"><B>小心</B></TH></TR><TR><TD> </TD><TDALIGN="LEFT"VALIGN="TOP"><P> 在你的安全服务器中禁用口令功能是一种安全风险。我们不提倡你禁用安全服务器的口令功能。 </P></TD></TR></TABLE></DIV><P> 不使用口令所造成的问题和主机的安全维护休戚相关。譬如,若有人危害了主机上的常规 UNIX 安全系统,他就可以获取你的密钥(<TTCLASS="FILENAME">server.key</TT> 文件的内容)。该钥匙可以用来提供似乎是来自你的安全服务器的网页。 </P><P> 如果 UNIX 安全系统在主机上被认真维护(及时安装操作系统的补丁和更新;不操作不必要的或冒险的服务等等),安全服务器的口令可能就不是很必要。然而,由于你的安全服务器应该没必要被频繁重新启动,输入口令所能带来的额外保险在多数情况下是值得一行的。 </P><P> <TTCLASS="FILENAME">server.key</TT> 文件应该被系统的根用户拥有,不应该被其它用户访问。给该文件备份,将备份副本存放在安全之处。你需要备份的原因是,如果你在使用钥匙创建了证书请求后丢失了 <TTCLASS="FILENAME">server.key</TT> 文件,你的证书就不会再生效,而 CA 对此也爱莫能助。你只能再申请(并购买)一份新证书。 </P><P> 如果你打算从 CA 处购买证书,请继续阅读<AHREF="s1-secureserver-generatingcsr.html">第 20.7 节</A>。如果你打算生成 自签的证书,请继续阅读<AHREF="s1-secureserver-selfsigned.html">第 20.8 节</A>。 </P></DIV><DIVCLASS="NAVFOOTER"><HRALIGN="LEFT"WIDTH="100%"><TABLESUMMARY="Footer navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top"><AHREF="s1-secureserver-certs.html"ACCESSKEY="P">后退</A></TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="index.html"ACCESSKEY="H">起点</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top"><AHREF="s1-secureserver-generatingcsr.html"ACCESSKEY="N">前进</A></TD></TR><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top">证书类型</TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="ch-httpd-secure-server.html"ACCESSKEY="U">上级</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top">生成发送给 CA 的证书请求</TD></TR></TABLE></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -