用openssl签发证书
2007-09-04 14:57
197 查看
用openssl签发证书
参考:http://www.imacat.idv.tw/tech/sslcerts.html.zh-cn配置环境
在/home目录下建立ssl目录:cd /home
mkdir ssl
cd ssl
建立几个要用到的目录:
mkdir private certs newscerts crl
其中private主要用来存放私钥的.
certs用于存入签出的书
将配置文件复制到当前目录
cp /usr/share/ssl/openssl.cnf /home/ssl/
设定环境变量
export OPENSSL_CONF="/home/ssl/openssl.cnf"
更改openssl.cnf中的配置:
dir = /home/ssl
产生一个随机数文件:
openssl rand -out /home/ssl/private/.rand
建立根证书:
1.制作私钥:openssl genrsa -des3 -out private/ca.key.pem 2048
这来细细讲一下这条命令:
openssl 指进入openssl环境,genrsa是openssl中的一个小应用程序,用来产生rsa私钥。-des3是指将产生的私钥用triple DES进行加密。这是个可选项,还有-des -idea都是对称加密算法,随你自己选择. -out就是指定输出了,如果不加这个选项的话,就会将输出发到标准输出中.2048指私钥的长度,单们是bit,默认是512
输入这条命令后,产生私钥,提示你设定密码.
2.填写证书申请表:
openssl req -new -key private/ca.key.pem -out ca.req.pem
提示你私钥的密码,一步一步输入就行了。
因为证书中要有公钥,和个人信息,所以我们指定私钥,程序推导出公钥,供申请表用。
3.自己签定根签书:
opessl x509 -req -days 1000 -shda1 -extensions v3_ca -signkey private/ca.key.pem -in ca.req.pem -out certs/ca.crt.pem
其中的days是指证书的有效天数,shda1是消息摘要函数算法,默入为md5,-signkey指定用于签证的私钥.
运行过程中,要输入私钥的密码和设定书密码。
这样,根证书就签好了。现在可以删除证书申请表:
rm -rf ra.req.cem
4.建立hash索引:
openssl x509 -hash -noout -in ca.crt.pem
这一步这也不知道是什么意思!
制做服务器端的用ca签名的证书:
1、产生一个rsa私钥,在此,我们不用密码保护。openssl genrsa -out private/serverkey.pem 1024
2、填写证书申请表:
openssl req -new -key private/serverkey.pem -out server.req.pem
3、用先前产生的认证中心的私钥对申请表进行签名:
openssl x509 -req -days 100 -sha1 -extensions v3_req -CA certs/ca.crt.pem -CAkey private/ca.key.pem -CAserial ca.srl -CAcreateserial -in server.req.pem -out certs/server.crt.pem
基中的CA选项指定的是认证中心的证书,也就是上面我们自签名产生的证书,CAkey就是认证中心的私钥,CAserial也许是指签发产生的序列号吧!!
好了,这个证书就签好了。删掉申请表:
rm -rf server.req.pem
如果我们想将证书转成p12格式的:
openssl pkcs12 -export -clcerts -in certs/server.crt.pem -inkey private/serverkey.pem -out certs/server.p12
Tags:
linuxopenssl
x509
相关文章推荐
- 用Keytool和OpenSSL生成和签发数字证书
- Linux用Openssl为Apache签发证书
- openssl 自建CA,并签发证书
- 使用Openssl生成CA及签发证书方法
- OpenSSL 自建CA及签发证书
- 用Keytool和OpenSSL生成和签发数字证书
- 使用OpenSSL自签发服务器https证书
- 使用Openssl生成CA及签发证书方法
- 汇总多个帖子,RH上用OpenSSL签发证书
- OpenSSL 给自己颁发根证书,由根证书签发下级证书的步骤。
- ssl实验所需的证书签发过程(openssl)
- LINUX-OPENSSL证书签发
- 用Keytool和OpenSSL生成和签发数字证书
- 基于 OpenSSL 的 CA 建立及证书签发
- openssl 验证证书是否是某个CA证书签发
- Linxu环境下如何使用Openssl搭建CA中心签发证书
- openssl ca签发证书
- CentOS6.5环境下OpenSSL实战:自己搭建CA中心,申请,签发,吊销,导入证书,SSL 握手详解
- 使用openssl签发证书
- 用OpenSSL创建CA和签发证书,转换成java可以加载的jks