快速业务通道

LINUX-OPENSSL证书签发

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-28

======================
* OPENSSL
======================
1. 安装OPENSSL并确认openssl.cnf文件位置

  1. $ yum install openssl
  2. $ rpm -qa | grep openssl
  3. $ rpm -ql openssl-*

2. 相关目录设定,用于存储证书, 临时性文件与私钥

  1. $ mkdir /etc/ssl
  2. $ mkdir /etc/ssl/private
  3. $ chmod 700 /etc/ssl/private
  4. $ mkdir /etc/ssl/crl
  5. $ mkdir /etc/ssl/newcrt

3. SSL初始化配置,将默认配置文件转移到新的位置,进行修改,并导出OPENSSL所需环境变量

  1. $ cp /usr/share/ssl/openssl.cnf /etc/ssl
  2. $ ln -s /etc/ssl/openssl.cnf /usr/share/ssl/openssl.cnf
  3. $ echo ''export OPENSSL_CONF="/etc/ssl/openssl.cnf"'' >> ~/.bashrc
  4. $ vi /etc/ssl/openssl.cnf
    ; 修改"dir = /etc/ssl"

4. 生成随机数

  1. $ openssl rand -out /etc/ssl/private/.rand 1024
  2. $ chmod 700 /etc/ssl/private/.rand

5. 生成RSA,CA私钥,CA私钥用于提供签发CA根证书,CA根证书需要提供给他人下载,使其可以使用此证书对其它证书,如WEB证书进行认证

  1. $ openssl genrsa -des3 -out /etc/ssl/private/CA.key 2048
  2. $ chmod 700 /etc/ssl/private/CA.key 2048

6. 填写CA证书申请文件(CSR)

  1. $ openssl req -new -key /etc/ssl/private/CA.key -out /tmp/CA.rc

之后会弹出一些信息,按照提示进行输入即可,完成后会生成一个证书请求文件,这一步骤就相当于你在专业认证机构网页上输入你的相关信息,然后服务器会提供你一个(CSR)文件,之后你可以使用该文件签发证书,该文件只是一个中间文件,包含了你生成证书的相关内容

7. 签发CA,是根证书,没有上级证书,自己给自己签发

  1. $ openssl x509 \
  2. -req -days 7310 \
  3. -sha1 -extfile /etc/ssl/openssl.conf \
  4. -extensions v3_ca \
  5. -signkey /etc/ssl/private/CA.key \
  6. -in /tmp/CA.rc \
  7. -out /etc/ssl/certs/CA.crt

解释

; 过期时间20年
; 配置文件/etc/ssl/openssl.conf
; 格式为v3_ca证书
; 签名密钥/etc/ssl/private/CA.key
; 证书申请文件/tmp/CA.rc
; CA证书/etc/ssl/certs/CA.crt

8. 签发WEB证书
; 签发WEB证书私钥

  1. $ openssl genrsa -out /etc/ssl/private/www.key 2048
  2. $ chmod 700 /etc/ssl/private/www.key

; 填写证书申请文件(CSR)
; 注意"COMMON NAME"为FQDN
; 附加挑战密码不要输入,否则每次启动服务器都要输入此密码

  1. $ openssl req \
  2. -new -key /etc/ssl/private/www.key \
  3. -out /tmp/www.rc

; 签发WEB证书

  1. $ openssl x509 \
  2. -req -days 3650 -sha1 \
  3. -extfile /etc/ssl/openssl.cnf \
  4. -extensions v3_req \
  5. -CA /etc/ssl/certs/CA.crt \
  6. -CAkey /etc/ssl/private/CA.key \
  7. -CAserial /etc/ssl/ca.srl -CAcreateserial \
  8. -in /tmp/www.rc \
  9. -out /etc/ssl/certs/www.crt

解释

; 动作: 请求证书,过期时间10年,摘要算法为SHA1
; 配置文件/etc/ssl/openssl.cnf
; 使用CA根证书/etc/ssl/certs/CA.crt进行签名
; CA私钥文件为: CA.key
; 创建并使用CA序列号文件ca.srl
; 证书请求文件为www.rc证书输出为www.crt

---------------
* 小技巧
---------------
; BASE-64编码文件以及还原被BASE64编码的文件,一般情况下,在对SMTP服务器进行调测时可能会用到这些内容

  1. $ openssl base64 < filename.bin > filename_base64.txt
  2. $ openssl base64 -d < filename_base64.txt > filename.bin
  3. $ echo -n "Hello" | openssl base64

; 计算文件SHA1散列,一般可以用来验证下载的文件是否是正确的文件

  1. $ openssl sha1 filename.bin
声明: 该文是本人在参考了部分前辈文章后自行编写,如有雷同绝对巧合,另外,本人对证书了解的东西也不多,错误之错在所难免,如有高人路过请不吝指教(注:附件为本文内容,如有需要各位可以下载)

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号