目录

  • 前言
  • 配置CA
    • 安装openssl
    • 修改 openssl 配置文件
    • 创建所需要的文件
    • 创建CA KEY
    • 创建CA 证书
  • 创建证书
    • 生成密钥
    • 生成签名请求文件
  • 签名证书请求文件
  • 自签名证书
    • 创建 KEY
    • 生成自签名证书
  • 错误
    • openssl TXT_DB error number 2 failed to update database

前言

配置CA

安装openssl

shell> yum list installed | grep openssl
shell> yum install -y openssl

修改 openssl 配置文件

shell> vim /etc/pki/tls/openssl.cnf

policy = policy_match 改为 policy = policy_anything

创建所需要的文件

生成证书索引数据库文件 (默认为空文件)

shell> touch /etc/pki/CA/index.txt

指定第一个颁发证书的序列号

shell> echo 01 > /etc/pki/CA/serial

创建CA KEY

shell> cd /etc/pki/CA/
shell> openssl genrsa -out private/cakey.pem 2048
shell> chmod 400 private/cakey.pem

创建CA 证书

shell> cd /etc/pki/CA/
shell> openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
  • -new: 生成新证书签署请求
  • -x509: 专用于CA生成自签证书
  • -key </path/file>: 指向私钥文件
  • -days <n>:证书的有效期限
  • -out </path/file>: 证书的保存路径

创建证书

生成密钥

shell> openssl genrsa -out com.mydomain.key 2048

生成签名请求文件

shell> openssl req -new -key com.mydomain.key -out com.mydomain.csr

签名证书请求文件

shell> cd /etc/httpd/cert.d/
shell> openssl ca -in com.mydomain.csr -out com.mydomain.crt -days 360
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:Serial Number: 2 (0x2)ValidityNot Before: Sep  4 12:28:26 2022 GMTNot After : Aug 30 12:28:26 2023 GMTSubject:countryName               = CNstateOrProvinceName       = BEIJINGlocalityName              = BEIJINGorganizationName          = COMPANYorganizationalUnitName    = SECTIONcommonName                = mydomain.comemailAddress              = admin@mydomain.comX509v3 extensions:X509v3 Basic Constraints: CA:FALSENetscape Comment: OpenSSL Generated CertificateX509v3 Subject Key Identifier: 41:E1:70:F4:38:7E:88:92:E2:6D:8C:6B:45:FC:B9:26:DF:D9:1C:5BX509v3 Authority Key Identifier: keyid:B6:12:B9:F5:91:13:D1:F7:90:09:0F:5A:49:2C:9E:5B:D1:0B:B9:DCCertificate is to be certified until Aug 30 12:28:26 2023 GMT (360 days)
Sign the certificate? [y/n]:y1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
  • -cert : 指向CA证书。不指定该参数时,默认指向/etc/pki/CA/cacert.pem
  • -keyfile : 指向CA KEY。不指定该参数时,默认指向/etc/pki/CA/private/cakey.pem

自签名证书

创建 KEY

shell> openssl genrsa -out com.mydomain.key 2048

生成自签名证书

shell> openssl req -new -x509 -key com.mydomain.key -out com.mydomain.crt -days 365
  • -x509: 用于生成自签证书

错误

openssl TXT_DB error number 2 failed to update database

这种情况一般发生在你之前生成过一样的证书,又想重新生成一模一样的证书。

解决方法有2种:

  • 解决方法1:修改/etc/pki/CA/index.txt.attr,将 unique_subject = yes改为 unique_subject = no。一旦修改,无法再修改回来。
  • 解决方法2:删除/etc/pki/CA/index.txt/etc/pki/CA/serial及相关文件,并重新创建/etc/pki/CA/index.txt/etc/pki/CA/serial

Linux openssl 搭建CA、签名证书相关推荐

  1. 基于 OpenSSL 生成自签名证书,数字签名,泛域名证书,ca证书,PKI等

    基于 OpenSSL 生成自签名证书_qhh0205-CSDN博客_openssl自签名证书 windows 下 nginx 双向认证自签名证书配置 windows 下 nginx 双向认证自签名证书 ...

  2. linux下搭建CA认证

    我们知道,当客户端与服务器端建立会话之前,首先是客户端发送请求,只有通过TPC/IP三次握手后,客户端与服务器端才能建立ssl会话.握手的过程简单的说也可以总结为三个步骤,第一步:客户端和服务器双方共 ...

  3. 【自签名证书私有CA签名证书】

    一.自签名证书 创建私钥 openssl genrsa -out ssl.key 1024 创建证书签名请求(根据私钥生成证书签名请求 一般是生成请求以后发送给CA,然后CA会给你签名并发回证书) o ...

  4. Openssl生成自签名证书并导入浏览器脚本

    Openssl生成自签名证书并导入浏览器 使用说明 1. 准备工作 2. 脚本 3. 导入浏览器 4. 使用证书 使用说明 环境:Centos 7 运行脚本后可以生成根证书.自签名证书(可以指定域名或 ...

  5. 【实战-Linux】--搭建CA认证中心实现https取证

    环境 CA认证中心服务端:xuegod63.cn IP:192.168.1.63           客户端:xuegod64.cn IP:192.168.1.64 CA认证中心简述  CA :Cer ...

  6. asn1 pem pfx格式证书_Linux使用openssl管理自签名证书保障网络安全

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要介绍如何在Linux系统上使用OpenSSL命 ...

  7. Ubuntu18.04 使用 openssl制作自签名证书

    执行"openssl verison",判断系统是否已安装openssl,若没有安装,请使用apt安装openssl. 一.图解自签名过程 二.关于 CRT PEM KEY CST ...

  8. 使用OpenSSL生成自签名证书和格式转换

    OpenSSL安装:https://blog.csdn.net/qq_44734154/article/details/125995475 一.生成证书私钥 genrsa 介绍:https://www ...

  9. openssl生成自签名证书

    2019独角兽企业重金招聘Python工程师标准>>> 生成CA证书,自己做CA openssl req -new -x509 -keyout ca.key -out ca.crt ...

最新文章

  1. php发送指令,PHP发送AT指令实例代码
  2. 张槎地铁站定位综合枢纽 与多条重要轨道交汇
  3. elasticjob2.x 获取上次执行时间_深圳会务公司-会议活动策划与执行注意事项
  4. 微软云服务再添新产品,这次来自两位华裔女科学家创办的AI公司
  5. 合成孔径成像算法与实现_浅析太赫兹成像技术在消防领域中的应用前景
  6. kindle 3快捷键
  7. Cosmos OpenSSD--greedy_ftl1.2.0(一)
  8. Java架构师在线视频,架构师的7大必备技能
  9. SAP CRM系统到底有多少种订单类型
  10. springboot 以jar方式在linux后台运行
  11. require('module') 是什么?
  12. JPA映射组合主键时错误:No default constructor for entity
  13. member.php?mod=register文件在哪里,DEDECMS修改member会员中心文件夹名称 更改member目录名称...
  14. iTunes Connect(一) —— iOS应用上架到AppStore
  15. bzoj 2131: 免费的馅饼(树状数组+DP)
  16. spring揭秘总结(一)——spring的Ioc容器
  17. 如何下载有效的Flash离线安装包
  18. 关于 jspx 文件的一些说明
  19. IPQ5018测试问题之Connect to QPST server
  20. .net 导出excel_使用 EasyPOI 优雅导出Excel模板数据(含图片)

热门文章

  1. 用Enterprise Architect从Java源码生成类图
  2. 双目立体视觉中的坐标系与转换关系 [留意~摄影测量学与计算机视觉学科中的差异]
  3. SVN为不同用户分配不同的目录权限
  4. ppt转换器免费下载在哪儿
  5. 格式塔理论/Gestalt theory
  6. echarts简单日历
  7. 工程制图计算机考试题库,2017年CAD期末考试复习题库「附答案」
  8. [机缘参悟-30]:鬼谷子-内揵篇-同理心,站在对方的立场,拉近与对方的心理距离
  9. OpenCV二值化后 按面积选区域 填充孔洞 排序
  10. opencv自适应二值化原理