假设我们的域名为: 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
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
sudo update-ca-certificates
查看是否导入成功,打开文件: /etc/ssl/certs/ca-certificates.crt
查看里面是否有contoso.crt的相关证书内容
检查文件 /etc/ca-certificates.conf, 确保刚才新增的两条记录前没有!符号
openssl verify -CAfile contoso.crt fabrikam.crt
提示OK,表示验证通过
在最后一行增加如下内容:
127.0.0.1 www.contoso.com
查看是否导入成功,打开文件: /etc/ssl/certs/ca-certificates.crt
查看里面是否有contoso.crt的相关证书内容
测试证书(失效日期:2023年12月6日):https://download.csdn.net/download/pengrui18/87249527
配置:
cmake -G ‘Unix Makefiles’ …
编译:
cmake --build .
msquic的示例程序: src/tools/sample/sample.c
g++ -o sample sample.c -I…/…/…/src/inc -L./ -lmsquic -lpthread -std=c++11
客户端:
./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.csdn.net/qq_16401691/article/details/126785447#comments_24445655
[3]: https://blog.alanwei.com/blog/2021/04/11/ubuntu-install-root-ca-certificate/
[4]: https://blog.csdn.net/jingzi123456789/article/details/84862684