一、CA证书简介

    CA 也拥有一个证书(内含公钥和私钥)。网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。如果用户想得到一份属于自己的证书,他应先向 CA 提出申请。在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。证书实际是由证书签证机关(CA)签发的对用户的公钥的认证。 <摘自:百度>

二、建立私有CA
1、 建立私有CA方式:

小范围测试使用openssl
大范围维护大量证书企业使用OpenCA(对openssl进行了二次封装,更加方便使用)

2、基于openssl创建CA证书
(1)配置文件

/etc/pki/ tls/openssl.conf


(2)创建步骤
以CentOS6作为CA主机,IP地址为192.168.159.138和CentOS7作为证书请求主机,IP为192.168.159.139。
在CentOS6
(a)创建所需要的文件
[root@centos6/etc/pki/CA]#touch index.txt #数据库索引文件

[root@centos6/etc/pki/CA]#echo 01 >serial

[root@centos6/etc/pki/CA]#cat serial
01

(b)创建私有密钥

[root@centos6/etc/pki/CA]#(umask 077;openssl genrsa -out private/cakey.pem 2048) #生成密钥文件,加密长度为2048

[root@centos6/etc/pki/CA]#openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 666 #生成CA自签证书

-new  生成新证书签署请求
-x509 专用于CA生成自签证书
-key 生成请求用到的私钥文件
-days # 证书的有效期限
-out /PATH/TO/SOMEFILE 证书保存路径


注意:上述划红线的地方必须与请求主机的信息相对应,必须是一个签证机构的信息。
在请求证书的主机上
为了使http加密传输步骤如下:
(a)创建存放密钥和CA证书的目录
[root@centos7~]#cd /etc/httpd/
[root@centos7/etc/httpd]#mkdir ssl
[root@centos7/etc/httpd]#cd ssl
(b)生成密钥文件
[root@centos7/etc/httpd/ssl]#openssl genrsa -out http.key 2048

(c)生成证书请求文件
[root@centos7/etc/httpd/ssl]#openssl req -new -key http.key -out http.csr -days 365

图中画圆圈的必须与上述图中的相对应,否则签证不成功。
(d)将生成请求的证书文件发送到CA主机上签署

[root@centos7/etc/httpd/ssl]#scp http.csr root@192.168.159.138:/etc/pki/CA/certs/

在CentOS6 CA主机中签署证书

[root@centos6/etc/pki/CA]#ls certs/
http.csr
#查看是否成功传送到指定目录下

[root@centos6/etc/pki/CA]#openssl ca -in certs/http.csr -out certs/http.crt #对证书进行签署

[root@centos6/etc/pki/CA]#scp certs/http.crt root@192.168.159.139:/etc/httpd/ssl/ #将签署证书回传至证书请求主机中

在CentOS 7 请求主机上查看是否回传成功

[root@centos7/etc/httpd/ssl]#ls
http.crt http.csr http.key

[root@centos7/etc/httpd/ssl]#rm -rf http.key #为了安全,可以删除此文件


如果我们想对此证书吊销如何操作呢?
在CentOS 6 CA主机上
(a)获取吊销证书的serial
[root@centos6/etc/pki/CA]#openssl x509 -in certs/http.crt -noout -serial -subject

-in 输入证书文件
-noout 证书不输出
-serial 打印serial值
-subject  打印证书拥有者名字

(b)先根据客户提交的serial与subject信息对比检验是否与index.txt文件信息是否一致。如果一致吊销证书。
[root@centos6/etc/pki/CA]#openssl ca -revoke newcerts/01.pem
(c)生成吊销证书标号
注意:只有第一次吊销证书时才执行此命令。
[root@centos6/etc/pki/CA]#echo 01 >crlnumber
(d)更新证书吊销列表
[root@centos6/etc/pki/CA]#openssl ca -gencrl -out thisca.crl
(e)查看证书吊销列表文件
[root@centos6/etc/pki/CA]#openssl crl -in thisca.crl -noout -text

如何给子CA颁发证书?
在上述过程中,CentOS7 给子CA颁发证书步骤如下:
(a)在CentOS 7中创建秘钥
[root@centos7~]#cd /etc/pki/CA/
[root@centos7/etc/pki/CA]#openssl genrsa -out private/cakey.pem 2048
(b)生成CA请求
[root@centos7/etc/pki/CA]#openssl req -new -key private/cakey.pem -out subca.csr
(c)将CA请求复制到主 CA上
[root@centos7/etc/pki/CA]#scp subca.csr 192.168.159.138:/etc/pki/CA/certs/
(d)在CnetOS 6上签署
[root@centos6/etc/pki/CA]#openssl ca -in certs/subca.csr -out certs/subca.crt -days 100
(e)将签署过的返回给CentOS 7
[root@centos6/etc/pki/CA]#scp certs/subca.crt 192.168.159.139:/etc/pki/CA/cacert.pem
(f)在CentOS 7.2主机上向CentOS 7申请CA
[root@localhost/app/ftp]#openssl genrsa -out ftp.key 2048
[root@localhost/app/ftp]#chmod 600 ftp.key
[root@localhost/app/ftp]#scp ftp.csr 192.168.1.109:/etc/pki/CA/certs/
(g)在CentOS 7上签署并返还
[root@centos7/etc/pki/CA]#openssl ca -in certs/ftp.csr -out ftp.crt -days 20
[root@centos7/etc/pki/CA]#scp certs/ftp.csr 192.168.1.106:/app/ftp

这样就完成了证书的签发,就可以安装证书并且使用了。

创建私有CA及证书颁布详解相关推荐

  1. Openssl加密文件及创建私有CA及证书

    # cat /etc/redhat-release CentOS release 6.6 (Final) # uname -r 2.6.32-504.el6.x86_64 首先我们先演示加密文件的方式 ...

  2. 网络通信中的加密解密及openssl和创建私有CA详解

    本文大纲: 1.为什么网络通信要进行数据加密? 2.数据加密方式有哪些?它们是如何进行加密的? 3.通信中是如何进行数据加密传输的? 4.https方式进行数据传输的具体流程 5.SSL 的实现工具O ...

  3. 自建ca根证书_如何创建私有 CA 并签发证书

    为什么需要自己的 CA? 因为公共 CA (比如排名前几的这几家:Comodo, Symantec, GlobalSign, DigiCert, StartCom)颁发证书要收费,而且价格很贵.当然现 ...

  4. https证书互信解决方案—创建私有CA并申请证书

    前言 https相较于http而言有很大的安全性,当我们一个服务开启https并与之通信时,往往需要证书的认证,如果是浏览器访问服务,只要在浏览器内设置信任证书即可,而如果是程序内访问服务(如java ...

  5. 自签名证书和私有CA签名的证书的区别 创建自签名证书 创建私有CA 证书类型 证书扩展名

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

  6. 加密和解密技术基础、PKI及创建私有CA

    一.数据加密和解密概述 数据加密和解密是一门历史悠久的技术,从古代就已经出现了,一直发展到当代.其中,数据加密的目的有很多,可以是为了保证本地数据存取的安全性,可以是为了保证数据流在网络传输过程中的保 ...

  7. openssl 创建私有CA

    创建私有CA: openssl的配置文件:/etc/pki/tls/openssl.cnf 1.创建所需要的文件 #touch index.txt #echo 01 > serial # 2.给 ...

  8. 创建私有CA及私有CA的使用

    CA分为公共信任CA和私有CA,若想使用公共信任的CA需要很多的money,如果想要在有限范围内使用CA认证方式,可以自己创建一个.下面了解一下CA及其创建方法: CA的配置文件为 /etc/pki/ ...

  9. linux加密解密基础、PKI及SSL、创建私有CA

    linux加密解密基础.PKI及SSL.创建私有CA 1.加密解密基础:            数据在网络中传输过程中要保证三个要点: (1)数据的完整性:防止数据在传输过程中遭到未授权用户的破坏或篡 ...

最新文章

  1. proxool+spring 数据池连接相关注意点
  2. datagridview cell字体大小自适应_CELL:肿瘤为何“饿不死”?神经元为饥饿胰腺癌提供营养支持...
  3. CodeForces - 632E Thief in a Shop 完全背包
  4. 组态王怎么做超级曲线_鱼怎么做才好吃?试试这个方法,吃着过瘾,还超级下饭!(收藏)...
  5. javaWeb中的Model1和Model2
  6. Logstash实践: 分布式系统的日志监控
  7. Graylog日志管理系统---搜索查询方法使用简介
  8. 阿里架构师的工作总结:Spring Cloud在架构演进中起到的作用
  9. Linux ext2, ext3, ext4 文件系统解读[4]
  10. 如何恢复按下Shift + DELETE键永久删除的文件和资料夹?
  11. 第十六周项目3电子词典
  12. C++实现超简单的文件加密
  13. vue_drf之视频接口
  14. C++语言的基本符号与词汇
  15. sau交流学习社区第三方登陆github--oauth来实现用户登录
  16. [转]开源协议MIT、GPL、LPGL、BSD、MIT的区别
  17. 浮点数存储方式理解,浮点数和整数之间的转换
  18. 计算机教学设计与反思,[信客教案及反思] 信息技术教案课后反思
  19. 传输层协议之TCP协议详解
  20. CSAPP - LAB 1 datalab

热门文章

  1. wireshark分析以太网帧结构_以太网帧结构分析
  2. sql server生日提醒语句实现方法
  3. pymysql的安装及使用
  4. 使用nginx实现反向代理
  5. Unity 获取本地国家和语言
  6. LBS创业者平台掘金:小应用有大机会
  7. 蓝桥杯 算法提高 身份证号码升级
  8. Errors running builder 'Integrated External Tool Builder' on project 'rVoix'
  9. 天猫店群是什么?月入十万的天猫店群有前景吗?
  10. 亚马逊关键词库的精细化管理分享值得你看!