转载:http://rackie386.blog.51cto.com/11279229/1947999

Centos7.3创建CA和申请证书

openssl 的配置文件:/etc/pki/tls/openssl.cnf

重要参数配置路径

dir   = /etc/pki/CA                # Where everything is kept

certs   = /etc/pki/CA/certs            # Where the issued certs are kept

database    = /etc/pki/CA/index.txt        # database index file.

new_certs_dir    = /etc/pki/CA/newcerts         # default place for new certs.

certificate   = /etc/pki/CA/cacert.pem       # The CA certificate

serial    = /etc/pki/CA/serial           # The current serial number

private_key    = /etc/pki/CA/private/cakey.pem   # The private key

三种策略:匹配、支持和可选

匹配指要求申请填写的信息跟CA设置信息必须一致;支持指必须填写这项申请信息;可选指可有可无

1、创建所需要的文件

touch /etc/pki/CA/index.txt  生成证书索引数据库文件

echo 01 > /etc/pki/CA/serial  指定第一个颁发证书的序列号,必须是两位十六进制数,99之后是9A

2、CA自签证书

生成私钥

cd /etc/pki/CA/

(umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)

生成自签名证书

openssl req -new -x509 –key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem

-new: 生成新证书签署请求

-x509: 专用于 CA 生成自签证书

-key: 生成请求时用到的私钥文件

-days n:证书的有效期限

-out: 证书的保存路径

提示输入国家,省,市,公司名称,部门名称,CA主机名(颁发者名称)

linux下查看生成的自签名证书

openssl x509 -in /etc/pki/CA/cacert.pem -noout -text

Windows下查看生成的自签名证书

需要更改上述文件名后缀为.cer即可查看

3、颁发证书

(1)在需要使用证书的主机生成证书请求

给web服务器生成私钥

(umask 066; openssl genrsa -out /app/service.key 2048)

生成证书申请文件

openssl req -new -key /app/service.key -out /app/service.csr

同样提示输入国家,省,市等信息。注意:国家,省,公司名称三项必须和CA一致。主机名称必须和网站域名相同,如www.centos73.com。或者使用泛域名,即*.centos73.com,匹配所有。

(2)将证书请求文件传输给CA

scp /app/service.csr 192.168.10.15:/etc/pki/CA/csr/

(3)CA签署证书,并将证书颁发给请求者

openssl ca -in /etc/pki/CA/csr/service.csr –out /etc/pki/CA/certs/service.crt -days 365

生成certs/service.crt和newcerts/xx.pem文件,两个文件相同。

(4)查看证书中的信息

openssl x509 -in certs/service.crt -noout -text|issuer|subject|serial|dates

cat serial

cat index.txt  //V表示当前证书的状态正常

openssl ca -status SERIAL  查看指定编号的证书状态

cat index.txt.attr  //yes表示subjects信息必须是唯一的,不能重复申请

4、吊销证书

(1)在客户端获取要吊销的证书的serial

openssl x509 -in /etc/pki/CA/cacert.pem -noout -serial -subject

(2)在CA上,根据客户提交的serial与subject信息,对比检验是否与index.txt文件中的信息一致,吊销证书:

openssl ca -revoke /etc/pki/CA/newcerts/xx.pem

cat index.txt  //R表示证书已经失效

(3)指定第一个吊销证书的编号

注意:第一次更新证书吊销列表前,才需要执行

echo 01 > /etc/pki/CA/crlnumber

(4)更新证书吊销列表

openssl ca -gencrl -out /etc/pki/CA/crl.pem

linux下查看crl文件:

openssl crl -in /etc/pki/CA/crl.pem -noout -text

Windows下查看吊销列表文件,需更改文件后缀为.crl

本文出自 “rackie” 博客,请务必保留此出处http://rackie386.blog.51cto.com/11279229/1947999

Centos7.3创建CA和申请证书

标签:创建ca   证书申请和吊销

原文地址:http://rackie386.blog.51cto.com/11279229/1947999

Centos7创建CA和申请证书的更多相关文章

  1. Centos7创建CA和申请证书 转自https://www.cnblogs.com/mingzhang/p/8949541.html

    Centos7.3创建CA和申请证书 openssl 的配置文件:/etc/pki/tls/openssl.cnf 重要参数配置路径 dir   = /etc/pki/CA               ...

  2. ssl证书专题(3):创建CA和申请证书

    请看:  https://www.cnblogs.com/mingzhang/p/8949541.html

  3. 通过Go语言创建CA与签发证书

    本篇文章中,将描述如何使用go创建CA,并使用CA签署证书.在使用openssl创建证书时,遵循的步骤是 创建秘钥 > 创建CA > 生成要颁发证书的秘钥 > 使用CA签发证书.这种 ...

  4. 实现CA证书创建及客户端申请证书

    author:JevonWei 版权声明:原创作品 CA证书的相关文件路径 openssl配置文件/etc/pki/tls/openssl.cnf /etc/pki/tls/openssl.cnf C ...

  5. Linux操作系统安全-局域网私有CA(Certificate Authority)证书服务器实战篇

    Linux操作系统安全-局域网私有CA(Certificate Authority)证书服务器实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.试验架构说明 node101 ...

  6. centos7.6使用openssl生成CA签署的证书个人实验笔记

    准备:客户端centos6.10  服务端Centos7.6 实验:客户端生成证书请求,服务端颁发证书,最后吊销其中一个证书 1.先在服务端上的/etc/pki/CA/目录生成rsa的私钥: 2.在服 ...

  7. IIS8中使用OpenSSL来创建CA并且签发SSL证书

    前言 [转载]http://alvinhu.com/blog/2013/06/12/creating-a-certificate-authority-and-signing-the-ssl-certi ...

  8. 利用CA私钥和证书创建中间CA

    本文借助实验环境下创建的root CA私钥和证书进一步创建中间CA.为了便于区分,我们将创建中间CA(intermediate CA)的CA称为根CA(root CA). 关于如何使用OpenSSL创 ...

  9. 使用非Web方式从CA申请证书

    背景介绍:关于从CA申请证书这点事,网上的那些教程基本都是让我们通过访问https://server/certsrv这样的网页来操作的,我一直希望不依赖IIS就把这事干了,于是就有了下面的文章. 1. ...

随机推荐

  1. 本地项目提交到github和提交更新(转)

    一:首先当然是去github注册账号了. 二:注册完毕登录后,在自己的首页上面点击右上角“+”号,然后选择New repository,或者直接点击下面的绿色按钮,创建一个新仓库.如图: 然后填入仓库 ...

  2. Mysql --初识mysql语句

    本节课先对mysql的基本语法初体验. 操作文件夹(库) 增 create database db1 charset utf8;#db1 是数据库的名字 也就是文件夹 查 # 查看当前创建的数据库 s ...

  3. 响应式页面-@media介绍

    01 响应式页面-@media介绍,   我们为什么要写自适应的页面(响应式页面) 众所周知,电脑.平板.手机的屏幕是差距很大的,假如在电脑上写好了一个页面,在电脑上看起来不错,但是如果放到手机上的话 ...

  4. http请求在ie中F12查看显示已挂起

    页面有解析和运算工作之后 http新请求在ie中F12查看显示已挂起,http post ,请求返回少量数据

  5. 查看mysql库中所有表的信息--INFORMATION_SCHEMA

    第一个查询看看库里有多少个表,表名等select * from INFORMATION_SCHEMA.TABLES information_schema这张数据表保存了MySQL服务器所有数据库的信息 ...

  6. 自然语言处理之LCS最长公共子子序列

    #!一个序列S任意删除若干个字符得到的新序列T,则T叫做S的子序列 注意,这个和最长公共字串不一样,最长公共子串要求连续. 1.算法公式: def lcs(a,b): lena = len(a) le ...

  7. Confluence 6 缓存性能示例

    有关 Confluence 的缓存性能如何设置,让我们看看下面的表: 缓存(Caches) % 使用的缓存(Used) % 有效率(Effectiveness) 对象/大小(Objects/Size) ...

  8. Android “Command” from work summary

    总结一下Android中的命令. 一.adb 与 shell ADB的全称为Android Debug Bridge(调试桥).是一个适用命令行工具,用来与模拟器实例或链接的Android设备进行通信 ...

  9. Scratch 2.0-Find The Mouse 发布!

    日期:2018.8.26 星期日 博客期:007 今天随便写了一个小型游戏程序,哈哈!虽然小,但用到的逻辑还是有一定水平的.呼~毕竟就这一下子也写不出来微软一样的公司嘛!哈哈,截图放上来! 游戏分为四 ...

  10. selenium之 chromedriver与chrome版本映射表(更新至v2.33)

    看到网上基本没有最新的chromedriver与chrome的对应关系表,便兴起整理了一份如下,希望对大家有用: chromedriver版本 支持的Chrome版本 v2.33 v60-62 v2. ...