私有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 用户证书 本文将在前 ...
随机推荐
- C语言学习8
计算某日是该年的第几天 编写一个计算天数的程序,用户从键盘输入年.月.日,在屏幕中输出此日期是该年的第几天. /******************************************** ...
- About SQL Server 2016 CPT2
SQL Server 2016 CTP2已经发布,可以从以下主页进行下载. http://www.microsoft.com/en-us/server-cloud/products/sql-serve ...
- Xcode8、 iOS10 适配问题
调用相机.相册.麦克风.位置等隐私问题崩溃解决办法 你的项目中访问了隐私数据,比如:相机,相册,联系人等,在Xcode8中打开编译的话,统统会crash,控制台会输出下面这样的日志: 这是因为iOS对 ...
- 九度oj 题目1060:完数VS盈数
题目1060:完数VS盈数 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:6461 解决:2426 题目描述: 一个数如果恰好等于它的各因子(该数本身除外)子和,如:6=3+2+1.则称其 ...
- 【ZJOI2017 Round1练习】D7T1 graph(提答)
题意: n<=1000 m<=10000 思路:
- VS调试STL问题总结
---恢复内容开始--- 以前写代码总觉用自己写的东西比较牛逼,vector?stack?为什么不自己实现.后来才认识到这是个幼稚的想法!首先每次都自己实现是一种重复劳动:其次,自己写的话很难保证没有 ...
- wait和waitpid函数
来源:http://hohahohayo.blog.163.com/blog/static/120816010200971210230362/ wait(等待子进程中断或结束)表头文件 #in ...
- HTML5 全屏化操作功能
由于项目中用到了全屏化挫折功能,查看了API后写了一个简单的全屏化model <!DOCTYPE html> <html> <head> <meta http ...
- 洛谷 P1318 积水面积
P1318 积水面积 题目描述 一组正整数,分别表示由正方体迭起的柱子的高度.若某高度值为x,表示由x个正立方的方块迭起(如下图,0<=x<=5000).找出所有可能积水的地方(图中蓝色部 ...
- 应用CLR的线程池
大家都知道这个线程的建立和销毁都需要很大的性能开销,当有比较多且不同的任务需要完成时,可以考虑使用线程池来管理这些线程.在以windows NT为内核的操作系统上每个进程都包含一个线程池,在线程池中存 ...