关键词:
前言
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结尾的是公钥  ... 查看详情