使用OpenSSL创建CA和申请证书
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,OpenSSL简介OpenSSL是一种加密工具套件,可实现安全套接字层(SSL v2 / v3)和传输层安全性(TLS v1)网络协议以及它们所需的相关加密标准。openssl命令行工具用于从shel
千家信息网最后更新 2026年11月01日使用OpenSSL创建CA和申请证书
OpenSSL简介
OpenSSL是一种加密工具套件,可实现安全套接字层(SSL v2 / v3)和传输层安全性(TLS v1)网络协议以及它们所需的相关加密标准。
openssl命令行工具用于从shell程序使用OpenSSL加密库的各种加密功能。 它可以用于:
- 创建和管理私钥,公钥和参数
- 公钥加密操作
- 创建X.509证书,CSR和CRL
- 消息摘要的计算
- 使用密码进行加密和解密
- SSL / TLS客户端和服务器测试
- 处理S / MIME签名或加密的邮件
- 时间戳记请求,生成和验证
openssl配置文件及三种策略
配置文件/etc/pki/tls/openssl.cnf三种策略match(匹配):要求申请填写的信息跟CA设置信息必须一致optional(可选):可有可无,跟CA设置信息可不一致supplied(提供):必须填写这项申请信息创建私有CA和申请、颁发证书文件(以下操作都是在一台机器上执行)
1.创建所需要的文件
[root@CentOS7 ~]# cd /etc/pki/CA/[root@CentOS7 CA]# touch index.txt 生成证书索引数据库文件[root@CentOS7 CA]# echo 01 > serial 指定第一个颁发证书的序列号2.CA自签证书
2.1生成私钥
[root@CentOS7 CA]# (umask 066;openssl genrsa -out private/cakey.pem 2048)Generating RSA private key, 2048 bit long modulus...................................................................................+++.+++e is 65537 (0x10001)2.2生成自签名证书
[root@CentOS7 CA]# openssl req -new -x509 -key private/cakey.pem -days 3650 -out cacert.pemYou are about to be asked to enter information that will be incorporatedinto 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 blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [XX]:CNState or Province Name (full name) []:beijingLocality Name (eg, city) [Default City]:beijingOrganization Name (eg, company) [Default Company Ltd]:abcOrganizational Unit Name (eg, section) []:IT Common Name (eg, your name or your server's hostname) []:hechunpingEmail Address []:root@abc.com选项说明:-new:生成新证书签署请求-x509:专用于CA生成自签证书-key:生成请求时用到的私钥文件-days n:证书的有效期限-out /PATH/TO/SOMECERTFILE: 证书的保存路径3.颁发证书
3.1在需要使用证书的主机生成证书请求(本实验是在本机)
3.1.1生成私钥
[root@CentOS7 CA]# (umask 066;openssl genrsa -out /data/test.key 2048)Generating RSA private key, 2048 bit long modulus..................................................+++...............................+++e is 65537 (0x10001)3.1.2生成证书申请文件
[root@CentOS7 CA]# openssl req -new -key /data/test.key -out /data/test.csrYou are about to be asked to enter information that will be incorporatedinto 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 blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [XX]:CNState or Province Name (full name) []:beijingLocality Name (eg, city) [Default City]:beijingOrganization Name (eg, company) [Default Company Ltd]:abcOrganizational Unit Name (eg, section) []:ITCommon Name (eg, your name or your server's hostname) []:hechunpingEmail Address []:root@abc.comPlease enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:An optional company name []:3.2将证书申请文件传输给CA(两台不同的主机可以使用scp命令传输)
3.3CA签署证书,并将证书颁发给请求者
[root@CentOS7 CA]# openssl ca -in /data/test.csr -out certs/test.crt -days 100Using configuration from /etc/pki/tls/openssl.cnfCheck that the request matches the signatureSignature okCertificate Details: Serial Number: 1 (0x1) Validity Not Before: Nov 10 13:45:34 2019 GMT Not After : Feb 18 13:45:34 2020 GMT Subject: countryName = CN stateOrProvinceName = beijing organizationName = abc organizationalUnitName = IT commonName = hechunping emailAddress = root@abc.com X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: 4C:AE:F0:13:F0:CD:8F:B5:F7:3F:1B:C8:E4:77:91:02:9E:88:6B:5A X509v3 Authority Key Identifier: keyid:E3:C1:5E:6D:94:5E:F2:AE:16:67:79:2C:69:B5:B9:10:D9:E0:51:BECertificate is to be certified until Feb 18 13:45:34 2020 GMT (100 days)Sign the certificate? [y/n]:y1 out of 1 certificate requests certified, commit? [y/n]yWrite out database with 1 new entriesData Base Updated注意:默认要求 countryName(国家),stateOrProvinceName(省),organizationName(公司)三项必须和CA一致3.4查看证书中的信息
[root@CentOS7 CA]# openssl x509 -in certs/test.crt -noout -text|issuer|subject|serial|dates3.5查看指定编号的证书状态
[root@CentOS7 CA]# openssl ca -status 01Using configuration from /etc/pki/tls/openssl.cnf01=Valid (V)4.吊销证书
4.1在客户端获取要吊销的证书的serial
[root@CentOS7 CA]# openssl x509 -in certs/test.crt -noout -serial -subjectserial=01subject= /C=CN/ST=beijing/O=abc/OU=IT/CN=hechunping/emailAddress=root@abc.com4.2在CA上,根据客户提交的serial与subject信息,对比检验是否与index.txt文件中的信息一致
[root@CentOS7 CA]# cat index.txtV 200218134534Z 01 unknown /C=CN/ST=beijing/O=abc/OU=IT/CN=hechunping/emailAddress=root@abc.com4.2.1吊销证书
[root@CentOS7 CA]# openssl ca -revoke newcerts/01.pem Using configuration from /etc/pki/tls/openssl.cnfRevoking Certificate 01.Data Base Updated4.2指定第一个吊销证书的编号,注意:第一次更新证书吊销列表前才需要执行。
[root@CentOS7 CA]# echo 01 > crlnumber4.3更新证书吊销列表
[root@CentOS7 CA]# openssl ca -gencrl -out crl.pemUsing configuration from /etc/pki/tls/openssl.cnf4.4查看crl文件
[root@CentOS7 CA]# openssl crl -in crl.pem -noout -text将申请下来的证书导出到windows中查看
1.在windows上按"win+R"键,然后运行"certmgr.msc"命令。
2.找到"受信任的根证书颁发机构"右键单击"所有任务"--->"导入",然后按照向导选择在Linux申请下来的证书。
3.查看证书信息
证书
文件
生成
信息
加密
一致
命令
客户
传输
安全
主机
公钥
客户端
工具
是在
策略
签证
更新
配置
不同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网黑科技
广州为想互联网科技有限公司
湖南永感互联网科技有限公司
互联网科技革命
未来的互联网科技
电子科技大学互联网
华脉科技工业互联网产品
互联网 科技馆
玖二柒互联网科技公司待遇
常德市电业局互联网科技部
互联网企业和科技型企业
世界互联网科技公司市值排名
互联网媒体平台算高科技产业
互联网科技圈年度人物
抖集互联网科技技术咨询
版纳互联网科技选哪家
互联网的科技体现在哪里
黑龙江互联网科技公司
重庆科技产业互联网有哪些
互联网科技企业文化
上海喔噻互联网科技有限公司
互联网科技公司排名
金融科技创新监管互联网金融
互联网 科技公司
互联网 科技创业
奇酷互联网科技
互联网未来科技
阿里巴巴算科技企业还是互联网
黑龙江互联网科技公司
互联网的黑科技实验室