LINUX-OPENSSL证书签发
2011-08-19 17:53
489 查看
======================
* OPENSSL
======================
1. 安装OPENSSL并确认openssl.cnf文件位置
2. 相关目录设定,用于存储证书, 临时性文件与私钥
3. SSL初始化配置,将默认配置文件转移到新的位置,进行修改,并导出OPENSSL所需环境变量
4. 生成随机数
5. 生成RSA,CA私钥,CA私钥用于提供签发CA根证书,CA根证书需要提供给他人下载,使其可以使用此证书对其它证书,如WEB证书进行认证
6. 填写CA证书申请文件(CSR)
之后会弹出一些信息,按照提示进行输入即可,完成后会生成一个证书请求文件,这一步骤就相当于你在专业认证机构网页上输入你的相关信息,然后服务器会提供你一个(CSR)文件,之后你可以使用该文件签发证书,该文件只是一个中间文件,包含了你生成证书的相关内容
7. 签发CA,由于是根证书,所以没有上级证书,自己给自己签发
解释
; 过期时间20年
; 配置文件/etc/ssl/openssl.conf
; 格式为v3_ca证书
; 签名密钥/etc/ssl/private/CA.key
; 证书申请文件/tmp/CA.rc
; CA证书/etc/ssl/certs/CA.crt
8. 签发WEB证书
; 签发WEB证书私钥
; 填写证书申请文件(CSR)
; 注意"COMMON NAME"为FQDN
; 附加挑战密码不要输入,否则每次启动服务器都要输入此密码
; 签发WEB证书
解释
; 动作: 请求证书,过期时间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服务器进行调测时可能会用到这些内容
; 计算文件SHA1散列,一般可以用来验证下载的文件是否是正确的文件
本文出自 “NOTHING IS SERIOUS!” 博客,请务必保留此出处http://cc2011.blog.51cto.com/1325301/643341
* OPENSSL
======================
1. 安装OPENSSL并确认openssl.cnf文件位置
$ yum install openssl $ rpm -qa | grep openssl $ rpm -ql openssl-*
2. 相关目录设定,用于存储证书, 临时性文件与私钥
$ mkdir /etc/ssl $ mkdir /etc/ssl/private $ chmod 700 /etc/ssl/private $ mkdir /etc/ssl/crl $ mkdir /etc/ssl/newcrt
3. SSL初始化配置,将默认配置文件转移到新的位置,进行修改,并导出OPENSSL所需环境变量
$ cp /usr/share/ssl/openssl.cnf /etc/ssl $ ln -s /etc/ssl/openssl.cnf /usr/share/ssl/openssl.cnf $ echo 'export OPENSSL_CONF="/etc/ssl/openssl.cnf"' >> ~/.bashrc $ vi /etc/ssl/openssl.cnf ; 修改"dir = /etc/ssl"
4. 生成随机数
$ openssl rand -out /etc/ssl/private/.rand 1024 $ chmod 700 /etc/ssl/private/.rand
5. 生成RSA,CA私钥,CA私钥用于提供签发CA根证书,CA根证书需要提供给他人下载,使其可以使用此证书对其它证书,如WEB证书进行认证
$ openssl genrsa -des3 -out /etc/ssl/private/CA.key 2048 $ chmod 700 /etc/ssl/private/CA.key 2048
6. 填写CA证书申请文件(CSR)
$ openssl req -new -key /etc/ssl/private/CA.key -out /tmp/CA.rc
之后会弹出一些信息,按照提示进行输入即可,完成后会生成一个证书请求文件,这一步骤就相当于你在专业认证机构网页上输入你的相关信息,然后服务器会提供你一个(CSR)文件,之后你可以使用该文件签发证书,该文件只是一个中间文件,包含了你生成证书的相关内容
7. 签发CA,由于是根证书,所以没有上级证书,自己给自己签发
$ openssl x509 \ -req -days 7310 \ -sha1 -extfile /etc/ssl/openssl.conf \ -extensions v3_ca \ -signkey /etc/ssl/private/CA.key \ -in /tmp/CA.rc \ -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证书私钥
$ openssl genrsa -out /etc/ssl/private/www.key 2048 $ chmod 700 /etc/ssl/private/www.key
; 填写证书申请文件(CSR)
; 注意"COMMON NAME"为FQDN
; 附加挑战密码不要输入,否则每次启动服务器都要输入此密码
$ openssl req \ -new -key /etc/ssl/private/www.key \ -out /tmp/www.rc
; 签发WEB证书
$ openssl x509 \ -req -days 3650 -sha1 \ -extfile /etc/ssl/openssl.cnf \ -extensions v3_req \ -CA /etc/ssl/certs/CA.crt \ -CAkey /etc/ssl/private/CA.key \ -CAserial /etc/ssl/ca.srl -CAcreateserial \ -in /tmp/www.rc \ -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服务器进行调测时可能会用到这些内容
$ openssl base64 < filename.bin > filename_base64.txt $ openssl base64 -d < filename_base64.txt > filename.bin $ echo -n "Hello" | openssl base64
; 计算文件SHA1散列,一般可以用来验证下载的文件是否是正确的文件
$ openssl sha1 filename.bin
声明: 该文是本人在参考了部分前辈文章后自行编写,如有雷同绝对巧合,另外,由于本人对证书了解的东西也不多,所以错误之错在所难免,如有高人路过请不吝指教(注:附件为本文内容,如有需要各位可以下载) |
相关文章推荐
- Linux用Openssl为Apache签发证书
- linux下运用Openssl签发证书详解。
- Linux下使用openssl生成证书
- Linux下Tomcat配置使用SSL双向认证(使用openssl生成证书)
- linux下生成openssl证书
- 谈谈加密、解密及常见算法,openssl加密及CA数字证书签署的过程(linux CA签发 vsftp)
- 使用openssl的CA签发证书,签名applet[换博客10年3月]
- 基于 OpenSSL 的 CA 建立及证书签发 【转】
- 基于openssl的ca建立及证书签发
- Linux下使用OpenSSL生成证书
- Openssl+Keytool自签发证书
- Linxu环境下如何使用Openssl搭建CA中心签发证书
- Linux下如何颁发证书:学习使用openssl搭建一个CA
- 用Keytool和OpenSSL生成和签发数字证书
- 用Keytool和OpenSSL生成和签发数字证书
- Linux下使用OpenSSL生成证书
- 基于Openssl的 CA建立 证书签发
- 利用openssl验证X509证书是否是某CA签发
- openssl 自签发证书及ssl 原理简介(一)
- 加密解密概述及openssl应用及其创建CA和签发证书的实现