首页 > 其他分享 >TLS证书生成-openssl基本命令

TLS证书生成-openssl基本命令

时间:2024-09-02 20:26:00浏览次数:15  
标签:TLS crt 证书 CA openssl server key

文章目录

CA证书

一、服务器证书

二、客户端证书

三、哈希散列证书存储

四、证书命令


CA证书

    CA证书是证书颁发机构(Certificate Authority)颁发的证书,用于在互联网通信中建立信任关系,是SSL/TLS协议实施中不可或缺的一部分,使得传输的数据加密并保证通信安全。

CA证书的颁发过程包括:

  1. 申请:个人或组织向CA提交证书申请。
  2. 验证:CA对申请者进行身份验证。
  3. 颁发:验证通过后,CA颁发数字证书。
  4. 吊销:如果证书需要被撤销,CA将其添加到CRL。

    知名的CA机构包括DigiCert、Sectigo(前身为Comodo)、Thawte、GeoTrust和Let’s Encrypt等。其中,Let’s Encrypt是一个提供域名验证SSL证书的开源CA,而其他机构则提供更广泛的证书服务,包括不同验证级别的证书。

    DigiCert root ca证书可以在DigiCert官网下载获取:

DigiCert Root Certificates - Download & Test | DigiCert.com

一、服务器证书

1. 生成服务器私钥
openssl genrsa -out server.key 2048
私钥加密
openssl rsa -in server.key -passout pass:password -out decry_server.key
2. 创建服务器证书签名请求csr
openssl req -new -key server.key -out server.csr
3. 使用ca证书和私钥签署服务器证书
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 365 -sha256

二、客户端证书

1. 生成客户端私钥
openssl genrsa -out client.key 2048
私钥加密
openssl rsa -in client.key -passout pass:password -out decry_client.key
2. 生成客户端证书签名请求csr
openssl req -new -key client.key -out client.csr
3. CA 证书签署客户端证书
openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 365 -sha256

三、哈希散列证书存储

    ca证书文件中存在较多证书时,内存占用较大;可以通过capath方式,按需装载校验对端所需的CA证书,指定证书路径,openssl就可以通过路径查找能够使用的证书。

    哈希链接的文件名通常是证书文件名的哈希值,链接指向实际的证书文件。当 OpenSSL 需要查找特定证书时,它可以通过哈希链接快速定位到证书文件,而不必遍历目录中的所有文件,使得 OpenSSL 能够更快地查找和验证证书。

1. 通过hash命令为证书目录下文件创建哈希链接
openssl rehash ./

四、其它命令

   

证书验证:
openssl verify -CAfile ca.crt server.crt
查看证书信息:
openssl x509 -in client.crt -text -noout
创建证书链:
cat serve.crt server_a.crt > chain.crt
生成随机数:
openssl rand -hex 16

标签:TLS,crt,证书,CA,openssl,server,key
From: https://blog.csdn.net/qq_42288975/article/details/141471249

相关文章

  • git-repo https证书认证问题
    目录问题描述解决步骤1.下载证书2.测试证书是否正常3.设置环境变量总结问题描述在使用gitrepo同步仓库时,发现不能同步,出现如下提示错误:%Total%Received%XferdAverageSpeedTimeTimeTimeCurrentDloadUploadTotalSpentLeftS......
  • 泛域名SSL证书申请,哪个品牌提供更优服务?
    SSL证书作为保护数据传输安全的重要工具,其重要性不言而喻。泛域名SSL证书,也称为通配符SSL证书,能够为一个主域名及其所有子域名提供安全保护,是许多企业和个人的理想选择。面对市场上众多的SSL证书品牌,选择一个合适的品牌显得尤为重要。本文将介绍几个备受推崇的泛域名SSL证书品牌,并......
  • Nginx多域名,多证书,多服务配置,实用版
    本文主要讲解在Nginx配置多个域名,多证书,多服务,核心是nginx配置文件。1.情景介绍现在有一个项目,有测试环境和正式环境,已经为两个环境各自申请到域名和ssl证书正式环境域名:xxx.com和www.xxx.com证书:xxx.com_bundle.pem和xxx.com.key测试环境域名:test-xxx.com和......
  • ESP32-C3在MQTT访问时出现“Last error code reported from esp-tls: 0x8001”和问题
    接前一篇文章:ESP32-C3在MQTT访问时出现“Lasterrorcodereportedfromesp-tls:0x8001”和问题的分析(2)上一回讲解了所遇问题log中的“esp-tls:couldn'tgethostnamefor:iot-emqx-pre.nanshe-tech.com:getaddrinfo()returns202,addrinfo=0x0”,再来回顾一下。这一......
  • 【网络基础知识】判断证书私钥格式
    原创小何运维笔记要判断证书私钥的格式,可以采取以下步骤:查看文件扩展名:文件扩展名可以提供一些线索:.pem:PEM格式,通常是Base64编码的,可以包含多种类型的密钥或证书。.key:通常是私钥文件,可能是PEM或其他格式。.der:DER格式,通常是二进制编码,不易用文本编辑器直接查看。.pfx......
  • Go基于crypto库实现AES封装加密以及协同PHP8 使用openssl AES加密使用
    前言要实现Go与PHP8之间的AES加密协同工作,我们需要确保两端使用相同的加密模式、密钥长度、以及密钥和初始化向量(IV)。下面,我将提供一个详细的教程,说明如何在Go中使用crypto/aes和crypto/cipher库来实现AES加密,并在PHP8中使用OpenSSL来解密这些数据(反之亦然)。Go基于基础......
  • 【学习笔记】SSL证书里包含的具体信息
    SSL证书的形式与内容由X.509证书标准所定义,包含3部分内容:证书数据、签名算法以及签名        当CA创建一份证书时,CA会将所有证书数据录入证书,然后通过哈希算法和CA自己的私钥加密过的摘要来生成一个签名,这个签名证明了证书数据里所有内容的有效性。        ......
  • 怎么入门网络安全,学这两类证书就够了NISP或CISP_cisp和nisp2级题库一样吗
    其实网络安全这个门槛,对于当代的年轻人来说,不高也不低。其中NISP证书分为一级、二级、三级(专项),证书由中国信息安全测评中心颁发,持NISP二级证书可与免考兑换CISP证书。因为CISP报考需要工作经验,NISP填补了在校大学生无法考取CISP证书的空白,被称为“校园版CISP”。看到上一......
  • 信安专业学生-必考认证证书
    市面上大部分国家认可的证书对工作年限都有要求唯一例外的是今天的主角-NISPNISP证书是什么?**国家信息安全水平考试(NISP)**,是由**中国信息安全测评中心**实施培养国家网络空间安全人才的项目。该项目主要面向**在校学生**,可与CISP无缝对接,填补了在校学生无法考取CI......
  • 网络安全含金量最高的4本证书:NISP、CISP、CISP-PTE、CISSP(必考证书)
    ......