关于 SSL/CA 证书及其相关证书文件(pem、crt、cer、key、csr)

这篇具有很好参考价值的文章主要介绍了关于 SSL/CA 证书及其相关证书文件(pem、crt、cer、key、csr)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.pre

       证书文件 cer csr crt,ssl,服务器,网络协议

        首先要明确一下几个概念,加密,数字签名,和数字证书。加密分为对称加密非对称加密。其中对称加密,双方使用同一个密钥进行加解密。存在的问题是在第一次与陌生人进行通信时,如何安全的传递密钥。而非对称密钥,双方使用不同的密钥进行加解密。通信时,使用公钥进行加密,而使用私钥进行解密。因为私钥是不传输的,所以就解决了密钥传输的安全问题。同时,公钥私钥可以进行身份认证,实现数字签名。具体如下

  • 对消息内容进行哈希计算,得到hashcode,利用私钥对hashcode进行加密
  • 可以标识身份,因为私钥唯一,公钥与私钥是一对,公钥能解密成功,证明消息的发送方一定是私钥的持有者
  • 可以校验消息的一致性,消息和数字签名一同发送给接收方,如果消息被篡改,hashcode和数字签名中保存的hashcode不一样,数字签名中的hashcode无法修改,否则解密不会成功

通过数字签名,能够让公钥的持有方确认数据的完整性和可靠性(确实从私钥持有方发送的)但在与陌生人第一次建立通信时,如何确认收到的公钥是对方发送的,而不是通信被截获之后伪造的。(比如:我想访问B网站,但是请求被截获,C网站伪造了一个公钥发给了我,然后我就用这个公钥加密我的隐私数据,发送给C网站,C网站就用它的私钥进行了解密获取个人信息)。此时我们就需要数字证书,来确认公钥的身份验证。因为数字证书的是由权威机构颁布的,这个证书中所包含的公钥是被认证过的公钥,我们只需要验证证书的真伪,而公钥的真伪则交给了CA担保。证书的真伪是通过CA证书的数字签名来确保的,用事先已经存储在客户端的CA公钥,进行CA的数字签名确认。

2.数字证书

CA(certification authority)颁发数字证书的权威机构,来创建CA证书,包含了以下信息:

1.证书所有者信息

主题(Subject):证书所有者的身份信息,可能包括个人、组织、设备或服务的名称,以及其他区分信息,如组织单位、地理位置等。

2.证书颁发机构信息

颁发者(Issuer):签发和认证证书的证书颁发机构(CA)的名称。

3.公钥

公钥(Public Key):与证书所有者的私钥相对应的公钥,用于数字签名的验证和信息的加密。

4.证书有效期

有效期(Validity Period):证书的有效开始日期和结束日期,标志了证书的有效使用时间范围。

5.证书序列号

序列号(Serial Number):CA分配给证书的唯一编号,用于唯一标识证书。

6.签名算法

签名算法(Signature Algorithm):用于CA签名证书的算法,例如SHA-256和RSA组合。

7.CA的数字签名

CA的数字签名(CA's Digital Signature):CA使用其私钥对证书信息进行签名的结果,用于证明证书的真实性。

8.证书扩展(可选)

        密钥使用(Key Usage):说明了证书中的公钥应如何使用,例如用于数据加密、数字签名、证书签名等。

        扩展密钥使用(Extended Key Usage, EKU):更具体地描述了公钥的预期用途,例如用于服务器认证、客户端认证、代码签名等。

        主题备用名称(Subject Alternative Name, SAN):允许为证书主题指定多个名称,如多个域名或IP地址。

        CRL分布点(CRL Distribution Points):提供了检查证书撤销状态的在线资源位置,如证书撤销列表(CRL)或在线证书状态协议(OCSP)服务器的UR

证书文件 cer csr crt,ssl,服务器,网络协议

证书文件 cer csr crt,ssl,服务器,网络协议

  • client向server发送请求;

  • server向client下发CA证书;

  • client比较证书中所有者的信息与正在访问的服务提供者的信息是否一致,确认公钥的身份一致性;

  • client校验证书是否为合法机构颁发,确认公钥的真实性;

  • client生成一个随机值(对称密钥),然后用证书中的公钥对该对称密钥加密;

  • server利用非对称私钥解密client发送的信息,从中得到对称密钥;

  • 之后server和client就可以通过对称密钥进行信息交互。

证书格式
从分类标准上分,SSL 证书格式主要有:

        公钥证书格式标准 X.509 中定义的 PEM 和 DER
        公钥加密标准 PKCS 中定义的 PKCS#7 和 PKCS#12
        Java环境专用的 JKS
从文件格式上分,SSL 证书格式主要有:

        一种是 Base64 (ASCII) 编码的文本格式。这种证书文件是可以通过文本编辑器打开,甚至进行编辑,常见有 PEM 证书格式,扩展名包括 PEM、CRT 和 KEY。

        另外一种是 Binary 二进制文件。常见有 DER 证书格式,扩展名包括 DER 和 CER。

证书文件 cer csr crt,ssl,服务器,网络协议

3.其他概念

        PKI( Public Key Infrastructure ,公钥基础设施)所有与数字证书相关的概念与技术的统称。PKI 的核心是在客户端、服务器和证书颁发机构 (CA) 之间建立的信任。下图例举出了 ,Authentication 和 Certification 的差别,(双方和三方的区别)

证书文件 cer csr crt,ssl,服务器,网络协议

       SSL(Secure Sockets Layer,安全套接字层)是一种安全协议,用于在互联网上建立加密链接,保护在网络之间传输的数据的安全性和完整性。SSL通过在服务器与客户端之间的通信上实施加密和身份验证来确保数据的私密性和防止数据被篡改。(https,ftps,vpn)

       TLS(Transport Layer Security,传输层安全协议)TLS 是 SSL 的不兼容增强版。逐渐取代SSL协议。SSL 与 TLS 两者所使用的算法是不同的,同时 TLS 增加了许多新的报警代码。在认证证书时 TLS 必须与 TLS 之间交换证书, SSL 必须与 SSL 之间交换证书。

SSL工作原理:服务器和客户端,首先会进行加密参数协商。

       step1.客户端Hello(ClientHello)

        客户端向服务器发送“ClientHello”消息,其中包含客户端支持的TLS版本、提议的加密套件列表(加密算法和密钥交换方法的组合)、一个客户端生成的随机数(Client Random),以及一个新的扩展,名为“key_share”,其中包含客户端的Diffie-Hellman公钥参数。

       step2.服务器Hello(ServerHello)

        服务器选择一个客户端也支持的加密套件,并发送“ServerHello”消息回客户端,消息中包含服务器的随机数(Server Random)和服务器的Diffie-Hellman公钥参数。

        step3.服务器发送证书(Server Certificate)

        服务器发送其SSL证书给客户端。这个证书包括服务器的公钥和由证书颁发机构(CA)对该公钥的签名。客户端使用CA的公钥来验证证书的真实性。

        step4.服务器完成(Server Finished)

         服务器发送一个“Finished”消息,该消息包含对前面所有握手消息的加密散列,以确保握手过程的完整性和安全性。

        step5.客户端密钥交换

        如果服务器要求客户端认证,客户端将会发送自己的证书和证书验证消息。

        step6.客户端完成(Client Finished)

        客户端发送一个“Finished”消息,同样包含对前面所有握手消息的加密散列。

        在TLS 1.3中,一旦客户端和服务器交换了它们的“Finished”消息,就认为握手完成了,双方可以开始加密通信。客户端和服务器使用会话密钥对通信内容进行加密和解密。这确保了数据的机密性和完整性。文章来源地址https://www.toymoban.com/news/detail-810229.html

到了这里,关于关于 SSL/CA 证书及其相关证书文件(pem、crt、cer、key、csr)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SSL中的CA证书

    目录 一、CA概述 二、数据加密 三、身份认证         SSL如何保证网络通信的安全和数据的完整性呢?就是采用了两种手段: 身份认证 和 数据加密 。身份认证就需要用到CA证书。         CA是证书的签发机构,它是公钥基础设施(Public Key Infrastructure,PKI)的核心。

    2024年04月12日
    浏览(34)
  • 利用OpenSSL 自签CA证书制作链式SSL证书

    本文描述的是利用自签CA制作链式证书的步骤,主要是制作中间证书的关键步骤。 目前CA证书基本均为链式证书,其主要目的是利用中间证书的特性,既可以保护根证书的密钥安全性,又可以方便进行吊销操作。 0x00 制作根证书密钥(root.key): 参数含义: genrsa:  生成RSA密钥

    2024年02月11日
    浏览(40)
  • openssl给内网IP生成ca证书(ssl证书)

     注意:大家自己按照自己的目录创建就行,我的直接放在/opt目录下了。  注意:申请的时候会让大家填一些参数,下面是参数说明及示例:  注意:这一步也会输入参数,要和上一次输入的保持一致       注意:这一步也会输入参数,要和前两次输入的保持一致  注意:

    2024年02月07日
    浏览(43)
  • TLS、SSL、CA 证书、公钥、私钥

    HTTP 协议是超文本传输协议(Hyper Text Transfer Protocol)的缩写,它是从 WEB 服务器传输超文本标记语言 HTML 到本地浏览器的传送协议。HTTP 设计之初是为了提供一种发布和接收 HTML 页面的方法,时至今日,它的作用已经不仅仅于此了。 对于我们 Java 工程师而言,HTTP 应该算是再熟

    2024年02月13日
    浏览(42)
  • windows server 2008 SSL部署独立CA证书并完成SSL连接

    我的环境:主机1:windows server 2008 ,主机2:windows xp,以下是两台的配置   主机1和主机2都加入到LAN 1 独立CA的配置 1.1主机1打开服务管理器,点击角色,添加角色,  1.2下一步 1.3安装Active Directory证书服务,DNS服务,web服务  1.4下一步   1.5下一步   6在角色服务中勾选“证书

    2024年01月20日
    浏览(63)
  • 基于SSL/TLS双向安全连接设备CA证书认证

    小伙伴儿们,如果觉得文章干货满满,欢迎加入公众号【编程识堂】,更多干货等你们来哦! 设备证书是由CA根证书签发给客户端设备使用的数字证书,用于客户端和服务端连接时,服务端对客户端进行安全认证。认证通过后服务端和客户端可基于证书内的加密密钥进行安全

    2024年01月20日
    浏览(46)
  • 【vSphere 8 自签名证书】企业 CA 签名证书替换 vSphere Machine SSL 证书Ⅰ—— 生成 CSR

    默认情况下,VMCA 与 Machine SSL的关系是 本系列博文要实现的拓扑是 因为使用企业 CA 直接签名 Machine SSL 证书替换 vSphere 证书步骤较多且繁琐,为了内容关联性和可读性,关于这个自签名证书系列的博文,博主分为4篇,这是第一篇,剩余4篇会陆续发布。 本篇博文主要描述了如

    2024年02月03日
    浏览(42)
  • Android中使用Webview SSL 自签名CA证书安全校验方案

    前言:              因为我们的项目是Android + H5,之前的做法是把H5所需要的资源和html下载到本地这样证书校验不会走系统浏览器层只需要项目中预埋根证书就可以了,但是如果 用webview加载线上的域名自签名证书就会走系统级校验在onReceivedSslError中返回ssl证书不受信,

    2024年02月13日
    浏览(43)
  • 【密码学】使用mkcert安装CA、自签名ssl证书,配置nginx的https 证书笔记

    CA(Certificate Authority,证书授权)是由认证机构服务者签发,是数字签名的技术基础保障,也是网上实体身份的证明,能够证明某一实体的身份及其公钥的合法性,证明该实体与公钥二者之间的匹配关系。 在电子商务系统中,所有实体的证书都是由证书授权中心即CA中心颁发并签

    2024年02月03日
    浏览(52)
  • 关于网络通信安全协议的一些知识(ssl,tls,CA,https)

    首先了解一下http协议的变迁。 http1.0默认短连接,1.1默认长连接并且可以管道传输,但是存在队头阻塞问题; https就是在tcp和http之间加了SSL/TLS层。 http2也是安全的,改进是hpack二进制和编码压缩减小体积,stream没有队头阻塞了(TCP层还有),以及服务器主动推送功能; http

    2024年02月15日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包