首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用OpenSSL函数计算TLS密钥交换的公钥?

OpenSSL是一个开源的加密库,提供了丰富的加密算法和功能。要使用OpenSSL函数计算TLS密钥交换的公钥,可以按照以下步骤进行:

  1. 生成私钥和公钥对:使用OpenSSL的命令行工具或编程语言中的OpenSSL库函数,可以生成一个私钥和对应的公钥。私钥用于加密和解密数据,公钥用于加密数据和验证签名。
  2. 加载私钥和公钥:将生成的私钥和公钥加载到程序中,以便后续使用。
  3. 创建TLS连接:使用OpenSSL库函数创建一个TLS连接,包括TLS握手过程。
  4. 密钥交换:在TLS握手过程中,客户端和服务器会交换密钥信息。其中,客户端会生成一个随机数作为Pre-Master Secret,并使用服务器的公钥对其进行加密,然后发送给服务器。
  5. 计算公钥:在服务器端,使用OpenSSL库函数加载私钥,并使用私钥对客户端发送的加密的Pre-Master Secret进行解密,得到原始的Pre-Master Secret。然后,使用OpenSSL库函数计算出对应的公钥。

需要注意的是,具体的代码实现会因编程语言和使用的OpenSSL版本而有所不同。以下是一个示例代码片段,使用C语言和OpenSSL库函数来计算TLS密钥交换的公钥:

代码语言:txt
复制
#include <openssl/ssl.h>
#include <openssl/evp.h>

int main() {
    // 生成私钥和公钥对
    EVP_PKEY_CTX *ctx = EVP_PKEY_CTX_new_id(EVP_PKEY_RSA, NULL);
    EVP_PKEY_keygen_init(ctx);
    EVP_PKEY_CTX_set_rsa_keygen_bits(ctx, 2048);
    EVP_PKEY *pkey = NULL;
    EVP_PKEY_keygen(ctx, &pkey);

    // 加载私钥和公钥
    SSL_CTX *ssl_ctx = SSL_CTX_new(TLS_method());
    SSL_CTX_use_PrivateKey(ssl_ctx, pkey);
    SSL_CTX_use_certificate(ssl_ctx, pkey);

    // 创建TLS连接
    SSL *ssl = SSL_new(ssl_ctx);
    SSL_set_fd(ssl, socket_fd);

    // 密钥交换
    SSL_accept(ssl);

    // 计算公钥
    EVP_PKEY *peer_key = SSL_get_peer_certificate(ssl);
    EVP_PKEY *public_key = X509_get_pubkey(peer_key);

    // 使用公钥进行加密或验证等操作

    // 清理资源
    EVP_PKEY_free(pkey);
    EVP_PKEY_CTX_free(ctx);
    SSL_free(ssl);
    SSL_CTX_free(ssl_ctx);

    return 0;
}

这是一个简单的示例,实际应用中可能需要根据具体情况进行适当的修改和完善。同时,根据具体的业务需求,可能还需要使用其他OpenSSL函数来完成更复杂的操作,如证书验证、数字签名等。

腾讯云提供了一系列与SSL/TLS相关的产品和服务,包括SSL证书、密钥管理、HTTPS加速等。您可以访问腾讯云官网了解更多详情:腾讯云SSL证书

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PKI - 03 密钥管理(如何进行安全的公钥交换)

Pre PKI - 02 对称与非对称密钥算法 密钥管理面临的挑战 密钥管理面临的挑战主要包括以下几点: 安全的公钥交换:在使用基于非对称密钥算法的服务之前,实体需要获取其他实体的公钥。...然而,通过非信任的通道进行公钥交换存在安全风险,因为可能会受到中间人攻击,导致公钥被伪造或篡改。 防止公钥被截获和更改:在密钥交换过程中,公钥必须确保不会被截获和更改。...综上所述,密钥管理面临着诸多挑战,包括安全的公钥交换、防止公钥被篡改、Full Mesh复杂度以及用户确认密钥有效性的不可靠性等问题。...安全密钥管理的几种方式 手动密钥交换与确认 安全地交换公钥,最简单的安全方法是需要带外验证, 通过带外验证来安全地交换公钥是一种简单而有效的方法。...特别是在大规模网络中,或者需要频繁进行公钥交换的情况下,使用电话或其他带外通道来回读密钥指纹可能会变得不够实用和高效。因此,在实际应用中需要权衡利弊,根据具体情况选择合适的密钥交换机制。

14100

为什么我强烈建议你使用ECC 证书

确保证书由合法 CA 签署,且适用于当前网站;2)使用证书提供的非对称加密公钥,完成密钥交换和服务端认证。...Be Signed Certificate)信息; 签发数字签名:使用 HASH 函数对 TBSCertificate 计算得到消息摘要,再用 CA 的私钥进行加密,得到签名; 校验数字签名:使用相同的...HASH 函数对 TBSCertificate 计算得到消息摘要,与使用 CA 公钥解密签名得到内容相比较; 可以看到校验证书需要同时用到签名和非对称加密算法:目前必须使用 SHA-2 做为证书签名函数...在 RSA 密钥交换中,浏览器使用证书提供的 RSA 公钥加密相关信息,如果服务端能解密,意味着服务端拥有证书对应的私钥,同时也能算出对称加密所需密钥。密钥交换和服务端认证合并在一起。...在 ECDHE 密钥交换中,服务端使用证书私钥对相关信息进行签名,如果浏览器能用证书公钥验证签名,就说明服务端确实拥有对应私钥,从而完成了服务端认证。密钥交换和服务端认证是完全分开的。

11.7K20
  • 自从掌握了网络安全,工资直接翻了番,真香!

    数据加密 数据必须被加密 1、对称密钥加密 同一个密钥进行加密,同一个密钥进行解密 优点:效率高 缺点:密钥维护非常困难;密钥交换非常困难; 2、非对称密钥加密 密钥对(公钥加密,私钥解密;私钥加密,...公钥解密) A -- B A就有自己的私钥      B就有A的公钥 B用A的公钥进行加密,然后把数据传给A,A用自己的私钥进行解密 B怎么拿到A的公钥: 优点:维护密钥方便,只需维护自己的私钥;数据比较安全...: 数字签名 (数据加密(太慢,不适用)、密钥交换) 再做密钥交换的时候,我们使用了公钥加密私钥解密 数字签名 私钥加密 -- 公钥解密 只有自己拥有自己的私钥,用自己的私钥对数据进行加密,对端,使用自己的公钥进行解密...两个加密程序调用接口--库文件 dh  --  非对称密钥算法(完成密钥交换) 常见文件: /etc/pki/tls 1995年由网景公司开发 ssh1.0 1996年ssh2.0 1999年把ssh...协议连接过程 以https为例 图片 图片 实验:如何去使用openssl工具搭建https访问站点 1、客户: yum install httpd -y iptables -t filter -A INPUT

    42010

    透视HTTPS建造固若金汤的城堡

    但是最大的问题是:如何安全的把密钥传递对方,专业术语 “密钥交换”。...由两个密钥组成,分别是 公钥(public key) 和 “私钥(private key)”,两个密钥是不一样的,这也就是不对称的由来,公钥可以任何人使用,私钥则自己保密。...ECC(Elliptic Curve Cryptography)是非对称加密里的“后起之秀”,它基于“椭圆曲线离散对数”的数学难题,使用特定的曲线方程和基点生成公钥和私钥,子算法 ECDHE 用于密钥交换...重点就是使用非对称加密的“私钥”加密原文的摘要,对方则使用非对称加密的公钥解密出摘要,再比对解密出的原文通过摘要算法计算摘要与解密出的摘要比对是否一致。这样就能像签署文件一样证明消息确实是你发送的。...通过混合加密实现了机密性,利用摘要算法实现了完整性,通过数字签名使用非对称加密的“私钥”加密原文的摘要,对方则使用非对称加密的公钥解密出摘要,再比对解密出的原文通过摘要算法计算摘要与解密出的摘要比对是否一致实现了身份认证与不可否认

    50220

    SSLTLS 双向认证(一) — SSLTLS 工作原理

    TLS1.2: RFC5246, 目前已广泛使用 TLS1.3: RFC8446 下面我们将介绍 TLS1.x 如何保证通讯安全。...签名的产生算法:首先,使用散列函数计算公开的明文信息的信息摘要,然后,采用 CA 的私钥对信息摘要进行加密,密文即签名。...(图一中 handshake 传回 server.crt) 5)client验证证书:client 读取证书中的相关的明文信息,采用相同的散列函数计算得到信息摘要,然后,利用对应 CA 的公钥解密签名数据...pre-master,并用证书公钥加密,发送给服务器 此时客户端已经获取全部的计算协商密钥需要的信息:两个明文随机数 random_C 和 random_S 与自己计算产生的 pre-master,计算得到协商密钥...如何查看证书中有什么 证书中含有 申请者公钥、申请者的组织信息和个人信息、签发机构 CA 的信息、有效时间、证书序列号等信息的明文,同时包含一个签名。如查看百度证书详细信息。

    9.2K10

    技术分享 | MySQL : SSL 连接浅析

    TLS 握手过程 TLS 握手的过程,其实就是秘钥交换的过程,这也是整个TLS 加密技术里最复杂的一个环节,参考一张网上的图如下: 2. 密钥算法 对称密钥算法:数据加密和解密时使用相同的密钥。...非对称密钥算法:数据加密和解密时使用不同的密钥,一个是公开的公钥,一个是由用户秘密保存的私钥。利用公钥(或私钥)加密的数据只能用相应的私钥(或公钥)才能解密。...这个就是利用非对称密钥算法保证对称密钥本身的安全。 3. 数字证书-如何保证公钥的真实性? 如果有攻击者伪造了 Server 端的公钥并发了客户端,客户端会访问到假网站被窃取信息。...,以确信请求确实由用户发送而来); CA 对用户的所有信息(公钥、所有者、有效期...)进行 Hash 计算,得到一个 Hash 值,然后再使用私钥对 Hash 值进行加密得到签名,就得到了数字证书。...=True,因为 caching_sha2_password 插件要求交换密码时必须使用 RSA 公钥加密(在没有使用SSL加密连接的情况下),AllowPublicKeyRetrieval=True

    3.5K10

    Nginx(3)-创建 https 站点

    对称加密 对称加密中加密和解密使用相同的密钥,加解密速度快,算法公开,计算量小。...非对称加密的三种用途: 数字签名:用于让接收方确认发送方的身份,并确认数据没有篡改 密钥交换:发送方用对方的公钥加密一个对称密钥,并发送给对方 数据加密 常见的非对称加密算法: RSA:加密、解密、签名...通信双方下载各自由CA签发的数字证书 当发送方要发送信息时,首先向接收方请求其数字证书 接收方利用CA的公钥检查接收到的数字证书是否合法,并得到接收方的公钥 发送方利用散列函数对明文数据提取指纹,然后通过程序随机生成一个...最后,服务端收到第三个随机数后,计算生成本次会话使用的会话密钥,然后发送编码改变通知和服务器握手结束通知。 随后的通信使用的http协议,然后使用会话密钥加密。...TLS 安全密码套件 03-06-TLS安全密码套件.png 密钥交换 身份验证 对称加密算法、强度、分组模式 签名 hash 算法 使用私有 CA 实现 https 站点 建立私有 CA 1.安装 openssl

    1.1K00

    HTTPS 如何实现安全通信?

    但是最大的问题是:如何安全的把密钥传递对方,专业术语 “密钥交换”。...由两个密钥组成,分别是 公钥(public key) 和 “私钥(private key)”,两个密钥是不一样的,这也就是不对称的由来,公钥可以任何人使用,私钥则自己保密。...ECC(Elliptic Curve Cryptography)是非对称加密里的“后起之秀”,它基于“椭圆曲线离散对数”的数学难题,使用特定的曲线方程和基点生成公钥和私钥,子算法 ECDHE 用于密钥交换...重点就是使用非对称加密的“私钥”加密原文的摘要,对方则使用非对称加密的公钥解密出摘要,再比对解密出的原文通过摘要算法计算摘要与解密出的摘要比对是否一致。这样就能像签署文件一样证明消息确实是你发送的。...通过混合加密实现了机密性,利用摘要算法实现了完整性,通过数字签名使用非对称加密的“私钥”加密原文的摘要,对方则使用非对称加密的公钥解密出摘要,再比对解密出的原文通过摘要算法计算摘要与解密出的摘要比对是否一致实现了身份认证与不可否认

    18910

    科普 TLS 1.3 — 新特性

    消息; 第三步,客户端接收 ServerKeyExchange 后,使用证书公钥进行签名验证,获取服务器端的 ECDH 临时公钥,生成会话所需要的共享密钥;生成 ECDH 临时公钥和 ClientKeyExchange...消息发送给服务端; 第四步,服务器处理 ClientKeyExchange 消息,获取客户端 ECDH 临时公钥;服务器生成会话所需要的共享密钥;发送密钥协商完成消息给客户端; 第五步,双方使用生成的共享密钥对消息加密传输...TLS1.3 提供 1-RTT 的握手机制,还是以 ECDHE 密钥交换过程为例,握手过程如下。...,将结果发送给客户端;选用客户端提供的参数生成 ECDH 临时公钥,结合选定的 DH 参数计算出用于加密 HTTP 消息的共享密钥;服务端生成的临时公钥通过 KeyShare 消息发送给客户端; 客户端接收到...KeyShare 消息后,使用证书公钥进行签名验证,获取服务器端的 ECDH 临时公钥,生成会话所需要的共享密钥; 双方使用生成的共享密钥对消息加密传输,保证消息安全。

    3.2K60

    大型网站的HTTPS实践(一)---HTTPS协议和原理

    下面重点介绍一下非对称密钥交换的数学原理及在TLS握手过程中的应用。 4.1.1 非对称密钥交换 在非对称密钥交换算法出现以前,对称加密一个很大的问题就是不知道如何安全生成和保管密钥。...CPU计算资源消耗非常大。一次完全TLS握手,密钥交换时的非对称解密计算量占整个握手过程的90%以上。...所以就算知道了公钥,整个加解密 过程还是非常安全的。 ? 4.1.1.1.2 握手过程中的RSA密钥协商 介绍完了RSA的原理,那最终会话所需要的对称密钥是如何生成的呢?跟RSA有什么关系?...比如前文提到的RSA证书公钥加密及ECDHE的签名都是使用的这个公钥。 申请者拿到CA的证书并部署在网站服务器端,那浏览器发起握手接收到证书后,如何确认这个证书就是CA签发的呢?...使用CA的公钥解密签名,然后使用相同的签名函数对待签名证书内容进行签名并和服务端数字签名里的签名内容进行比较,如果相同就认为校验成功。 ? 终端实体生成公私钥和证书请求。 RA检查实体的合法性。

    1.3K60

    HTTPS:网络安全攻坚战

    不过由于安全问题,TLS 1.1及其以下版本都将作废,不再维护,目前主要在用的是TLS 1.2和TLS 1.3。 OpenSSL是开源版本的实现,目前急需在维护的是OpenSSL 1.1.1版本。...5.3.2、对称加密算法 所谓对称加密,就是使用同一个密钥进行加解密。 最常见的就是AES加密算法。 但是对称加密,加解密双方如何安全的传递密钥是一个问题。...使用公钥推算出私钥是非常困难的,但是随着计算机运算能力提升,目前在程序中使用的非对称密钥至少要2048位才能保证安全性。 虽然非对称加密能够保证安全性,但是性能却比对称加密差很多。...为此,在TLS中,实际上用的是用到了两种算法的混合加密。通过非对称加密算法交换对称加密算法的密钥,交换完成之后,在使用对称加密进行加解密传输数据。这样就保证了会话的机密性。...5.3.6、算法总结 我们来总结一下上面提到的各种算法的作用: 签名算法:通过数字证书,和CA公钥,验证获取到的服务器公钥的可靠性,保证了认证性; 密钥交换算法 + 对称加密算法:通过交换的密钥,进行加密通信

    46630

    ECDH椭圆双曲线(比DH快10倍的密钥交换)算法简介和封装

    前面有几篇blog就提到我有计划支持使用ECDH密钥交换。近期也是抽空把以前的DH密钥交换跨平台适配从atgateway抽离出来,而后接入了ECDH流程。...所以有些工程实践中会每隔一段时间再走一次密钥交换流程来更换密钥。 ECDH和DH 使用ECDH做密钥交换得时候你可能也会看到ECDHE这个词,这个多出来的E的意思是指每次公钥都随机生成。...但是openssl不像mbedtls,没有良好的接口封装,里面密钥交换的细节实现得到openssl的源码里去找。并且流程比较长,而且openssl的实现不太好,有很多冗余的拷贝操作。...ID,1字节Q长度,Q 客户端读取系数 读入P、G,记录GY为远端公钥 读入双曲线算法group,记录Q为远端公钥 客户端创建公钥 随机出X,计算并上传GX(G^X mod P),保留私有数据X 生成和上传公钥点...std::vector svr_secret; // 保存服务器计算的密钥 // step 1 - 服务器: 计算密钥对,输出DH参数和公钥 CASE_EXPECT_EQ

    5.4K30

    Java - 深入理解加密解密和签名算法

    三、非对称加密 原理:非对称加密使用一对密钥进行加密和解密操作,分别为公钥和私钥。公钥用于加密数据,私钥用于解密数据。公钥可以公开,私钥需要保密。...证书管理:OpenSSL支持X.509证书,这是一种广泛使用的公钥证书格式。证书用于在SSL/TLS握手过程中验证通信方的身份。...非对称加密 非对称加密,又称为公钥加密,是现代密码学中的一项重要技术。与传统的对称加密方法(即使用相同的密钥进行加密和解密)不同,非对称加密采用了两个数学上相关但截然不同的密钥:公钥和私钥。...密钥分发简化:在多人或多系统之间进行安全通信时,无需事先安全地交换密钥,因为公钥可以公开分发。 数字签名:私钥也可用于创建数字签名,这是一种验证信息来源和完整性的方法。...计算e的模反元素d,使得(ed-1)可以被(p-1)(q-1)整除,d作为私钥。 公钥为(n, e),私钥为(n, d)。 加密时,使用公钥和明文m计算密文c,方法为c = me mod n。

    37700

    HTTPS虐我千百遍,我却待她如初恋!

    所以小王打算用非对称加密,非对称加密的特点是双方都有自己的公钥和私钥对,其中公钥发给对方,密钥不交换自己保管不泄漏。 如下图所示: ?...然后再使用 openssl 计算它的哈希值,如下所示: liyinchengs-MBP:https liyincheng$ openssl dgst -sha256 ~/tbsCertificate.binSHA256...密钥交换 密钥交换的方式有两种:RSA 和 ECDHE,RSA 的方式比较简单,浏览器生成一把密钥,然后使用证书 RSA 的公钥进行加密发给服务端,服务再使用它的密钥进行解密得到密钥,这样就能够共享密钥了...而使用 ECDHE 是一种更安全的密钥交换算法。如下图所示,双方通过 ECDHE 进行密钥交换: ?...综上本文主要讨论了对称加密和非对称加密的原理,并介绍了如何利用 RSA 对证书签名的检验以验证连接服务器的身份,怎么利用 ECC 进行数据加密和密钥交换,介绍了下怎么生成和使用 HTTPS 证书,并介绍了下客户端证书

    67120

    网络协议(十二):HTTPS(SSLTLS、TLS1.2的连接)

    生成公钥:openssl rsa -in xx.key -pubout -out xx.pem 四、HTTPS的成本 证书的费用 加解密计算,降低了访问速度 有些企业的做法是:包含敏感数据的请求才使用.../ 五、HTTPS的通信过程 总的可以分为3大阶段 TCP的3次握手 TLS的连接 HTTP请求和响应 六、TLS 1.2 的连接(ECDHE密钥交换算法) TLS1.2 的连接大概有10大步骤:(图中省略了中间产生的一些...Hello TLS的版本号 选择的加密组件(是从接收到的客户端加密组件列表中挑选出来的) 一个随机数 (Server Random) ③ Certificate 服务器的公钥证书(被CA签名过的...⑤ Server Hello Done 告知客户端:协商部分结束 目前为止,客户端和服务器之间通过明文共享了 而且,客户端也已经拿到了服务器的公钥证书,接下来,客户端会验证证书的真实有效性 ⑥ Client...Params 客户端、服务器都可以 使用ECDHE算法根据Server Params、Client Params计算出一个新的随机密钥串:Pre-master secret 然后结合 Client

    21510

    【HTTPS】407- 记住 HTTPS!

    HTTPS 是使用 RSA 进行身份验证和交换密钥,然后再使用交换的密钥进行加解密数据。 身份验证是使用 RSA 的非对称加密,而数据传输是双方使用相同的密钥进行的对称加密。...所以小王打算用非对称加密,非对称加密的特点是双方都有自己的公钥和私钥对,其中公钥发给对方,密钥不交换自己保管不泄漏。 如下图所示: ?...然后再使用 openssl 计算它的哈希值,如下所示: liyinchengs-MBP:https liyincheng$ openssl dgst -sha256 ~/tbsCertificate.binSHA256...密钥交换 密钥交换的方式有两种:RSA 和 ECDHE,RSA 的方式比较简单,浏览器生成一把密钥,然后使用证书 RSA 的公钥进行加密发给服务端,服务再使用它的密钥进行解密得到密钥,这样就能够共享密钥了...综上本文主要讨论了对称加密和非对称加密的原理,并介绍了如何利用 RSA 对证书签名的检验以验证连接服务器的身份,怎么利用 ECC 进行数据加密和密钥交换,介绍了下怎么生成和使用 HTTPS 证书,并介绍了下客户端证书

    2.5K41

    HTTPS网络安全与SSL证书相关术语合集

    HPKP 公钥固定,这是一种https网站防止攻击者使用CA错误颁发的证书进行中间人攻击的一种安全机制,用于预防诸如攻击者入侵CA偷发证书、浏览器信任CA签发伪造证书等情况,采用该机制后服务器会提供一个公钥哈希列表...,客户端在后续的通信中只接受该列表上的一个或多个公钥。...的值是对证书公钥sha256的值,includeSubDomains决定是否包含所有子域名,在max-age所指定的时间内(秒),证书链中的证书至少一个公钥须和固定公钥相符,这样客户端才认为该证书链是有效的...DH/DHE Diffie-Hellman(DH)密钥交换是一种密钥交换的协议,DH的诀窍是使用了一种正向计算简单、逆向计算困难的数学函数,即使交换中某些因子已被知晓,情况也是一样。...Logjam Logjam(CVE-2015-4000) 使用 Diffie-Hellman 密钥交换协议的 TLS 连接很容易受到攻击,尤其是DH密钥中的公钥强度小于1024bits。

    1.5K50

    nginx实现keyless解决方案

    TLS记录协议位于TLS协议的下层,是负责使用对称密码对消息进行加密通信(对消息压缩、加密以及数据的认证)的部分 TLS握手协议中使用的密码技术 公钥密码:加密预主秘钥用的 单向散列函数:构成伪随机数生成器...数字签名:验证证书用的(单向散列函数计算公钥密码的散列值,加密后得到) 伪随机书生成器:生成预主秘钥 生成初始化向量(可以使用对称密码,单向散列函数来构建...TLS记录协议中使用的密码技术 对称密码(CBC模式):确保片段的机密性 消息认证码:确保片段的完整性并进行认证(单向散列函数和密钥组合而成,也可以通过对称密码生成,应用单向散列函数计算密钥+消息构成的...HTTPS中所用到的密码技术 证书:公钥、数字签名和指纹组合而成,一般讲是基于指纹的数字签名,一堆的东西就认证公钥,为了保证不可否认行、认证、完整性 Keyless原理 总体架构 密钥交换算法类 握手协议...是用证书私钥签名的,客户端使用证书公钥就可以验证服务端合法性,相比 RSA 密钥交换,DH 由传递 Premaster Scret 变成了传递 DH 算法所需的 Parameter,然后双方各自算出

    2K01

    PKI 体系概述_计算机学科体系概述

    数字签名:RSA私钥加密,公钥解密,结合散列函数。验证消息真实性。 伪随机函数(PRF):生成任意数量的伪随机数据。 RSA:可以同时用于密钥交换和身份验证(数字签名)。...(通过为公钥及相关的用户身份信息签发数字证书),为用户提供方便的证书申请、证书作废、证书获取、证书状态查询的途径,并利用数字证书及相关的各种服务(证书发布,黑名单发布,时间戳服务等)实现通信中各实体的身份认证...组件 描述 数字证书 包含了用于签名和加密数据的公钥的电子凭证,是PKI的核心元素 认证中心(CA) 数字证书的申请及签发机关,CA必须具备权威性 证书资料库 存储已签发的数字证书和公钥,以及相关证书目录...,用户可由此获得所需的其他用户的证书及公钥 证书吊销列表(CRL)/OCSP 在有效期内吊销的证书列表,在线证书状态协议OCSP是获得证书状态的国际协议 密钥备份及恢复 为避免因用户丢失解密密钥而无法解密合法数据的情况...密码套件的配置 # 密码套件名称构成:密钥交换算法-身份验证算法-加密算法(加密方法-加密强度-模式)-HMAC或PRF算法 # 密钥交换算法/密钥协商算法:ECDHE > DHE > RSA # 身份验证算法

    88410

    OpenSSL的简单使用与自签CA证书

    将明文分隔成固定大小的块,逐个进行加密 缺陷:密钥过多、密钥传输不安全、密钥交换、身份验证。 公钥加密:非对称加密,加密解密用不同密码分公钥和私钥,公钥是从私钥中提取,公钥可以給别人,私钥保密。...密钥:公钥和私钥是成对出现的。公钥包含在私钥中,公钥称为public key、私钥为secret key,由发起者对接受者索要公钥,用公钥加密数据后发送给接受者。接受者用算法和私钥解密。...发起者用单项算法计算数据的特征码,用自己的私钥计算特征码附加在数据后面,在用对称密钥对整个包(数据和加特征码)进行加密,并用接受者的公钥加密对称加密密码,附加在整个包中一并发给对方。...伪随机函数:TLS使用了称为PRF的伪随机函数来将密钥扩展成数据块,是更安全的方式。...TLS 在SSL v3.0 的基础上,提供了以下增强内容: 更安全的MAC算法 更严密的警报 “灰色区域”规范的更明确的定义 TLS对于安全性的改进 对于消息认证使用密钥散列法:TLS 使用“消息认证代码的密钥散列法

    2.9K20
    领券