使用OpenSSL创建CA和申请证书
发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,OpenSSL简介OpenSSL是一种加密工具套件,可实现安全套接字层(SSL v2 / v3)和传输层安全性(TLS v1)网络协议以及它们所需的相关加密标准。openssl命令行工具用于从shel
千家信息网最后更新 2024年11月23日使用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|dates
3.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.com
4.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.com
4.2.1吊销证书
[root@CentOS7 CA]# openssl ca -revoke newcerts/01.pem Using configuration from /etc/pki/tls/openssl.cnfRevoking Certificate 01.Data Base Updated
4.2指定第一个吊销证书的编号,注意:第一次更新证书吊销列表前才需要执行。
[root@CentOS7 CA]# echo 01 > crlnumber
4.3更新证书吊销列表
[root@CentOS7 CA]# openssl ca -gencrl -out crl.pemUsing configuration from /etc/pki/tls/openssl.cnf
4.4查看crl文件
[root@CentOS7 CA]# openssl crl -in crl.pem -noout -text
将申请下来的证书导出到windows中查看
1.在windows上按"win+R"键,然后运行"certmgr.msc"命令。
2.找到"受信任的根证书颁发机构"右键单击"所有任务"--->"导入",然后按照向导选择在Linux申请下来的证书。
3.查看证书信息
证书
文件
生成
信息
加密
一致
命令
客户
传输
安全
主机
公钥
客户端
工具
是在
策略
签证
更新
配置
不同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手机有网络但是没有服务器
计算机网络技术大赛项目
网络技术股份有限公司章程
在数据库中查找
飞鸟族互联网科技
医院网络安全意识与使用习惯
服务器是怎样控制的
安徽综合软件开发预算
数据库技术在经济方面的应用
qq数据库找回十年前的照片
熊猫烧香用什么软件开发的
数据库导入表时文字格式
软件开发的财务风险及应对措施
网络安全共建共享体系
网络安全法需要单位做什么
九阴真经冰火岛服务器
it软件开发年终总结报告
中维安全管家服务器超时
开线软件开发
领导软件开发团队
飞鸟族互联网科技
网络安全模型规定的四项基本原则
配资软件开发源码大全
杨浦区网络技术开发机构整顿
美的软件开发校招待遇
学习电脑软件开发需要多久
软件开发招聘最新信息
dlna媒体服务器
公司服务器管理文件
ts250服务器什么时候上市的