CA和证书
来源:互联网 发布:网络信息工作领导小组 编辑:程序博客网 时间:2024/05/15 03:28
什么是CA和证书
CA是证书的签发机构,它是PKI的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。
证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。证书的格式和验证方法普遍遵循X.509 国际标准。
PKI: Public Key Infrastructure
签证机构:CA(Certificate Authority)
注册机构:RA
证书吊销列表:CRL
证书存取库:
X.509:定义了证书的结构以及认证协议标准,内容包括:
版本号、序列号、签名算法、颁发者、有效期限、主体名称、主体公钥、CRL分发点、扩展信息、发行者签名
证书类型:
证书授权机构的证书
服务器
用户证书
获取证书两种方法:
•使用证书授权机构
生成签名请求(csr)
将csr发送给CA
从CA处接收签名
•自签名的证书
自已签发自己的公钥
CA认证原理
为了确认公钥的安全性,需要可靠的第三方机构--CA(Certificate Authority)对公钥来源进行确认。下图是CA认证的主要过程。
CA 也拥有一个证书(内含公钥和私钥)。网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。
如果用户想得到一份属于自己的证书,他应先向 CA 提出申请。在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。
如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。证书实际是由证书签证机关(CA)签发的对用户的公钥的认证。
证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。目前,证书的格式和验证方法普遍遵循X.509 国际标准。
利用openssl搭建私有CA
证书申请及签署步骤:
1、生成申请请求
2、RA核验
3、CA签署
4、获取证书
创建私有CA:
openssl的配置文件:/etc/pki/tls/openssl.cnf
vim /etc/pki/tls/openssl.cnf
[ CA_default ]
dir = /etc/pki/CA # Where everything is kept
certs = $dir/certs # Where the issued certs are kept
crl_dir = $dir/crl # Where the issued crl are kept
database = $dir/index.txt # database index file. index.txt文件需要自己创建
#unique_subject = no # Set to 'no' to allow creation of
# several ctificates with same subject.
new_certs_dir = $dir/newcerts # default place for new certs.
certificate = $dir/cacert.pem # The CA certificate
serial = $dir/serial # 并不是当前的序列号,而是下一个证书的证书编号 16进制数
crlnumber = $dir/crlnumber # the current crl number 下一个被吊销的证书编号
# must be commented out to leave a V1 CRL
crl = $dir/crl.pem # The current CRL
private_key = $dir/private/cakey.pem# The private key
三种策略:匹配、支持和可选
匹配指要求申请填写的信息跟CA设置信息必须一致,支持指必须填写这项申请信息,可选指可有可无
1、创建所需要的文件
touch /etc/pki/CA/index.txt 生成证书索引数据库文件
echo 01 > /etc/pki/CA/serial 指定第一个颁发证书的序列号
2、CA自签证书
生成私钥
cd /etc/pki/CA/
(umask066; openssl genrsa-out /etc/pki/CA/private/cakey.pem2048)
生成自签名证书
opensslreq-new -x509 –key
/etc/pki/CA/private/cakey.pem-days 7300 -out /etc/pki/CA/cacert.pem
-new: 生成新证书签署请求
-x509: 专用于CA生成自签证书
-key: 生成请求时用到的私钥文件
-days n:证书的有效期限
-out /PATH/TO/SOMECERTFILE: 证书的保存路径
3、颁发证书
1)在需要使用证书的主机生成证书请求
给web服务器生成私钥
(umask066; openssl genrsa-out /etc/pki/tls/private/test.key 2048)
生成证书申请文件
opensslreq-new -key /etc/pki/tls/private/test.key -days 365 -out etc/pki/tls/test.csr
2) 将证书请求文件传输给CA
3) CA签署证书,并将证书颁发给请求者
opensslca -in /tmp/test.csr–out /etc/pki/CA/certs/test.crt -days 365
注意:默认国家,省,公司名称三项必须和CA一致
默认不允许一个申请签署两个证书,如果要改的话也可以,将下面文件的yes改成no
结果是这样,除了编号不同,其它相同
4)查看证书中的信息:
opensslx509 -in /PATH/FROM/CERT_FILE -noout -text|issuer|subject|serial|dates
opensslca -status SERIAL查看指定编号的证书状态
4、吊销证书
1)在客户端获取要吊销的证书的serial
openssl x509 -in /PATH/FROM/CERT_FILE-noout -serial -subject
2)在CA上,根据客户提交的serial与subject信息,对比检验是否与index.txt文件中的信息一致,吊销证书:
opensslca -revoke /etc/pki/CA/newcerts/SERIAL.pem
3) 指定第一个吊销证书的编号
注意:第一次更新证书吊销列表前,才需要执行
echo 01 > /etc/pki/CA/crlnumber
4)更新证书吊销列表
openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem
查看crl文件:
opensslcrl -in /etc/pki/CA/crl/crl.pem -noout -text
实验:创建CA、子CA、颁发证书
1、创建CA
touch /etc/pki/CA/index.txt
echo 00 > /etc/pki/CA/serial
(umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048 )
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3000
创建子CA
touch /etc/pki/CA/index.txt
echo 00 > /etc/pki/CA/serial
(umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048 )
openssl req -new -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/subca.csr -days 3000
scp subca.csr 上级CA
2 、client 申请证书
(umask 066;openssl genrsa -out /app/app.key 2048 )
openssl req -new -key /app/app.key -out /app/app.csr
scp CA
3、 颁发证书
openssl ca -in /etc/pki/CA/app.csr -out /etc/pki/CA/certs/app.crt -days 300
- 细说 CA 和证书
- 细说 CA 和证书
- CA和证书
- 搭建CA,二级CA,和签发证书
- 创建CA和申请证书
- 创建CA 和申请证书
- CA证书
- CA证书
- CA证书
- ca证书
- CA证书
- CA证书
- CA 证书
- 使用openssl自建ca和生成证书
- 实验:创建私有CA和证书颁发
- 创建私有CA和证书申请
- ROOT证书、CA证书和使用CA签发的X.509证书
- 自签名证书和私有CA签名的证书的区别 创建自签名证书 创建私有CA 证书类型 证书扩展名
- fstab文件详解
- Read Number in Chinese (25)
- linux下文件权限
- HDFS Ozone整体概述
- Linux不重启识别新添加的磁盘
- CA和证书
- CCF CSP 2015年03月第4题 网络延迟(求树的直径)
- 使用nmcli配置网络
- hibernate数据增删改查汇总
- 回形针填数
- 母函数讲解
- Android 8.0 行为变更-针对所有 API 级别的应用
- PDF转换图片,图片的切割,图片转换PDF以及PDF加水印等记录贴
- jquery和ajax的关系详细介绍