o派大猩o 2023-04-10 15:45 采纳率: 0%
浏览 13

怎么在libcurl使用gmssl

怎么在libcurl使用gmssl?
curl(8.0.1)工程引用了gmssl(GmSSL 2.5.4 - OpenSSL 1.1.0d),但是没见能访问国密的网站,抓了一下包,没发现加密套件有国密算法。

img

我想在libcurl中使用gmssl,应该怎么办?

  • 写回答

1条回答 默认 最新

  • 阿里嘎多学长 2023-04-10 16:53
    关注

    以下内容部分参考ChatGPT模型:


    首先需要确保gmssl已经正确安装并且可用。然后需要在libcurl的代码中使用gmssl的加密套件。可以通过以下步骤实现:

    1. 确认gmssl的安装路径,并将路径添加到libcurl的链接器选项中。

    2. 在libcurl的代码中使用以下代码启用gmssl的加密套件:

    curl_easy_setopt(curl, CURLOPT_SSL_CIPHER_LIST, "DEFAULT@SECLEVEL=1");
    
    1. 确认国密算法已经添加到gmssl的加密套件中。可以通过以下代码列出可用加密套件:
    SSL_CTX_set_cipher_list(ctx, "ALL");
    STACK_OF(SSL_CIPHER) *ciphers = SSL_CTX_get_ciphers(ctx);
    for(int i=0; i<sk_SSL_CIPHER_num(ciphers); i++) {
        SSL_CIPHER *cipher = sk_SSL_CIPHER_value(ciphers, i);
        const char *name = SSL_CIPHER_get_name(cipher);
        // 检查是否包含国密算法
    }
    
    1. 确认国密算法已经被服务器支持。可以通过抓包或者使用OpenSSL的s_client命令来确认。

    2. 如果以上步骤都已经完成,但是仍然无法访问国密网站,可能是因为服务器不支持国密算法或者使用了不同的加密套件。可以尝试使用其他加密套件或者与服务器管理员联系来解决问题。


    如果我的建议对您有帮助、请点击采纳、祝您生活愉快

    评论

报告相同问题?

问题事件

  • 创建了问题 4月10日

悬赏问题

  • ¥100 求Web版SPC控制图程序包调式
  • ¥20 指导如何跑通以下两个Github代码
  • ¥15 大家知道这个后备文件怎么删吗,为啥这些文件我只看到一份,没有后备呀
  • ¥15 C++为什么这个代码没报错运行不出来啊
  • ¥15 一道ban了很多东西的pyjail题
  • ¥15 关于#r语言#的问题:如何将生成的四幅图排在一起,且对变量的赋值进行更改,让组合的图漂亮、美观@(相关搜索:森林图)
  • ¥15 C++识别堆叠物体异常
  • ¥15 微软硬件驱动认证账号申请
  • ¥15 GPT写作提示指令词
  • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等