创建CA证书

创建CA证书


CA证书

        CA 也拥有一个证书(内含公钥私钥)。网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。

        如果用户想得到一份属于自己的证书,他应先向 CA 提出申请。在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。

        如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。证书实际是由证书签证机关(CA)签发的对用户的公钥的认证。

        证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。目前,证书的格式和验证方法普遍遵循X.509 国际标准。

证书类型:
                    1. 证书授权机构的证书
                    2. 服务器
                    3. 用户证书
获取证书两种方法:

  • 使用证书授权机构
    1. 生成签名请求(csr)
    2. 将csr发送给CA
    3. 从CA处接收签名

  • 自签名的证书
        自已签发自己的公钥

创建私有CA:
        openssl的配置文件:/etc/pki/tls/openssl.cnf
        三种策略:匹配、支持和可选
        匹配指要求申请填写的信息跟CA设置信息必须一致,支持指必须填写这项申请信息,可选指可有可无

1. 创建所需要的文件

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

2. 指定第一个颁发证书的序列号

echo 01 > /etc/pki/CA/serial
只要是两位数的数字都可以为序列号,你也可以把01换成99,这里我们就写01,方便后续。

3. CA自签证书

(umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
创建文件,生成私钥,括号是为了让权限临时生效,怕影响以后权限,2048是私钥加密的长度,也可以选择1024、2048、4096....

4. 生成自签名证书

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650
输入命令后会弹出设置页面,按顺序分为:国家、省、市、公司、单位、域名(服务器名称)、邮箱地址。

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

5. 颁发证书

  •  A 在需要使用证书的主机生成证书请求,在客户端上重复上面第一步。

(1) 创建私钥(另一台电脑或者虚拟机)

(umask 066;openssl genrsa -out /app/service.key)
地址不用服务器那么严格,可自行放入家目录里或者其他目录,只是路径一定要写清楚

(2) 生成证书的申请文件

openssl req -new -key /app/service.key -out /app/service.csr
这个命令输入之后也会出设置页面,按顺序分为:国家、省、市、公司、组织、对外网站(网站名叫什么必须就填什么,比如www.XXXXX.com)、邮箱、密码、可选公司名

注意:国家、省、公司,这3个必须和上面服务器的CA一样。
          邮箱、密码、可选公司名,这3个可以填可以不填。

  • B 将证书请求文件传输给服务器CA

scp /app/service.csr 192.168.XX.XXX:/etc/pki/CA/csr
将证书.csr这个文件传输服务器
scp是一个远程传输文件的小工具。

  • C CA签署证书,并将证书颁发给请求者

openssl ca -in /etc/pki/CA/csr/service.csr -out /etc/pki/CA/certs/service.crt -days 365
颁发证书,由服务器颁发。
注意:刚刚默认设置选项:国家,省,公司名称,这三项一定要和CA一样,刚刚也提醒了,不然就会报错。

  • D 查看证书中的信息

openssl x509 -in /etc/pki/CA/newcerts/01.pem -noout -text
查看01证书的详细信息

6. 吊销证书

  • A 在客户端或许要吊销的证书的serial

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

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

openssl ca -revoke /etc/pki/CA/newcerts/01.pem
最后01是你要取消的证书编号。如果你是99那就写99.pem就可以了,你想吊销那个证书就填那个。  

cat /etc/pki/CA/index.txt
查看证书失效或者生效
R失效
V生效

  • C 指定第一个吊销证书的编号

echo 01 > /etc/pki/CA/crlnumber
注意:第一次更新证书吊销列表前才需要执行。注意第一次。

  • D 更新证书吊销列表

openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem
更新吊销列表,将吊销的文件放进去

openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem 
更新吊销列表,将吊销的文件放进去

openssl crl -in /etc/pki/CA/crl/crl.pem -noout -text
查看crl文件

原创文章,作者:Az2h1丶,如若转载,请注明出处:http://www.178linux.com/82521

(1)
上一篇 2017-07-23 19:54
下一篇 2017-07-23 20:53

相关推荐

  • 第二周作业

    # 第二周作业 ##1.文件管理类命令 ###cp   复制 * 单元复制 如果目标文件不存在,会自动创建 如果已经存在,会覆盖 * 多源复制 目标必须是目录,分别复制每个文件至目标目录中,并保持原名 > -i: 交互提醒 > -f: 强制覆盖,不交互 > -r: 递归复制目录 > -d: 如果复制的是符号链接,不找源文件,…

    Linux干货 2016-12-09
  • 磁盘分区管理与文件系统的创建

    磁盘分区管理与文件系统的创建   不光是linux文件系统,所有的大结构,多数据凑到一块的时候,单一的管理是没有能力处理这样庞大规模的存在的。所谓“君王不下县”也就是这个道理。要系统的,规范的管理一个国家,存在着省、市这样的层级结构。linux系统也是这样,将整个系统划分为若干个分区,实现不同功能,不同层级的规范管理,这就是创建磁盘分区的意义。既然…

    Linux干货 2016-09-01
  • http协议基础(一)

    web服务:      Apache      Nginx      LVS      http协议 网站运维:      web站点      游戏网站web服务 高性能,高可用…

    Linux干货 2017-04-18
  • 硬盘分区的三种方式

    以前在初步接触linux的时候,只知道一种分区方式,现在学会了三种分区方式,所以下面就给大家简单的演示一下 ,以供参考。 第一种:fdisk /dev/sd?    具体步骤请看下图:首先有一个空的硬盘/dev/sdb, 第一步:输入命令fdisk /dev/sdb,会弹出一个帮助信息Command(m for help),意思就是m键是…

    2017-08-20
  • Linux bash中命令执行状态返回值

    Linux bash中命令执行状态返回值 在操作系统中,命令的执行后输出的内容为命令执行结果输出,而这个命令本身是否执行成功,它是通过命令执行状态返回值来标识的。 常用的值: 0 表示命令执行成功非0 表示命令执行失败 bash中获取命令执行状态返回值的方法 在刚执行完一条指令后,使用echo $?取得上一条指令的命令执行状态返回值,示例如下:  …

    Linux干货 2016-11-06
  • 搭建yum仓库

    搭建yum仓库 背景: 在学习完如何搭建yum仓库后,觉得搭建yum仓库很有意义,将自己学习中的感悟和理解记录下来,以备日后复习。 介绍: yum:全称是Yellow dog Updater, Modified。它是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可…

    2017-08-05