私有CA和证书
证书类型
证书授权机构的证书
服务器
用户证书
获取证书两种方法
使用证书授权机构:
生成签名请求(csr )
将csr发送给CA
从CA处接收签名
自签名的证书:
自已签发自己的公钥
openSSL工具可以满足我们创建CA和证书
1)PKI: Public Key Infrastructure
签证机构:CA (Certificate Authority),真正的颁发证件机构,相当于公安局
注册机构:RA,相当于派出所
证书吊销列表:CRL,相当于证件丢失时挂失的内容
证书存取库:当别人请求认证是的资料库。
2)数字证书的格式(X.509) :定义了证书的结构以及认证协议标准
版本号
序列号:CA用于唯一标识的此证书
签名算法:
颁发者:CA自己的名称
有效期限
主体名称:证书拥有者自己的名字
主体公钥:证书拥有者自己的公钥
CRL 分发点
扩展信息
发行者签名:CA对此证书的数字签名
3)证书申请及签署步骤:
1 、生成申请请求
2 、RA 核验
3 、CA 签署
4 、获取证书
创建私有CA和颁发证书:
openssl 的配置文件:
/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.
#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 # The current serial number
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
系统会自动生成个index.txt.attr文件,用来决定是否使证书为唯一性,也就是是否可以重复申请证书
指定第一个颁发证书的序列号:
echo 01 > /etc/pki/CA/serial
2)CA自签证书
生成私钥:
cd /etc/pki/CA/
openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048
chmod 600 cakey.pem
生成自签名证书:
openssl req -new -x509 –key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem
3)颁发证书
1》在需要使用证书的主机生成证书请求
在请求者Kernal的web服务器生成私钥:
(umask 066; openssl genrsa -out /etc/pki/tls/private/test.key 2048)
在请求者Kernal上生成证书申请文件:
openssl req -new -key /etc/pki/tls/private/test.key -days 365 -out /etc/pki/tls/test.csr
2》将证书请求者Kernal的文件传输给CA
3》CA签署证书,并将证书颁发给请求者Kernal:
openssl ca -in /tmp/test.csr –out /etc/pki/CA/certs/test.crt -days 365
注意:
默认国家,省,公司名称三项必须和CA一致,但可以修改/etc/pki/tls/openssl.cnf
common name要使用此主机在通信真实使用的名字
4》查看证书中的信息:
openssl x509 -in /PATH/FROM/CERT_FILE -noout - text|issuer|subject|serial|dates
openssl ca -status SERIAL:查看指定编号的证书状态
4)吊销证书
1》在客户端获取要吊销的证书的serial(序列号)
openssl x509 -in /PATH/FROM/cert_FILE -noout -serial -subject
2》在CA 上,根据客户提交的serial 与subject信息,对比检验是否与index.txt 文件中的信息一致,吊销证书:
openssl ca -revoke /etc/pki/CA/newcerts/0SERIAL .pem
3》指定第一个吊销证书的编号
注意:第一次更新证书吊销列表前,才需要执行
echo 01 > /etc/pki/CA/crlnumber
4》更新证书吊销列表
openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem
查看crl 文件:
openssl crl -in /etc/pki/CA/crl/crl.pem -noout -text
5)请求者Kernal作为下级CA
1》Kernal生成自己的私钥:
openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048
chmod 600 cakey.pem
2》Kernal向根CA申请证书:
openssl req -new -key /etc/pki/CA/private/cakey.pem -out /etc/pki/tls/testsubca.csr
将亲求文件发给根CA
3》根CA颁发子CA证书给请求者Kernal,并发给Kernal:
openssl ca -in testsubca.csr -out /etc/pki/CA/certs/testsubca.crt
将testsubca.crt发送给Kernal
在kernal上讲testsubca.crt 改名为cacert.pem并放置在 /etc/pki/CA
4》Kernal给请求者Berl颁发证书
在请求者Berl的web服务器生成私钥
在请求者Berl上生成证书申请文件
将证书请求者Kernal的文件传输给Kernal(CA)
Kernal(CA)签署证书,并将证书颁发给请求者Berl
私有CA和证书的更多相关文章
- Windows2008下RDP采用私有CA服务器证书搭建文档
在中小型公司建立企业根证书颁发机构 (CA) http://www.microsoft.com/china/smb/issues/sgc/articles/build_ent_root_ca.mspx ...
- Linux-centos8实现私有CA和证书申请
创建CA相关目录,centos8不存在这些目录,需手动建立 [root@centos8-liyj ~]#mkdir -pv /etc/pki/CA/{certs,cr1,newcerts,privat ...
- Openssl与私有CA搭建
转自:http://www.tuicool.com/articles/aURnim 随着网络技术的发展.internet的全球化,信息共享程度被进一步提高,各种基于互联网的应用如电子政务.电子商务日益 ...
- 搭建私有CA
一.实验目的 搭建私有CA并使其可以实现公司内部的的签名服务. 二.实验环境: 系统架构:Centos7(服务器).Centos6(需要申请证书的服务器)需要的软件包:openssl.openssl- ...
- Linux 加密安全和私有CA的搭建方法
常用安全技术 3A: 认证:身份确认 授权:权限分配 审计:监控做了什么 安全通信 加密算法和协议 对称加密: 非对称加密 单向加密:哈希(hash)加密 认证协议 对称加密: 加密和解密使用的是同一 ...
- 自签名证书和私有CA签名的证书的区别 创建自签名证书 创建私有CA 证书类型 证书扩展名【转】
自签名的证书无法被吊销,CA签名的证书可以被吊销 能不能吊销证书的区别在于,如果你的私钥被黑客获取,如果证书不能被吊销,则黑客可以伪装成你与用户进行通信 如果你的规划需要创建多个证书,那么使用私有 ...
- 基于开源CA系统ejbca community 6.3.1.1构建私有CA管理数字证书
最后更新于2017年01月24日 一.为什么 为什么写这篇文章?ca是什么?数字证书是什么?ejbca又是什么? 让我们从http与https说起.http是超文本传输协议(HyperText Tra ...
- 使用 OpenSSL 创建私有 CA:3 用户证书
OpenSSL 创建私有 CA 三部曲:使用 OpenSSL 创建私有 CA:1 根证书使用 OpenSSL 创建私有 CA:2 中间证书使用 OpenSSL 创建私有 CA:3 用户证书 在前文&l ...
- 使用 OpenSSL 创建私有 CA:2 中间证书
OpenSSL 创建私有 CA 三部曲:使用 OpenSSL 创建私有 CA:1 根证书使用 OpenSSL 创建私有 CA:2 中间证书使用 OpenSSL 创建私有 CA:3 用户证书 本文将在前 ...
随机推荐
- python——进制间的转换
int(string_num, n) string_num表示某种进制的字符串,n表示string_num是什么进制数 2.8.16 进制转为10进制:使用int()或者eval() 10 进制转为 ...
- Python之条件 循环和其他语句 2014-4-6
#条件 循环和其他语句 23:30pm-1:431.print和import的更多信息 使用逗号将多个表达式输出 >>> print 'age:',42 age: 42 >&g ...
- Python安装配置
Python下载 官网下载地址:https://www.python.org/downloads/windows/ 下载安装包: python-3.5.0-amd64(64位).exe python- ...
- BNUOJ 2105 Distance Queries
Distance Queries Time Limit: 2000ms Memory Limit: 30000KB This problem will be judged on PKU. Origin ...
- 63.JPA/Hibernate/Spring Data概念【从零开始学Spring Boot】
[从零开始学习Spirng Boot-常见异常汇总] 事情的起源,无意当中在一个群里看到这么一句描述:"有人么?默默的问一句,现在开发用mybatis还是hibernate还是jpa&quo ...
- mysql pager用法&命令行命令
下面讲的命令,有部分只能在linux上才有.像pager命令windows上就没有了. 分屏:在Linux上,而且不是xwindow时,使用mysql命令行时,输出太多的东西,看不到就很悲剧了.在sh ...
- Oracle锁表数据查询及解决方法
首先:查询数据那些表被锁定1. SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username, l.os_user_name, ...
- 【IntelliJ】IDEA使用--字体、编码和基本设置
IDEA这么高端的工具之前只是断断续续使用了一下,因为项目的开发都是在eclipse上,每次学习IDEA的使用都得上网搜索半天,今天自己整理一下,方便以后查阅. IDEA版本15.0.4 字体 界面字 ...
- 用jquery校验radio单选按钮(原创)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head ...
- SQL SERVER 2012 第三章 T-SQL 基本语句 group by 聚合函数
select Name,salesPersonID From Sales.store where name between 'g' and 'j' and salespersonID > 283 ...