1.生成私钥文件:

  

openssl genrsa -des3 -out server.key 1024


   这种方式,会要求你Enter PEM pass,需要输入私钥加密密码,在apache中配置了SSL后启动443时,会要求输入这个密码的
  不过,你可以这样把密码给去掉
  

openssl rsa -in server.key -out my-server.key


   然后把2个key文件给mv一下

  或者,可以把上2个步骤合为一个:
  

openssl genrsa -out server.key 1024


   这样生成的私钥文件,是不包含密码的

2.生成CSR请求文件:
  

openssl req -new -key server.key -out server.csr


   根据提示填入DN信息,即可在该目录下产生server.csr (证书请求)和server.key
   •  Country Name:您所在国家的ISO标准代号,中国为CN
   •  State or Province Name:您单位所在地省/自治区/直辖市
  •  Locality Name:您单位所在地的市/县/区
  •  Organization Name:是您单位/机构/企业合法的名称
  •  Organizational Unit Name:部门名称
  •  Common Name:为证书的通用名,这里应是您主机的全称,例如:www.itrus.com.cn。这个名称必须与通过浏览器访 问您网站的URL完全相同。这一点十分重要,否则您的用户会发现您服务器证书的通用名与站点的名字不匹配,用户就会怀疑您的证书的真实性
  •  Email Address:地址是您单位的邮件地址
  •  "extra"attributes可以不必输入

3.把CSR文件提交到对应的根证书CA那里(如:verisign),请求证书CRT文件,保存为server.crt。

4.如果您申请的是全球服务器证书(如:verisign),需要安装中间级证书,以构成一个证书链,使浏览器信任您的证书。
  如果不是,则可以跳过这一步。

  对于verisign,在如下页面获得中间证书:
  http://www.verisign.com/support/verisign-intermediate-ca/secure-site-intermediate/index.html
   将中间级证书存成intermediate.crt。

5.配置Apache或nginx:
  Apache的配置:
  

vi extra/httpd-ssl.conf:


ServerName test.sohu.com:443

SSLCertificateFile "/usr/local/apache2/conf/server.crt"
SSLCertificateKeyFile "/usr/local/apache2/conf/server.key"
SSLCACertificateFile "/usr/local/apache2/conf/intermediate.crt"
....


   Nginx的配置:
  

server {
listen 443;
server_name test.sohu.com;

ssl on;
ssl_certificate server.crt;
ssl_certificate_key server.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
....
}



以上是新申请ssl证书的步骤
对于证书快过期了,更新证书的情况,只需要替换对应的server.crt文件即可