使用libevhtp搭建HTTPS SERVER(双向验证身份)_libevent服务器双向认证(3)

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

根据单向身份验证的方法,如果让通信双方互相交换身份证,就可以实现互相验证了,但是如果一个分布式系统里有多方都需要进行通信, 如果任意两方都要交换身份证的话就太麻烦了。所以,我们通常创建一个自签署的根身份证(root CA),然后用它来签署分布式系统中各方的身份证,这样每一方都只要有这个根身份证,即可验证所有其他的通信方了。

我们可以通过以下步骤搭建双向验证身份的HTTPS SERVER。在本文中,我们将使用一个CA来签署HTTPS服务器的身份证。

1.1 创建CA

  1. 创建我们自己CA的秘钥对(RSA)文件:
openssl genrsa -out "ca-key.pem" 2048

2. 创建我们自己CA的身份证申请(CSR)文件,并且用CA自己的私钥自签署该CSR,得到CA的身份证:

openssl req -x509 -new -key ca-key.pem -days 365 -out ca-crt.pem -subj "/CN=we-as-ca"

通过上述步骤,我们可以得到了自己CA的秘钥对文件和证书文件。

1.2 使用CA签署服务器的证书文件

1. 生成服务器的秘钥对(RSA)文件:

openssl genrsa -out server-key.pem 2048
  1. 生成服务器的身份证申请(CSR)文件:
openssl req -new -key server-key.pem -out server-csr.pem -subj "/CN=192.168.213.133"  
  1. 使用前面生成的CA签署服务器的证书(CRT)文件:
openssl x509 -req -in server-csr.pem -CA ca-crt.pem -CAkey ca-key.pem -CAcreateserial -out server-crt.pem -days 365

经过上述步骤,我们得到了HTTPS服务器的秘钥文件server-key.pem和经过CA签署的服务器证书文件server-crt.pem。

**说明:**上述步骤中的参数需要根据实际情况进行调整。

1.3 使用CA签署客户端的证书文件

  1. 生成客户端的秘钥对(RSA)文件:
openssl genrsa -out client-key.pem 2048
  1. 生成客户端的身份证申请(CSR)文件:
openssl req -new -key client-key.pem -out client-csr.pem -subj "/CN=192.168.213.129" 
  1. 使用前面生成的CA签署客户端的证书(CRT)文件:
openssl x509 -req -in client-csr.pem -CA ca-crt.pem -CAkey ca-key.pem -CAcreateserial -out client-crt.pem -days 365

经过上述步骤,我们得到了连接HTTPS服务器的客户端的秘钥文件client-key.pem和经过CA签署的客户端证书文件client-crt.pem。

**说明:**上述步骤中的参数需要根据实际情况进行调整。

1.4 调用libevhtp接口,构建HTTPS服务器

本文的HTTPS服务器代码及程序使用“单向验证身份”场景的内容,请前往该文章查看。

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

cs/618668825)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 10
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《libevent参考手册(中文版)_libevent-2.1.5.pdf》是libevent事件驱动库的参考手册的中文翻译版本,主要是为中国的开发者提供方便和参考。libevent是一个开源的高性能网络库,广泛应用于服务器程序的开发中。 该手册详细介绍了libevent库的使用方法和相关的API函数,帮助开发者们更好地理解和使用这个库。手册的内容包括库的基本概述、事件循环、定时器、信号处理、缓冲区管理等各个方面。通过阅读手册,开发者可以学习如何使用libevent库来构建高效可靠的网络应用程序。 手册中的每个功能点都有详细的说明和示例代码,让开发者可以更快地上手使用libevent库。无论是初学者还是有一定经验的开发者,都可以通过这份参考手册快速入门和掌握libevent库的使用。 此外,手册还包含了常见问题的解答与技巧,帮助开发者在使用libevent时遇到问题时能够解决,提高开发效率。 总之,《libevent参考手册(中文版)_libevent-2.1.5.pdf》为开发者们提供了掌握libevent库的必备工具和参考资料。通过学习手册中的内容,开发者们可以更好地利用libevent库来实现高性能、高可靠性的网络应用程序。 ### 回答2: libevent是一个事件驱动的编程库,用于开发高效的网络通信应用程序。它提供了一个简单而灵活的接口,能够实现异步的、非阻塞的事件处理机制。 libevent参考手册中文版_libevent-2.1.5.pdf是libevent官方提供的参考手册的中文翻译版本。这个手册详细介绍了libevent库的各个方面,包括核心概念、函数接口、使用方法等。通过阅读这个手册,用户可以了解到如何使用libevent来开发高效的网络应用程序。 这个手册首先介绍了libevent的设计理念和特点,包括事件驱动的编程模型、事件循环机制等。然后详细介绍了libevent库中的各个功能模块,包括事件基、事件、缓冲区、定时器等。对于每个功能模块,手册提供了对应的API接口说明和使用示例。 除了功能模块的介绍外,手册还包括了一些高级话题的讨论,例如多线程编程、信号处理、SSL支持等。这些内容对于开发复杂的网络应用程序非常有用。 总的来说,libevent参考手册中文版_libevent-2.1.5.pdf是libevent库的官方文档的中文翻译版本。通过阅读这个手册,用户可以全面了解libevent库的使用方法和原理,从而能够更好地利用libevent开发高效的网络通信应用程序。 ### 回答3: libevent是一个事件驱动的网络编程库,它简化了网络应用程序的开发过程。libevent支持多种操作系统平台,包括Windows、Linux和Unix,并提供了跨平台的API接口。 libevent参考手册中文版_libevent-2.1.5.pdf是libevent库的中文参考手册,它详细介绍了libevent库的各个功能和使用方法,对于开发人员来说是非常有用的工具。 这个参考手册主要包含以下几个部分: 1. 简介:介绍了libevent库的概要和功能特点,以及它在网络编程中的作用。 2. 安装和配置:详细说明了如何安装和配置libevent库,包括下载源代码、编译安装和设置环境变量等步骤。 3. API接口:列举了libevent库提供的各种API接口,并对每个接口进行了详细的说明。开发人员可以根据自己的需求选择合适的接口来实现网络应用程序。 4. 示例代码:提供了一些实用的示例代码,演示了如何使用libevent库来开发各种类型的网络应用程序,如服务器、客户端和代理等。 5. 常见问题解答:收集了一些常见的问题和解答,帮助开发人员在使用libevent库过程中遇到问题时能够及时获取帮助。 通过学习和参考libevent参考手册,开发人员可以更好地理解和掌握libevent库的使用方法,提高网络应用程序的开发效率。同时,中文版的参考手册方便了不擅长英文阅读的开发人员使用libevent库进行开发工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值