CA的建立与证书的颁发
2011-02-19 23:11
369 查看
证书颁发的过程:
一、作为客户端,先生成公钥私钥对
二、结合公钥生成证书申请请求
三、将生成的请求发给CA
四、服务端,CA开始签署收到的请求,生成证书
五、客户端收到证书
第一种情况:在一台主机主,既当CA,又当证书申请者
生成密钥
# openssl genrsa 1024 > /root/httpd.key
注:1024为密钥长度,将密钥生成到/root/httpd.key
公钥是从私钥中提取出来的
生成公钥
# openssl rsa -in /root/httpd.key -pubout -out /root/httpd.pub
生成申请:
# openssl req -new -key /root/httpd.key -out /root/httpd.csr
开始输入申请信息
注:请求文件一般以.csr结尾
CA:
自签证书
# openssl req -new -key /root/httpd.key -out /root/httpd.crt -days 3655
注:发了一上使用期限为3655天的证书 /root/httpd.crt
发自签证书不需要请求
查看证书申请的内容:
# openssl -req -noout -in /root/httpd.csr -text
注:用其它方法查看,得到的是乱码
########################################################
第二种情况:CA与证书申请者分开
主机1(CA):192.168.0.1
主机2(证书申请者):192.168.0.2
把主机1做成CA
首先给自己发一个证,在/etc/pki/CA/private下
# cd /etc/pki/tls
# vim openssl.cnf
修改[ CA_default ]下的
dir = /etc/pki/CA
修改 [ req_distinguished_name ] 下的
countryName_default = CN
stateOrProvinceName_default = 所在省名Henan
locallityName_default = 所在城市名
其余的一些像组织名,邮箱地址的,如果想修改一下默认也可以,这样可以在生成证书时,直接敲回车按默认就行了
# cd /etc/pki/CA
生成私钥文件
# openssl genrsa 1024 > private/cakey.pem
# chmod 400 private/cakey.pem
基于此密钥给自己发一个证书
生成自签署证书不必要请求,可直接生成
# openssl req -new -x509 -key private/cakey.pem -out cacert.pme -days 3655
开始输入证书信息
注:证书只有放在/etc/pki/CA下才可以用
创建几个所需的目录
# mkdir certs newcerts crl
# touch index.txt serial
# echo 01 > serial
注:certs 存放证书的位置
crl 存放证书调销列表
index.txt 存放都发给谁证书了,发了第几个了
newcerts 存放生成的新证书
serial 内部管理序列号,默认从00或01开始
这此文件的名字可以自己取,但要与/etc/pki/tls/openssl.cnf中的配置保持一致
至此,CA便可以使用,一般只在企业内部使用,所以请求证书时填写的证书信息应与CA证书保持一致
在另一台客户端主机上,配有httpd服务或其它服务,需要申请证书
首先在服务配置文件所在目录下创建certs目录
# mkdir certs
生成私钥
# umask 077; openssl genrsa 1024 > httpd.key
注:umask 077 用于保证生成的私钥文件的权限为600,不允许其它用户读写
生成申请
# openssl req -new -key httpd.key -out httpd.csr
输入申请信息,需要与CA的证书信息保持一致
将请求httd.csr发给CA
这里可以用通过邮件或者U盘都可以,也可用scp
这里将请求发送至CA的/tmp目录中
# scp httpd.csr 192.168.0.1:/tmp
在CA上
# cd /tmp
开始签署请求
# openssl ca -in httpd.csr -out /etc/pki/CA/newcerts/httpd.crt
在接下来的询问中,同意请求即可
在客户端上
获取颁发的证书
# scp 192.168.0.1:/etc/pki/CA/newcerts/httpd.crt
完!
快速颁发证书的方法,用于测试
在CA上
# cd /etc/pki/tls/certs
# make httpd.pem
生成一个名为httpd.pem用于测试的证书
# make httpd.key
生成一个1024位的私钥
# make httpd.csr
生成一个请求
# make httpd.key
生成一个正二八经的证书
###如发现文中有错,请即时指正,不胜感激!
一、作为客户端,先生成公钥私钥对
二、结合公钥生成证书申请请求
三、将生成的请求发给CA
四、服务端,CA开始签署收到的请求,生成证书
五、客户端收到证书
第一种情况:在一台主机主,既当CA,又当证书申请者
生成密钥
# openssl genrsa 1024 > /root/httpd.key
注:1024为密钥长度,将密钥生成到/root/httpd.key
公钥是从私钥中提取出来的
生成公钥
# openssl rsa -in /root/httpd.key -pubout -out /root/httpd.pub
生成申请:
# openssl req -new -key /root/httpd.key -out /root/httpd.csr
开始输入申请信息
注:请求文件一般以.csr结尾
CA:
自签证书
# openssl req -new -key /root/httpd.key -out /root/httpd.crt -days 3655
注:发了一上使用期限为3655天的证书 /root/httpd.crt
发自签证书不需要请求
查看证书申请的内容:
# openssl -req -noout -in /root/httpd.csr -text
注:用其它方法查看,得到的是乱码
########################################################
第二种情况:CA与证书申请者分开
主机1(CA):192.168.0.1
主机2(证书申请者):192.168.0.2
把主机1做成CA
首先给自己发一个证,在/etc/pki/CA/private下
# cd /etc/pki/tls
# vim openssl.cnf
修改[ CA_default ]下的
dir = /etc/pki/CA
修改 [ req_distinguished_name ] 下的
countryName_default = CN
stateOrProvinceName_default = 所在省名Henan
locallityName_default = 所在城市名
其余的一些像组织名,邮箱地址的,如果想修改一下默认也可以,这样可以在生成证书时,直接敲回车按默认就行了
# cd /etc/pki/CA
生成私钥文件
# openssl genrsa 1024 > private/cakey.pem
# chmod 400 private/cakey.pem
基于此密钥给自己发一个证书
生成自签署证书不必要请求,可直接生成
# openssl req -new -x509 -key private/cakey.pem -out cacert.pme -days 3655
开始输入证书信息
注:证书只有放在/etc/pki/CA下才可以用
创建几个所需的目录
# mkdir certs newcerts crl
# touch index.txt serial
# echo 01 > serial
注:certs 存放证书的位置
crl 存放证书调销列表
index.txt 存放都发给谁证书了,发了第几个了
newcerts 存放生成的新证书
serial 内部管理序列号,默认从00或01开始
这此文件的名字可以自己取,但要与/etc/pki/tls/openssl.cnf中的配置保持一致
至此,CA便可以使用,一般只在企业内部使用,所以请求证书时填写的证书信息应与CA证书保持一致
在另一台客户端主机上,配有httpd服务或其它服务,需要申请证书
首先在服务配置文件所在目录下创建certs目录
# mkdir certs
生成私钥
# umask 077; openssl genrsa 1024 > httpd.key
注:umask 077 用于保证生成的私钥文件的权限为600,不允许其它用户读写
生成申请
# openssl req -new -key httpd.key -out httpd.csr
输入申请信息,需要与CA的证书信息保持一致
将请求httd.csr发给CA
这里可以用通过邮件或者U盘都可以,也可用scp
这里将请求发送至CA的/tmp目录中
# scp httpd.csr 192.168.0.1:/tmp
在CA上
# cd /tmp
开始签署请求
# openssl ca -in httpd.csr -out /etc/pki/CA/newcerts/httpd.crt
在接下来的询问中,同意请求即可
在客户端上
获取颁发的证书
# scp 192.168.0.1:/etc/pki/CA/newcerts/httpd.crt
完!
快速颁发证书的方法,用于测试
在CA上
# cd /etc/pki/tls/certs
# make httpd.pem
生成一个名为httpd.pem用于测试的证书
# make httpd.key
生成一个1024位的私钥
# make httpd.csr
生成一个请求
# make httpd.key
生成一个正二八经的证书
###如发现文中有错,请即时指正,不胜感激!
相关文章推荐
- Openssl建立根CA及证书的自签和颁发
- 在中小型公司建立企业根证书颁发机构 (CA)
- 用Openssl建立私有CA并颁发证书
- 在中小型公司建立企业根证书颁发机构 (CA)
- 用Openssl建立私有CA并颁发证书
- 在中小型公司建立企业根证书颁发机构 (CA)1
- 用Openssl建立私有CA并颁发证书
- 在中小型公司建立企业根证书颁发机构 (CA)2
- CA(证书颁发机构)配置概述
- Java实现自签名证书,CA颁发证书
- 制作CA以及证书的申请与颁发
- CA服务器开开发(一)---颁发证书,生成pfx证书安装文件
- 使用OpenSSL 自建CA 以及颁发证书
- CA(证书颁发机构)服务器配置图解过程(2)
- 建立自己的CA,签发证书
- 创建私有CA及颁发证书
- 总结之:CentOS6.5下openssl加密解密及CA自签颁发证书详解
- 什么是数字证书颁发机构(CA)
- linux下简单自建证书颁发机构-CA