C语言实现密钥交换,C语言 用于DHE交换的OpenSSL证书生成

这篇博客介绍了作者作为安全和OpenSSL新手,尝试编程生成证书以避免Chrome的‘过时’警告。作者分享了在生成证书过程中遇到的问题,即在X509_sign时遇到错误,因为该键类型不支持EVP_PKEY_sign_init操作。文章探讨了ECDHE和RSA密钥交换,并提出了设置密码套件以确保短暂密钥交换的方法。作者寻求代码示例来帮助设置ECDHE,并提供了相关的OpenSSL命令和密码套件列表。
摘要由CSDN通过智能技术生成

我是安全和OpenSSL的初学者.我的目标是以编程方式生成证书,通过Chrome所做的“过时​​”羞辱.我用来生成使用RSA的AES_128_GCM的证书,即使我尝试将密码列表设置为kEECDH:kEDH:!ADH:AES256-SHA256,服务器上下文使用SSL_CTX_new(TLSv1_2_server_method());.

基于the documentation的示例,我尝试了以下方法:

X509 *x = NULL;

EVP_PKEY *pk = NULL;

EVP_PKEY_CTX *ctx = NULL;

EVP_PKEY *params = NULL;

if(NULL == (params = EVP_PKEY_new()))

goto err;

if(1 != EVP_PKEY_set1_DH(params, DH_get_2048_256()))

goto err;

if(!(ctx = EVP_PKEY_CTX_new(params, NULL)))

goto err;

if(!EVP_PKEY_keygen_init(ctx))

goto err;

if(!EVP_PKEY_keygen(ctx, &pk))

goto err;

if ((x=X509_new()) == NULL)

goto err;

X509_set_version(x,2);

X509_set_pubkey(x,pk);

//... (setting the issuer, subject, etc)

//Here is where it fails

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值