ubuntu上msquic带根证书的测试使用

本文档详细介绍了在Ubuntu上如何生成、导入根证书,并使用msquic进行本地测试。首先,通过openssl生成根证书和服务器证书,然后导入到系统信任列表。接着,编译msquic协议和示例程序。最后,执行客户端和服务器测试来验证证书的有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.证书

单向认证证书设计原理

1.1 根证书的生成

假设我们的域名为: www.contoso.com

创建CA私钥

openssl ecparam -out contoso.key -name prime256v1 -genkey

创建CA证书申请,这里设置Common Name(不要跟域名重复): www.cetoso.com,其它自己选择就行

openssl req -new -sha256 -key contoso.key -out contoso.csr

生成CA根证书

openssl x509 -req -sha256 -days 365 -in contoso.csr -signkey
contoso.key -out contoso.crt

创建服务器端私钥

openssl ecparam -out fabrikam.key -name prime256v1 -genkey

创建服务器的安全证书申请,这里设置Common Name(域名): www.contoso.com,其它自己选择就行

openssl req -new -sha256 -key fabrikam.key -out fabrikam.csr
生成服务器安全证书
openssl x509 -req -in fabrikam.csr -CA contoso.crt -CAkey contoso.key
-CAcreateserial -out fabrikam.crt -days 365 -sha256

1.2 根证书的导入

contoso.crt:根证书
sudo mkdir /usr/local/share/ca-certificates/extra
sudo cp certs/contoso.crt /usr/local/share/ca-certificates/extra
sudo cp server.crt /usr/share/ca-certificates/mozilla

sudo dpkg-reconfigure ca-certificates

  • 选择 Yes
  • 按空格选中刚才新增的证书: extra/rootCA.crt 和 mozilla/rootCA.crt
  • 按 Tab 切到 Ok并确认

sudo update-ca-certificates

查看是否导入成功,打开文件: /etc/ssl/certs/ca-certificates.crt
查看里面是否有contoso.crt的相关证书内容

检查文件 /etc/ca-certificates.conf, 确保刚才新增的两条记录前没有!符号

1.4 openssl验证书

openssl verify -CAfile contoso.crt fabrikam.crt

提示OK,表示验证通过

1.5 修改/etc/hosts

在最后一行增加如下内容:

127.0.0.1 www.contoso.com

查看是否导入成功,打开文件: /etc/ssl/certs/ca-certificates.crt
查看里面是否有contoso.crt的相关证书内容

测试证书(失效日期:2023年12月6日):https://download.youkuaiyun.com/download/pengrui18/87249527

2. msquic编译

2.1 quic协议编译

配置:

cmake -G ‘Unix Makefiles’ …

编译:

cmake --build .

2.2 示例程序编

msquic的示例程序: src/tools/sample/sample.c

g++ -o sample sample.c -I…/…/…/src/inc -L./ -lmsquic -lpthread -std=c++11

3.本地测试

客户端:

./client -client -target:www.contoso.com

服务器:

./server -server -cert_file:/home/pengrui/Documents/certs/bin/Release/fabrikam.crt -key_file:/home/pengrui/Documents/certs/bin/Release/fabrikam.key

在这里插入图片描述

参考资料:
[1]: https://labs.epubit.com/articleDetails?id=N0b48934a-ea56-4daa-9202-a2de0a98297c
[2]: https://blog.youkuaiyun.com/qq_16401691/article/details/126785447#comments_24445655
[3]: https://blog.alanwei.com/blog/2021/04/11/ubuntu-install-root-ca-certificate/
[4]: https://blog.youkuaiyun.com/jingzi123456789/article/details/84862684

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值