Linux 部署CA数字证书服务-阿里云开发者社区

开发者社区> 余二五> 正文

Linux 部署CA数字证书服务

简介:
+关注继续查看

CA数字证书服务

CA Certificate Authority 数字证书授权中心

被通信双方信任的,独立的第三方机构

负责证书颁发,验证,撤销等管理

PKI公钥基础设施

一套标准的密钥管理平台

通过公钥加密,数字证书技术确保信息安全

PKI体系的基础组成

权威认证机构(CA)

数字证书库,密钥备份及恢复系统

证书作废系统,应用接口


OpenSSL加密/解密工具

对称加密:

— enc 算法 -e -in 输入文件 -out 输出文件 #加密

— enc 算法 -d -in 输入文件 -out 输出文件 #解密

[root@localhost ~]# which openssl

/usr/bin/openssl

[root@localhost ~]# rpm -qf /usr/bin/openssl

openssl-1.0.1e-42.el7_1.9.x86_64

[root@localhost ~]# vim f1.txt

[root@localhost ~]# openssl enc -des3 -e -in f1.txt -out f1.txt.enc

enter des-ede3-cbc encryption password:

Verifying - enter des-ede3-cbc encryption password:

[root@localhost ~]# ls f1*

f1.txt  f1.txt.enc

[root@localhost ~]# rm -rf f1.txt

[root@localhost ~]# openssl enc -des3 -d -in f1.txt.enc  -out f1.txt

enter des-ede3-cbc decryption password:

[root@localhost ~]# ls f1*

f1.txt  f1.txt.enc


部署CA服务器

第一步:配置CA签署环境

[root@CA ~]# ls /etc/pki/CA/ #工作目录

certs  crl  newcerts  private

[root@CA ~]# ls /etc/pki/CA/certs/ #存储签发的数字证书

[root@CA ~]# touch /etc/pki/CA/index.txt #存储发放出去的数字证书信息

[root@CA ~]# chmod 600 /etc/pki/CA/index.txt

[root@CA ~]# touch /etc/pki/CA/serial #证书编号文件

[root@CA ~]# chmod 600 /etc/pki/CA/serial

[root@CA CA]# echo 01 > serial 

[root@CA CA]# cat serial 

01


[root@CA ~]# vim /etc/pki/tls/openssl.cnf  #调整配置

 42 dir             = /etc/pki/CA   #CA签署工作目录

 43 certs           = $dir/certs    #用户证书存放路径

 44 crl_dir         = $dir/crl 

 45 database        = $dir/index.txt #存储发放出去的数字证书信息

 

 50 certificate     = $dir/my-ca.crt   #CA根证书文件名 

 51 serial          = $dir/serial  #证书编号文件

 55 private_key     = $dir/private/my-ca.key  #CA私钥文件名


130 countryName_default             = CN

135 stateOrProvinceName_default     = beijing

138 localityName_default            = beijing

141 0.organizationName_default      = Xuenqlve

148 organizationalUnitName_default  = ope


 84 [ policy_match ] #匹配策略

 85 countryName             = match

 86 stateOrProvinceName     = match

 87 organizationName        = match

 88 organizationalUnitName  = optional

 89 commonName              = supplied

 90 emailAddress            = optional


match 必须匹配

optional 可选

supplied 忽略


第二步:为CA生成私钥

[root@CA ~]# cd /etc/pki/CA/private/

[root@CA private]# openssl genrsa -des3 2048 > my-ca.key

Generating RSA private key, 2048 bit long modulus

.....................................................................+++

..+++

e is 65537 (0x10001)

Enter pass phrase: #设私钥口令

Verifying - Enter pass phrase: #重复私钥口令

[root@CA private]# ls

my-ca.key

[root@CA private]# chmod 600 my-ca.key 


第三步:为CA服务器创建根证书

-new  新文件

-x509 证书的版式

./private/my-ca.key  私钥文件名

-day 365  有效日期

[root@CA private]# cd ..

[root@CA CA]# openssl req -new -x509 -key ./private/my-ca.key -days 365 > my-ca.crt 

Enter pass phrase for ./private/my-ca.key:

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or 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) [CN]:

State or Province Name (full name) [beijing]:

Locality Name (eg, city) [beijing]:

Organization Name (eg, company) [Xuenqlve]:

Organizational Unit Name (eg, section) [ope]:

Common Name (eg, your name or your server's hostname) []:Xuenqlve.ca.com

Email Address []:Xuenqlve@163.com




第四步:发布根证书

可以通过Web,FTP等方式进行发布

[root@CA ~]# yum -y install httpd

[root@CA ~]# systemctl stop firewalld

[root@CA ~]# setenforce 0

[root@CA ~]# systemctl restart httpd

[root@CA ~]# systemctl enable httpd.service 

[root@CA ~]# mkdir /var/www/html/ca

[root@CA ~]# cp /etc/pki/CA/my-ca.crt /var/www/html/ca/


客户端下载应用

[root@test ~]# wget http://192.168.4.2/ca/my-ca.crt

--2018-01-04 20:27:49--  http://192.168.4.2/ca/my-ca.crt

正在连接 192.168.4.2:80... 已连接。

已发出 HTTP 请求,正在等待回应... 200 OK

长度:1399 (1.4K)

正在保存至: “my-ca.crt”


100%[======================================>] 1,399       --.-K/s 用时 0s      


2018-01-04 20:27:49 (141 MB/s) - 已保存 “my-ca.crt” [1399/1399])


[root@test ~]# firefox 

进入火狐浏览器 点击浏览器右侧打开菜单--> 点击首选项

然后点击高级--->点击证书--->点击查看证书

CA1.jpg


点击证书机构--->点击导入

CA2.jpg


在计算机上找到刚刚下载的 my-ca.crt 证书 ---> 点击打开

CA3.jpg

勾选信任--->点击确定

CA4.jpg

然后就可以看见我们自己搭建的证书信息了

CA5.jpg










本文转自 Xuenqlve 51CTO博客,原文链接:http://blog.51cto.com/13558754/2057718,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云SSL证书服务实践
SSL证书服务入门实践,从购买证书、配置证书、应用证书、测试证书的方面进行演示。
3977 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4491 0
《jQuery EasyUI开发指南》——1.7 安装Tomcat服务器
Tomcat从诞生到现在已经推出了很多个版本。对于Web开发,并不需要很高的版本,因为Web服务器是非常需要稳定的。虽然最新版本支持很多新的特性,但同时也带来了更多的风险。与其选择最新的,不如选择最稳定的,而且这种稳定是经过长时间的实践证明的,实在没有必要冒险。
1536 0
+关注
12613
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载