利用openssl命令搭建私有CA管理证书

本文详细介绍了如何利用openssl命令行工具搭建私有CA认证中心,创建自签名证书,以及证书申请和吊销过程。内容涵盖了PKI概念,SSL协议的作用和工作流程,重点讲解了自建CA的步骤,包括生成私钥、证书请求文件,以及证书的签署和分发。此外,还提及了证书吊销的相关知识。
摘要由CSDN通过智能技术生成

一:PKI

CA中心——CA系统——数字证书
CA 中心管理并运营 CA 系统,CA 系统负责颁发数字证书。
专门负责颁发数字证书的系统称为 CA 系统,负责管理并运营 CA 系统的机构称为 CA 中心。所有与数字证书相关的各种概念和技术,统称为 PKI(Public Key Infrastructure)。

  1. 签证机构:CA(Certificate Authority)
  2. 注册机构:RA(Register Authority)
  3. 证书吊销列表:CRL(Certificate Revoke Lists)
  4. 证书存取库

X.509:定义了证书的结构和认证协议的标准。包括版本号、序列号、签名算法、颁发者、有效期限、主体名称、主体公钥、CRL分发点、扩展信息、发行者签名等

获取证书的两种方法:

  1. 使用证书授权机构
    生成签名请求(csr)
    将csr发送给CA
    从CA处接收签名
  2. 自签名的证书
    自已签发自己的公钥重点介绍一下自建CA颁发机构和自签名。

二:SSL协议

SSL (Secure Socket Layer)是Netscape所研发用保障Internet数据传输安全利用数据加密(Encryption)技术确保数据网络。传输程截取及窃听目前般通用规格40 bit安全标准美则已推128 bit更高安全标准限制境要3.0版本I.E.或Netscape浏览器即支持SSL。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输.它位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。

SSL (Secure Socket Layer) 协议提供的服务主要有:
1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
2)加密数据以防止数据中途被窃取;
3)维护数据的完整性,确保数据在传输过程中不被改变。

SSL协议的工作流程:

服务器认证阶段:
1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;
2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;
3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;
4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。
SSL协议的工作流程

三:自建CA颁发机构和自签名

环境准备:

IP地址 Hostname 操作系统 用途
172.17.2.245 node245.ginvip.com CentOS7.4 CA认证中心
172.17.2.246 node246.ginvip.com CentOS7.4 请求签名证书

3.1 搭建私有CA认证中心

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

####################################################################
[ ca ]
default_ca  = CA_default    # The default ca section(默认的CA配置,是CA_default,下面第一个小节就是)
####################################################################
[ CA_default ]
dir     = /etc/pki/CA       # Where everything is kept (dir变量)
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.(数据库索引文件)
new_certs_dir   = $dir/newcerts        # default place for new certs.(新证书的默认位置)
certificate = $dir/cacert.pem  # The CA certificate(CA机构证书)
serial      = $dir/serial      # The current serial number(当前序号,默认为空,可以指定从01开始)
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机构的私钥)
RANDFILE    = $dir/private/.rand   # private random number file(随机数文件)
x509_extensions = usr_cert      # The extentions to add to the cert
# Comment out the following two lines for the "traditional"
# (and highly broken) format.
name_opt    = ca_default        # Subject Name options(被颁发者,订阅者选项)
cert_opt    = ca_default        # Certificate field options(认证字段参数)
# Extension copying option: use with caution.
# copy_extensions = copy
# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs
# so this is commented out by default to leave a V1 CRL.
# crlnumber must also be commented out to leave a V1 CRL.
# crl_extensions    = crl_ext
default_days    = 365           # how long to certify for (默认的有效期天数是365)
default_crl_days= 30            # how long before next CRL
default_md  = sha256        # use SHA-256 by default
preserve    = no            # keep passed DN ordering
# A few difference way of spec
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值