证书类型

	证书授权机构的证书
服务器
用户证书

获取证书两种方法

	使用证书授权机构:
生成签名请求(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和证书的更多相关文章

  1. Windows2008下RDP采用私有CA服务器证书搭建文档

    在中小型公司建立企业根证书颁发机构 (CA) http://www.microsoft.com/china/smb/issues/sgc/articles/build_ent_root_ca.mspx ...

  2. Linux-centos8实现私有CA和证书申请

    创建CA相关目录,centos8不存在这些目录,需手动建立 [root@centos8-liyj ~]#mkdir -pv /etc/pki/CA/{certs,cr1,newcerts,privat ...

  3. Openssl与私有CA搭建

    转自:http://www.tuicool.com/articles/aURnim 随着网络技术的发展.internet的全球化,信息共享程度被进一步提高,各种基于互联网的应用如电子政务.电子商务日益 ...

  4. 搭建私有CA

    一.实验目的 搭建私有CA并使其可以实现公司内部的的签名服务. 二.实验环境: 系统架构:Centos7(服务器).Centos6(需要申请证书的服务器)需要的软件包:openssl.openssl- ...

  5. Linux 加密安全和私有CA的搭建方法

    常用安全技术 3A: 认证:身份确认 授权:权限分配 审计:监控做了什么 安全通信 加密算法和协议 对称加密: 非对称加密 单向加密:哈希(hash)加密 认证协议 对称加密: 加密和解密使用的是同一 ...

  6. 自签名证书和私有CA签名的证书的区别 创建自签名证书 创建私有CA 证书类型 证书扩展名【转】

    自签名的证书无法被吊销,CA签名的证书可以被吊销 能不能吊销证书的区别在于,如果你的私钥被黑客获取,如果证书不能被吊销,则黑客可以伪装成你与用户进行通信   如果你的规划需要创建多个证书,那么使用私有 ...

  7. 基于开源CA系统ejbca community 6.3.1.1构建私有CA管理数字证书

    最后更新于2017年01月24日 一.为什么 为什么写这篇文章?ca是什么?数字证书是什么?ejbca又是什么? 让我们从http与https说起.http是超文本传输协议(HyperText Tra ...

  8. 使用 OpenSSL 创建私有 CA:3 用户证书

    OpenSSL 创建私有 CA 三部曲:使用 OpenSSL 创建私有 CA:1 根证书使用 OpenSSL 创建私有 CA:2 中间证书使用 OpenSSL 创建私有 CA:3 用户证书 在前文&l ...

  9. 使用 OpenSSL 创建私有 CA:2 中间证书

    OpenSSL 创建私有 CA 三部曲:使用 OpenSSL 创建私有 CA:1 根证书使用 OpenSSL 创建私有 CA:2 中间证书使用 OpenSSL 创建私有 CA:3 用户证书 本文将在前 ...

随机推荐

  1. LeetCode(43)Multiply Strings

    题目 Given two numbers represented as strings, return multiplication of the numbers as a string. Note: ...

  2. Python基础之列表、元组、字典、集合的使用

    一.列表 1.列表定义 names=["Jhon","Lucy","Michel","Tom","Wiliam ...

  3. 如何写Java文档注释(Java Doc Comments)

    本文翻译自How to Write Doc Comments for the Javadoc Tool,但是精简了一些私以为不重要的东西 本文不讨论如何使用javadoc工具自动生成文档的方法,而是主 ...

  4. 【bzoj3505】[Cqoi2014]数三角形

    [bzoj3505][Cqoi2014]数三角形 2014年5月15日3,5230 Description 给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个.下图为4×4的网格上的一个三角 ...

  5. android中webview的实现

    设置从当前页面打开链接,而不是跳转到系统默认浏览器打开: webview.setWebViewClient(new WebViewClient(){ @Override public boolean ...

  6. ACM组队安排-——杭电校赛(递推)

    #include<stdio.h> #include<string.h> #include<math.h> #include<stdlib.h> #in ...

  7. Spring Boot 2.1.5 正式发布,1.5.x 即将结束使命!

    Spring Boot 官网在 2019/03/15 这天发布了 Spring Boot 2.1.5 正式版,栈长表示真跟不上了.. 官宣如下 : https://spring.io/blog/201 ...

  8. Ubuntu 16.04安装RabbitVCS替代TortoiseSVN/TortoiseGit

    RabbitVCS官网:http://www.rabbitvcs.org/easonjim 1.添加PPA源 sudo add-apt-repository ppa:rabbitvcs/ppa 如果导 ...

  9. MySQL主主复制搭建教程收集(待实践)

    先收集,后续再实践. http://www.cnblogs.com/ahaii/p/6307648.html http://blog.csdn.net/jenminzhang/article/deta ...

  10. linux 虚拟网卡

    linux中可以通过一个物理网卡,模拟出多个虚拟网卡,并在网卡中配置ip. 下面做一个实验. 实验描述: 我们有server A (ip 10.79.148.205),server B (10.79. ...