自建CA实验

测试主机:172.20.112.128(centos6.9:c6) 172.20.112.162(CA,centos7:c7)
[[email protected] ~]# vi /etc/pki/tls/openssl.cnf //一些配置固定的路径要注意
[[email protected] ~]# cd /etc/pki/CA/
[root CA]# (umask 077;openssl genrsa -out private/cakey.pem 2048)
[root CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650 //生成自签名证书(相当于根证书)
CN --> beijing --> beijing --> magedu --> opt --> ca.magedu.com --> 默认 --> 自签名完成
[[email protected] CA]# cat cacert.pem
[[email protected] CA]# openssl x509 -in cacert.pem -noout -text //查看证书详情。也可传到windows查看,要改后缀,如改为cacert.pem.crt 方可查看
[[email protected] ~]# cd /data/ # (umask 066;openssl genrsa -out app.key 1024) //生成私钥 //在A主机操作
[[email protected] data]# openssl req -new -key app.key -out app.csr //生成证书申请文件,准备发给CA //在A主机操作
CN --> beijing --> beiging --> magedu --> devopt --> www.magedu.com ... //其中 CN beijing beijing 要和CA的一致
[[email protected] data]# scp app.csr 172.20.112.162:/etc/pki/CA //拷到CA主机进行签名 //在A主机操作
[[email protected] CA]# touch index.txt //不存在索引文件需要手工创建
[[email protected] CA]# echo 0F > serial //序列号
[[email protected] CA]# openssl ca -in app.csr -out certs/app.crt -days 100 //颁发证书。发现生成了文件index.txt.attr index.txt.old 0F.pem
[[email protected] CA]# diff certs/app.crt newcerts/0F.pem //比较发现一样
[[email protected] CA]# openssl x509 -in certs/app.crt -noout -text //查看证书详情
[[email protected] CA]# openssl verify -CAfile cacert.pem certs/app.crt //验证证书的有效期
[[email protected] CA]# sz certs/app.crt //把证书传到windows查看,但windows显示不信任
在windows操作:双击刚才生成的根证书cacert.pem.crt --> 安装证书 --> 当前用户 --> 将所有的证书都放入下列存储 --> 浏览 --> 受信任的根证书颁发机构 --> 完成;;;;然后点击app.crt发现受信任了,显示由ca.magedu.com颁发。

下面c7主机其它应用需要使用证书,如nginx
[[email protected] CA]# (umask 077;openssl genrsa -out app2.key 1024) //生成私钥
[[email protected] CA]# openssl req -new -key app2.key -out app2.csr //生成证书申请文件
CN --> henan --> zhengzhou --> mage --> opt --> app.magedu.com --> 默认...
[[email protected] CA]# cd /etc/pki/CA
[[email protected] CA]# openssl ca -in /data/app2.csr -out certs/app.crt -days 200 //颁发证书报错,因为申请文件和CA机构的省份和市不一致
[[email protected] CA]# vi /etc/pki/tls/openssl.cnf //改策略让上一步的不同省份和市也能颁发成功
policy = policy_match 改为 policy = policy_anything
[[email protected] CA]# openssl ca -in /data/app2.csr -out certs/app2.crt -days 200 //修改策略后发现重新颁发成功

[[email protected] CA]# cat index.txt.attr //同一份证书申请文件颁发多次证书限制修改

吊销证书:
[[email protected] CA]# openssl ca -revoke newcerts/11.pem
[[email protected] CA]# cat index.txt //发现被吊销的证书前面字母变成了 R
证书吊销列表(证书吊销后也要让用户知道):
淘宝的证书吊销列表:浏览器打开www.taobao.com --> 按F12 --> 点击Security --> 点击View certificate --> 点击 详细信息 --> 点击 ‘CRTL 分发点‘ ,复制 URL=http://crl.globalsign.com/gs/gsorganizationvalsha2g2.crl --> 浏览器把该url打开即可下载 --> 双击下载的文件即可查看
[[email protected] CA]# cat index.txt
V 181222013631Z 0F unknown /C=CN/ST=beijing/O=magedu/OU=devopt/CN=www.magedu.com
V 190401033124Z 10 unknown /C=CN/ST=henan/L=zhengzhou/O=mage/OU=opt/CN=app.magedu.com //newcerts/10.pem //证书
R 190401033700Z 180913034111Z 11 unknown /C=CN/ST=henan/L=zhengzhou/O=mage/OU=opt/CN=app.magedu.com //newcerts/11.pem //证书
[[email protected] CA]# openssl ca -gencrl -out /etc/pki/CA/crl.pem //发现生成吊销列表失败
[[email protected] CA]# echo 0F > crlnumber //创建吊销文件,用于记录序号
[[email protected] CA]# cat crl.pem //目前为空
[[email protected] CA]# openssl ca -gencrl -out /etc/pki/CA/crl.pem //重新生成吊销列表成功
[[email protected] CA]# cat crl.pem //发现该文件也有内容了。把crl.pem传到windows并改名为crl.pem.crl ,双击即可查看
[[email protected] CA]# openssl ca -revoke newcerts/10.pem //现在把10.pem证书也吊销
[[email protected] CA]# openssl ca -gencrl -out /etc/pki/CA/crl.pem //再次重新生成吊销列表
[[email protected] CA]# cat crlnumber //数字也递增了。现在再次把crl.pem传到windows查看即可。
[[email protected] CA]# openssl crl -in /etc/pki/CA/crl.pem -noout -text //查找证书吊销列表

原文地址:http://blog.51cto.com/12555197/2175534

时间: 2024-11-08 22:44:33

自建CA实验的相关文章

加密 解密过程详解及openssl自建CA  

            加密 解密过程详解及openssl自建CA 为了数据信息能够安全的传输要求数据要有一定的安全性那么数据的安全性包含哪些方面的特性呢?    NIST(美国信息安全署)做了如下的定义:    保密性:       1,数据的保密性 指的是数据或隐私不向非授权者泄漏                   2,隐私性  信息不被随意的收集    完整性:       1,数据的的完整性:信息或程序只能被指定或授权的方式改变不能被随意的             修改        

互联网安全机制及OpenSSL自建CA

网络诞生的早期,能够接入网络的主机非常少,在当时基本上没有什么网络安全的概念,后来随着接入互联网的主机越来越多,之前的网络接入环境也越来越不适应后来网络的发展,俗话说"林子大了什么鸟都有"所以网络安全也越来越显得尤为重要,接下来这篇博文我们就浅谈一下网络安全的概念. 一:互联网安全的几大重要特征 网络安全几大重要标准:数据保密性:数据完整性:不可否认性.想要实现数据保密性需要对传输过程进行加密.要想让数据没有被非法授权,侵入,修改等破环行为,保护数据的完整性,需要对数据进行身份认证,而

Linux运维之加密/解密原理、自建CA及搭建基于https的Apache

上几次博文我们具体讨论了Apache(httpd)的基础知识: HTTP协议基础(参见博文:http://sweetpotato.blog.51cto.com/533893/1656137) Apache2.2的基本配置(参见博文:http://sweetpotato.blog.51cto.com/533893/1657668) Apache2.2的虚拟主机(参见博文:http://sweetpotato.blog.51cto.com/533893/1660229) 本次博文我们具体讨论下加密/

自建CA证书搭建https服务器

1.理论知识 https简介 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL. 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息.HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接

使用OpenSSL 自建CA 以及颁发证书

OpenSSL是套开放源代码的软件库包,实现了SSL与TLS协议.其主要库是以C语言所写成,实现了基本的加密功能. OpenSSL可以运行在绝大多数类Unix操作系统上(包括Solaris,Linux,Mac OS X与各种版本的开放源代码BSD操作系统),OpenVMS与 Microsoft Windows.它也提供了一个移植版本,可以在IBM i(OS/400)上运作. 此软件是以Eric Young以及Tim Hudson两人所写的SSLeay为基础所发展的,SSLeay随着两人前往RSA

自建CA以及证书申请

一.自建CA 1.CA生成密钥对: 2.生成自签证书: 二.其他主机向CA发起证书申请 1.生成密钥对 2.生成证书签署请求: 3.将证书签署请求发往CA: 三 .CA签署证书,并传回给请求者 1.CA签署成熟成功: 2.将签署成功的证书传回请求者:

Linux下自建CA的实现

CentOS7上搭建lamp环境 要求如下,搭建在同一台虚拟机上,实现下述3个功能: vhost1: pma.stu13.com, phpMyAdmin, 同时提供https服务 vhost2: wp.stu13.com, wordpress vhost3: dz.stu13.com, Discuz Vmware机器情况如下:     CA服务器:192.168.2.100/24     httpd服务器:192.168.2.109/24     Client客户机:192.168.2.1/24

openssl工具详解及自建CA方法

前言: openssl是一款很强大的多用途的开源加密解密的命令行工具,比如创建私钥,创建证书签名请求,测试各种加密算法耗时等等. 在我们进入openssl工具讲解之前,我们有必要先了解先Linux下的加密解密方式,以及常用的加密算法与协议. 然后最后我们详细讲解使用openssl自建CA的方法 目录: 1. Linux加密解密过程: 如图: 2. 常用密码算法和协议 常用的加密算法有三种: 1. 对称加密算法: 同一个密钥可以同时用作信息的加密和解密,将明文分割成固定大小的块,逐个进行解密,这种

自建CA及签署证书

1.自建CA # cd /etc/pki/CA/ # (umask 077; openssl genrsa -out private/cakey.pem 2048) # openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3656 Country Name (2 letter code) [XX]:CN State or Province Name (full name) []:Yunnan Locality N