Linux下如何颁发证书:学习使用OpenSSL搭建一个C

学习了OpenSSL在Linux中的使用,OpenSSL是一款开源的加密工具,在Linux环境下,我们能够利用它来搭建一个CA来实现证书的发放,可以用于企业内部使用的加密工具。在介绍OpenSSL之前,首先描述一下关于“身份认证+数据加密”的实现方法原理。


如何实现“身份验证+数据加密”,请看下面的一张流程图(自己画得,比较简陋)

Linux下如何颁发证书:学习使用OpenSSL搭建一个C

整个加密过程:

发送方: 计算数据特征值----> 使用私钥加密特征值 ---> 随机生成密码对称加密整个数据 ---> 使用接受方公钥加密密码
接收方: 使用私钥解密密码 ----> 解密整个数据 ----> 使用公钥验证身份 ----> 比较数据特征值

但是存在一个问题,谁来管理公钥,任何在互联网上传播的数据都不安全,更不用说传递公钥,它如果被篡改,那就无法验证身份,所以不可能由用户自己颁发公钥。

这个时候需要有一个具有公信力的中间机构来做这份工作,那就是CA,由此引发了两个概念:

CA : 证书颁发机构

PKI : 公钥基础设施,公钥基础构架

证书: 里面存放了用户的各种信息,最核心的部分就是公钥

但是还有一个问题,谁来给CA颁发公钥,解决方法是,CA自己给自己颁发公钥。。。


下面是用OpenSSL这个强大的工具,在Linux下构建一个CA,来实现证书管理,我们用一个web服务器端作为需要证书的客户端

1.首先我们来给CA生成一个私钥

切换到/etc/pki/CA/目录,使用openssl命令给自己生成一个私钥

[root@ openssl]# cd /etc/pki/CA/   [root@ CA]# ls   private   [root@ CA]# (umak 66;openssl genrsa 2046 > private/cakey.pem)   -bash: umak: command not found   Generating RSA private key, 2046 bit long modulus   .............................+++   ..+++   e is 65537 (0x10001)  

2. CA需要一个自签证书,所以我们给它使用openssl命令生成一个自签证书

[root@ CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem   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) [GB]:CN                                                           # 输入你的各项信息,国家 , 省或州,地区,公司,单位,域名,邮箱地址   State or Province Name (full name) [Berkshire]:Henan      Locality Name (eg, city) [Newbury]:Zhengzhou   Organization Name (eg, company) [My Company Ltd]:LINUX   Organizational Unit Name (eg, section) []:Tech   Common Name (eg, your name or your server's hostname) []:   #需要注意的是,这个域名是FQDN(完全限定域名)   Email Address []:ca@rhce.com   [root@ CA]# ls   cacert.pem  private  

3.编辑CA配置文件,它位于etc/pki/tls/openssl.cnf,它的作用是指定你的CA所在目录,更改默认属性值

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://127.0.0.1/wyyffw.html