搭建ca认证中心

author author     2022-08-16     767

关键词:



前言

        CA英文全称CertificationAuthority,即数字证书认机构。A是负责发放和管理数字证书的权威机构,并作为用户数字认证中受信任的第三方,承担公钥体系(PKI)中公钥的合法性检验的责任,在互联网上,实现用户与用户、用户与企业之间的数字身份认证。

本文通过使用openssl进行搭建私有CA认证体系,从而简单地了解CA的认证过程。搭建私有CA,可以实现企业内部认证加密。

 

图示CA流程

技术分享

  • 一、搭建CA认证中心

1、修改配置文件

  #vim /etc/pki/tls/openssl.cnf 

         将basicConstraints=CA:FALSE改为 TRUE #让自己成为CA认证中心

 2、配置认证中心生成根证、私钥

     1、创建所需文件

         touch /etc/pki/CA/index.txt

         echo 01 >/etc/pki/CA/serial

      2、生成私钥

 [[email protected]_1 ~]# (umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
    Generating RSAprivate key, 2048 bit long modulus
    ....................+++
    ............................................................................................................................................+++
    e is 65537(0x10001)
   # 私钥生成完毕。


3、生成自签名证书(根证)

[[email protected]_1 ~]#openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 3650  
 -out  /ect/pki/CA/cacert.pem #命令
You are about tobe asked to enter information that will be incorporated
into yourcertificate request.
What you areabout to enter is what is called a Distinguished Name or a DN.
There are quite afew fields but you can leave some blank
For some fieldsthere will be a default value,
If you enter ‘.‘,the field will be left blank.
-----
Country Name (2letter code) [XX]:CN   #国家
State or ProvinceName (full name) []:beijing                  #省
Locality Name(eg, city) [Default City]:beijing    #市
Organization Name(eg, company) [Default Company Ltd]:linuxinfo 组织机构
OrganizationalUnit Name (eg, section) []:IT    组织部门
Common Name (eg,your name or your server‘s hostname) []:linuxinfo.com  #服务器主机名
Email Address[]:[email protected]   #邮箱

查看证书中的信息

[[email protected]_1CA]# openssl x509 -in cacert.pem  -noout -text  #命令
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 10031721591501306818(0x8b37d5a31b0d3bc2)
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C=CN, ST=beijing, L=beijing,O=mage, OU=IT, CN=linuxinfo.com/email
[email protected]
        Validity
            Not Before: Dec  1 04:26:18 2016 GMT
            Not After : Nov 29 04:26:18 2026GMT
        Subject: C=CN, ST=beijing, L=beijing,O=linuxinfo, OU=IT, CN=linuxinfo.com/
[email protected]
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:a8:a9:7f:48:b3:bf:ae:51:72:e3:01:e4:82:fd:
                   9f:54:f6:cc:8f:76:df:7a:7f:05:9f:81:c4:45:68:
                   80:31:14:86:46:2c:58:f2:80:52:05:11:b1:5c:28:
                   09:68:00:f6:a8:7f:02:85:6f:ce:57:82:2d:74:7a:
                    aa:49:ba:41:d0:5f:2f:bc:dd:3b:3f:af:df:73:8c:
                   32:d6:17:46:01:0f:1e:0d:bc:5a:f8:b4:3e:2f:97:
                   4f:71:39:07:1f:a5:fa:e9:a2:3b:86:9e:03:34:be:
                   8c:b9:02:cf:10:28:74:c0:51:ae:fc:9e:d0:a5:18:
                   9d:5d:15:09:2c:08:e9:89:07:56:d5:3a:c1:cd:6e:
                   fa:10:59:c7:6a:96:53:1f:1a:a9:37:8d:9b:fd:e8:
                   cb:61:81:f1:21:2d:65:8a:8b:5f:9b:e9:c8:12:14:
                   15:b5:8c:a0:4f:0f:4e:f4:4a:bd:27:09:66:b2:1f:
                   58:c1:e0:06:31:7f:5e:5b:a8:25:77:de:c1:7e:d4:
                   77:a1:cc:d7:1e:65:cf:6d:b9:8c:f7:a3:41:2d:68:
                   72:43:20:68:78:ec:7d:0d:6c:37:0a:d9:36:e9:3c:
                    4a:fb:a3:06:08:da:9b:31:3c:53:eb:92:cd:46:db:
                   df:8d:32:25:5c:31:2a:6f:52:ef:ab:e7:c2:81:7e:
                    58:e5
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Subject Key Identifier: 
                A4:AD:22:00:6C:19:8D:AC:29:A6:E4:E4:13:01:B4:00:C9:C2:1A:15
            X509v3 Authority Key Identifier: 
               keyid:A4:AD:22:00:6C:19:8D:AC:29:A6:E4:E4:13:01:B4:00:C9:C2:1A:15
 
            X509v3 Basic Constraints: 
                CA:TRUE
    Signature Algorithm:sha256WithRSAEncryption
        9e:e9:ed:76:47:46:de:bd:02:1c:04:66:26:c9:1c:cc:76:f9:
        7e:7c:51:df:97:35:ca:15:52:a3:6f:c3:c5:d4:da:a3:e1:13:
        a9:aa:f0:2c:15:19:a2:1b:cc:56:11:dc:98:e5:a8:59:cd:b8:
         14:45:cb:37:80:c9:a3:68:a8:10:e2:b6:62:6e:ce:24:42:52:
        64:d2:84:7f:13:2b:d3:da:2b:63:4b:fb:f0:4b:08:63:60:e2:
        71:65:fd:60:2a:ad:96:c7:d9:16:9b:8b:f0:cd:d8:c3:19:12:
        bc:cf:c8:62:77:04:c8:11:7b:1b:e0:70:10:5c:da:2a:58:59:
         f8:41:dd:13:f9:89:d6:74:92:62:35:35:28:19:e8:22:0a:7b:
        f7:d3:cb:dc:50:54:96:c6:dd:01:f3:e2:ff:94:80:aa:f5:29:
        34:aa:a1:be:2a:ce:44:d5:ed:f2:d7:aa:c5:59:64:d5:dc:73:
        88:11:8c:d2:5b:ab:d9:f6:a5:1c:bb:8f:d7:cb:f0:fb:dd:1c:
         ad:2c:03:2d:da:69:ad:5d:27:20:7c:1e:f4:99:ac:46:ca:86:
        b7:12:aa:05:2b:8c:68:d5:c0:ba:eb:5a:ce:98:0e:b5:fe:10:
        97:ad:b1:7d:7c:e0:b6:95:34:6a:bc:a3:74:e7:8a:fe:f7:dd:
         50:bc:80:c0


  • 二、颁发证书

    1、  在需要使用证书的主机上生成私钥以及证书请求文件

            给web服务器生成私钥

[[email protected]_1 ~]# (umask 066; openssl genrsa -out/etc/httpd/ssl/httpd.key 2048)
Generating RSA private key, 2048 bit long modulus
.............................................................................................................................+++
............+++
e is 65537 (0x10001)

  生成请求文件

[[email protected]_1 ~]# openssl req -new -key/etc/httpd/ssl/httpd.key -days 3650 -out /etc/httpd/ssl/httpd.scr  请求文件
You are about to be asked to enter information that will beincorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Nameor a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.‘, the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:beijing
Locality Name (eg, city) [Default City]:beijing
Organization Name (eg, company) [Default Company Ltd]:linuxinfo   
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server‘s hostname)[]:linuxinfo.top  #真实存在的域名哦
Email Address []:[email protected]
注意:默认国家,省 ,公司名称必须和CA一致
Please enter the following ‘extra‘ attributes
to be sent with your certificate request
A challenge password []:  #直接回车即可
An optional company name []:  #同上


将请求文件发送给CA服务器

    scp  /etc/httpd/ssl/httpd.scr [email protected]:/

CA服务器签署正式,并将证书颁发给请求者

[[email protected]_1 /]# openssl ca -in /httpd.scr  -out httpd.crt -days 3650
Using configuration from/etc/pki/tls/openssl.cnf
Check that the requestmatches the signature
Signature ok
Certificate Details:
        Serial Number: 2 (0x2)
        Validity
            Not Before: Dec  1 04:40:07 2016 GMT
            Not After : Nov 29 04:40:07 2026GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = beijing
            organizationName          = linuxinfo
            organizationalUnitName    = IT
            commonName                = linuxinfo.com
            emailAddress              = [email protected]
        X509v3 extensions:
            X509v3 Basic Constraints: 
               CA:TRUE
           Netscape Comment: 
               OpenSSL Generated Certificate
           X509v3 Subject Key Identifier: 
               02:7C:2E:19:F6:03:D2:CD:3D:F3:A6:A8:25:21:DB:80:2C:8C:5E:AC
           X509v3 Authority Key Identifier: 
               keyid:A4:AD:22:00:6C:19:8D:AC:29:A6:E4:E4:13:01:B4:00:C9:C2:1A:15
 
Certificate is to be certified until Nov 2904:40:07 2026 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified,commit? [y/n]y
Write out database with 1 new entries
Data Base Updated


将颁发的证书发送给web服务器。

这里就不介绍怎么应用到web服务器了,下面的在写web应用时候一块写到博客了。

openssl  命令详解 http://man.linuxde.net/openssl


本文出自 “秋季” 博客,请务必保留此出处http://lxlxlx.blog.51cto.com/3363989/1879191

ca认证授权服务器部署

...颁发、验证、撤销等管理国内常见的CA机构- 中国金融认证中心(CFCA)- 中国电信安全认证中心(CTCA)- 北京数字证书中心(BJCA)PKI公钥基础设施- PKI是一套标准的密钥管理平台;- 通过公钥加密、数字证书技术... 查看详情

ca认证授权服务器部署

...颁发、验证、撤销等管理国内常见的CA机构- 中国金融认证中心(CFCA)- 中国电信安全认证中心(CTCA)- 北京数字证书中心(BJCA)PKI公钥基础设施- PKI是一套标准的密钥管理平台;- 通过公钥加密、数字证书技术... 查看详情

ca认证和颁发吊销证书

...年都要花费一笔money来买CA证书。但其实简单的企业内的CA认证,我们自己就可以实现,今天小编我就讲解一下怎么在企业局部实现CA认证。一、CA介绍1、电子商务认证授权机构(CA,CertificateAuthority),也称为电子商务认证中心,... 查看详情

linuxca认证-httpssl实现

CA概述:CertificateAuthority的缩写,通常翻译成认证权威或者认证中心,主要用途是为用户发放数字证书。CA认证的流程和公安局派出所颁发身份证的流程大致一致认证中心(CA)的功能有:证书发放、证书更... 查看详情

搭建dockerregistry(htpasswd认证)

1,拉取dockerregistry镜像dockerpullregistry 2,创建证书存放目录mkdir-p/home/registry 3,生成CA证书Edityour/etc/ssl/openssl.cnfonthelogstashhost-addsubjectAltName=IP:10.1.10.1in[v3_ca]section.一般情况下,证书只支持域名访问,要使 查看详情

安全-攻防-学习!

PKI1.基于公钥的安全服务基础设施CA中心的搭建PKI:PublicKeyInfrastructure 提供公钥加密和数字签名服务的系统或平台,目的是为了密钥和证书。PKI主要包括四个部分:X.509格式的证书(X.509V3)和证书废止列表CRL(X.509V2);CA操作协议... 查看详情

ghgl项目总结-ca

当初项目中用到CA云签章、CA个人签章、CA认证登录等功能,感觉很新鲜,于是申请开发的这块。合作的CA公司是北京数字认证股份有限公司,此公司提供项目有关CA的所有功能实现。电子商务认证授权机构(CA,Certif... 查看详情

基于springsecurityoauth2搭建的springcloud认证中心

 Github传送门:https://github.com/13babybear/bounter-oauth2实现功能有:整合JWT刷新Token自定义客户端储存自定义用户储存资源服务器JWT本地鉴权密码Bcrypt加密 支持的授权模式:客户端用户名密码授权码 查看详情

oauth2.0实现分布式认证授权-注册中心eureaka搭建(代码片段)

...将token解析后传给微服务,微服务进行授权。二工程搭建2.1工程结构2.2配置pom<?xmlversion="1.0"encodi 查看详情

ca数字证书是啥?

...立安全可靠的信任关系,这种信任关系的建立则源于PKI/CA认证中心,构建安全的PKI/CA认证中心是至关重要的。CA[1]拥有一个证书(内含公钥)和私钥。网上的公众使用者通过验证CA[1]的签字从而信任CA[1],任何人都可以得到CA的证... 查看详情

如何申请https证书,搭建https网站

ssl证书申请的3个主要步骤1、制作CSR文件所谓CSR就是由申请人制作的CertificateSecureRequest证书请求文件。制作过程中,系统会产生2个密钥,一个是公钥就是这个CSR文件,另外一个是私钥,存放在服务器上。要制作CSR文件,申请人可... 查看详情

ca服务器的搭建和申请证书(代码片段)

目的:搭建一个CA服务器并给客户机授权认证准备:??1.一台linux操作系统(以centos7虚拟机为例)??2.准备一台客户机(centos6虚拟机)先上一张思维导图吧。步骤一.CA服务器创建。??1.CA服务器我们用centos7来建立,先申请该服务器的私... 查看详情

使用openssl实现ca证书的搭建过程

什么是CACA,CatificateAuthority,通俗的理解就是一种认证机制。它的作用就是提供证书(也就是服务端证书,由域名,公司信息,序列号,签名信息等等组成)来加强客户端与服务器端访问信息的安全性,同时提供证书的发放等相关... 查看详情

linux加密安全和私有ca的搭建方法(代码片段)

常用安全技术3A:认证:身份确认授权:权限分配审计:监控做了什么安全通信加密算法和协议对称加密:非对称加密单向加密:哈希(hash)加密认证协议对称加密:加密和解密使用的是同一个密钥... 查看详情

数字证书

CA:CA是一个认证机构,主要的功能就是签发证书 CA证书的作用:当一个用户在认证中心中申请了自己的证书后,便可以利用这张证书实现数字签名和SSL加密,达到身份认证、数据加密的目的 一张数字证书中包含的信息:... 查看详情

openssl生成证书流程(代码片段)

...一台上测试。一.介绍CA是CertificateAuthority的缩写,也就是认证中心。CA的功能有:颁发证书,更新证书,撤销证书和验证证书,相当于公安局的户籍部门。CA证书的作用是作身份认证。数字证书认证过程:×××办理过程:带上户口... 查看详情

搭建安全的web服务器

三台Linux服务器:web服务器:192.168.1.10CA服务器: 192.168.1.20客户机web网站把公钥发给CA认证服务器,CA用私钥给web公钥签名。然后把签名完的公钥在发给web服务器一般 .Key结尾的是私钥   .Csr结尾的是公钥  &... 查看详情

搭建安全的web服务器

三台Linux服务器:web服务器:192.168.1.10CA服务器:192.168.1.20 客户机web网站把公钥发给CA认证服务器,CA用私钥给web公钥签名。然后把签名完的公钥再发给web服务器一般 .Key结尾的是私钥   .Csr结尾的是公钥  ... 查看详情