安全认证系列之-(三)成为数字认证机构CA

数字证书认证机构(英语:Certificate Authority,缩写为 CA),也称为电子商务认证中心、电子商务认证授权机构,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。

数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。CA 机构的数字签名使得攻击者不能伪造和篡改证书。它负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。

想要从商业 CA 获取数字证书需要向其支付一定的金钱,不过我们不用那么破费,可以自己成为 root CA,为自己发布证书。

我们将成为 root CA,并为该 CA 生成证书。不像其他 CA 需要被另外的 CA 认证, root CA 的证书是自己为自己认证的,一般 Root CA 的证书都已事先加载在大多数操作系统,浏览器或者依赖 PKI 的软件之中了。Root CA 的证书是被无条件信任的。

我们先找到openssl.cnf文件,拷贝一份到我们自己的目录文件,版本以及查找文件路径命令如下:

[root@instance-n4r06itt lib]# openssl version -a
OpenSSL 1.0.2k-fips  26 Jan 2017
built on: reproducible build, date unspecified
platform: linux-x86_64
options:  bn(64,64) md2(int) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx) 
compiler: gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
OPENSSLDIR: "/etc/pki/tls"
engines:  rdrand dynamic 
[root@instance-n4r06itt lib]# cd /etc/pki/tls
[root@instance-n4r06itt tls]# ll
total 24
lrwxrwxrwx. 1 root root    49 May 30  2018 cert.pem -> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
drwxr-xr-x. 2 root root  4096 Nov  5 10:59 certs
drwxr-xr-x. 2 root root  4096 Nov  5 10:59 misc
-rw-r--r--. 1 root root 10923 Aug  6 21:44 openssl.cnf
drwxr-xr-x. 2 root root  4096 Aug  9 09:37 private
[root@instance-n4r06itt tls]# cp -a openssl.cnf /usr/src/

在这里插入图片描述
需要的文件夹和文件配置在 openssl.cnf 中都能找到:

在这里插入图片描述在工作目录下我们需要创建如下这些文件夹和文件,这里给出文件目录树:

.
|-- demoCA
|   |-- certs
|   |-- crl
|   |-- index.txt
|   |-- newcerts
|   `-- serial
`-- openssl.cnf

index.txt 只要创建空文件就行,至于 serial 文件,内容必须是字符串格式的数字(比如 1000)

mkdir demoCA                                                                                 
cd demoCA                                              
mkdir certs crl newcerts                                                                     
touch index.txt                                                           
echo '1000' > serial                                                       
cd ..                 

在这里插入图片描述
一旦你设置好 openssl.cnf 就可以创建和发布证书了。

数字证书认证机构(CA)

我们需要为自己的 CA 生成自签名证书。这意味着该机构是被信任的,而它的证书会作为 root 证书。你可以运行以下命令为 CA 生成自签名证书:

openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf

在这里插入图片描述它要求你提供信息和密码,可千万别忘记密码了(我这里输入的密码是 123456),因为每次为别人签证书的时候你都需要用到密码。信息包括城市名,通用名等等。命令的输出存储在两个文件中:ca.key 与 ca.crt 中。文件 ca.key 包括 CA 的私钥,而 ca.crt 包含了公钥证书。

至此,我们是 root CA 了。

发布了215 篇原创文章 · 获赞 135 · 访问量 114万+

猜你喜欢

转载自blog.csdn.net/weinichendian/article/details/103722059