为公司内部搭建CA

简介: 步骤一 首先我们要知道CA的配置文件 openssl的配置文件:/etc/pki/tls/openssl.cnf 我们打开这个配置文件 这文件中很多跟CA相关的信息如图 解释: 我们可以搭建好几个CA,那么谁是默认的?图中① “=”号后面的信息就是默认的CA 图中②是默认CA...

 步骤一

首先我们要知道CA的配置文件

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

我们打开这个配置文件

clipboard

这文件中很多跟CA相关的信息如图

clipboard

解释:

我们可以搭建好几个CA,那么谁是默认的?图中① “=”号后面的信息就是默认的CA

图中②是默认CA的信息

依次表示:

dir行:存放CA所有信息的目录,比如编号,证书等等

certs行:证书存放的位置

crl_dir行:证书吊销列表,存放吊销证书的位置

database行(数据库):存放证书信息,如10个人申请了证书,就存放10行信息

unique_subject=no行:指的的是是否允许对一个主题申请多个证书(这里注销掉了,也就是说默认不允许)

new_certs_dir行(新证书的文件夹):存放新证书的位置

certificate行(ca的证书文件名):自己的证书

serial行(序列号):证书的编号存放位置,写的是下一个证书的编号,如现在颁发了10个人那么这里写的是11

crlnumber行(吊销证书的编号):吊销证书编号存放位置

crl行:存放证书吊销列表文件的路径

private_key(私钥)行:CA的私钥公钥证书位置

RANDFILE行:随机文件

图二:

clipboard

上图信息说明:

policy 行:是策略,这个策略采用的是“=”号后面的policy_match

图中第二个方框是policy_mach策略的具体信息

(我们搭建CA要提供,必须信息,比如国家,省份,公司,部门等等,客户端申请证书也要提交这些信息,那有哪些要必须一致的呢?就要用match来定义)

上图有三项必须一致的

countryName:国家

stateOrProvinceName:省份

organizationName:公司名

为什么要必须一致呢?因为我们搭建的是私有CA,只有在公司内部使用

一、下面我们开始正式搭建CA

首先准备两台主机,客户端与CA服务器端

1、首先在CA端创建CA的私钥信息,进入CA文件夹cd /etc/pkiCA

安全生成私钥方法:

openssl genrsa -out private/cakey.pem -des3 2048
#这里私钥的位置与名字必须和上面的配置文件里面设置的一致,2048是加密位
#这是对私钥进行了des3加密,每次使用私钥都要输入口令,也可以用umask权限来设置

 

如图

clipboard[10]

clipboard[12]

  私钥以建立完成

2、实现自签名的证书

openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
#req是申请的意思
#-new是表示新建
#因为我们是自己给自己签名,所以加上一个 -x509,没有这个表示向别人申请证书
#-key私钥位置
#-out输出,我们证书存放位置在哪里?上面配置文件里面定义了,因为我现在在CA文件目录里,直接写,文件名就OK
#-days 3650是有效期,10年

如图:

clipboard[16]

这里我们前面设置了私钥密码,所有要输入口令,之后就是让你输入一些信息,就是上面的国家,省份,市区,公司,部门等等信息。

如图

clipboard[17]

可以查看CA信息文件

clipboard[26]

也可在win系统查看

clipboard[20]

clipboard[21]

3、让win系统信任此证书

控制面板--internet 选项--内容--证书--受信任的根证书颁发机构--导入

clipboard[22]

也可直接打开cacert.cer文件 单击 安装证书

到此根证书创建完毕,下面来创建客户端来向CA服务器端申请证书

二、客户端申请证书

假设有一个软件,这个软件是应用程序,给自己的软件使用证书,就要申请证书。

步骤和上面的大同小异

1、生成私钥,这回我们换另一种安全生成私钥的方式,首先我们要进入这个软件的文件夹,执行

(umask 066;openssl genrsa -out app.key 1024)
#()相当于子shell 当前umask默认值还是022没变
#app.key是生成的文件,入http要用就放在http专门的文件夹里面

clipboard[28]

2、利用私钥生成证书申请文件

openssl req -new  -key app.key -out app.csr

clipboard[30]

3、把申请的证书信息传到CA服务器

clipboard[34]

#这个/etc/...目录是可以换的

4、CA服务器给客户端颁发证书

给客户端颁发证书要有下面这两个文件夹

clipboard[40]

clipboard[36]

clipboard[37]

5、执行命令

ca -in app.csr -out app.cer -days 100

6、把证书传给客户端 放在必要的目录下,在win系统上查看下

OK结束

欢迎补充 Be right back

目录
相关文章
|
项目管理
深入解析PMP项目内部运营环境
在项目管理领域,PMP认证是一项备受尊敬的资格,它强调了对项目内部运营环境的深刻理解。PMP专业人士不仅需要了解项目管理的基本原则,还需要熟悉项目内部运营环境的方方面面。本文将深入探讨PMP项目内部运营环境的重要性以及如何有效管理这一环境。
|
4月前
|
存储 数据可视化 测试技术
如何建立一个团队内部的在线知识协作环境?
在数字化时代,高效的团队协作至关重要。本文探讨了如何建立团队内部的在线知识协作环境,强调了明确目标、选择合适工具(如板栗看板)、搭建沟通机制、制定规范流程及持续评估改进的重要性,旨在提升团队整体工作效能。
如何建立一个团队内部的在线知识协作环境?
|
存储 算法 安全
保障文档安全:解析DES算法在公司文档管理软件中的作用
DES算法是一种对称加密算法,可以用于保护敏感数据的安全性。在公司文档管理软件中,DES算法可以用于加密和解密员工的电脑活动数据,以保护这些数据不被未经授权的人员访问。
355 0
|
存储 网络协议 前端开发
红帽的ipa-server:区块链中端开源测试基础设施
红帽的ipa-server:区块链中端开源测试基础设施
|
SQL JavaScript 前端开发
|
数据安全/隐私保护 Windows 网络安全
|
网络协议 数据安全/隐私保护 Windows