我是安全和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

我是安全和OpenSSL的初学者.我的目标是以编程方式生成证书,通过Chrome所做的“过时​​”羞辱.我用来生成使用RSA的AES_128_GCM的证书,即使我尝试将密码列表设置为kEECDH:kEDH:!ADH:AES256-SHA256,服务器上下文使用SSL_CTX_new(TLSv1_2_server_method());.基于the documentation的示例,我尝试了以下方法:...
c语言 编写的DH 算法 ,借鉴学习 A系统构建 密钥 :构建一对公私 密钥 Private Key1和Public Key1; A系统向B系统公布自己的公钥(Public Key1); B系统使用A公布的公钥(Public Key1)建立一对 密钥 :Private Key2和Public Key2; B系统向A系统公布自己的公钥Public Key2; A系统使用自己的私钥Private Key1和B系统的公钥Public Key2构建本地 密钥 ; B系统使用自己的私钥Private Key2和A系统的公钥Public Key1构建本地 密钥
DH 密钥 交换 算法 因为不能验证数据的来源,所以不能抵御中间人击. 如果需要安全强度更高的非对称加密 算法 ,可以采用Ecc椭圆曲线加密 算法 或者使用广泛的RSA加密 算法 .       不对称加密 算法 主要 用于 在公共网络安全的数据传输.      不对称加密 算法 关键部分在于大整数数学函数库的使用.      C/C++ 实现 的DH 算法 动态链接库,需要64位的可以自己手动编译. 用 C语言 在Linux系统环境下模拟D-H 密钥 交换 ,并以协商出的 密钥 对传输信息用AES-256-GCM进行加密, 实现 加密通信 对其进行中间人攻击,在不干扰正常通信的情况下,截获其通讯内容 实现 内容: 可自由发挥的空间不多,在 密钥 交换 后,我 实现 的是客户端可以输入简单指令在服务端执行,并获取反馈 使用工具: openssl 命令 base64 or-enc base64 EVP API EVP_EncodeBlock((unsigned char *)encodeData,sourceDta,16); EVP_PKEY 对象 用于 存储公钥和(可选)私钥,以及相关的 算法 和参数。 支持的类型有: EVP_PKEY_EC:椭圆曲线 密钥 用于 ECDSA 和 ECDH) - 支持签名/验证操作和 密钥 派生 EVP_PKEY_RS
TLS_ DHE _RSA_WITH_AES_256_CBC_SHA256是一种使用256位AES 算法 进行加密和SHA256哈希 算法 进行完整性验证的TLS加密套件,它使用Diffie-Hellman 密钥 交换 协议以提供前向安全性。但是,由于 DHE 密钥 交换 协议是基于离散对数问题的,当攻击者成功地获得了服务器的私钥时,他们可以使用历史记录攻击来推导出 DHE 协商中使用的共享 密钥 ,因此这种加密套件可能不具备前向安全性。 因此,为了 实现 更好的前向安全性,可以考虑使用EC DHE 密钥 交换 协议替代 DHE 密钥 交换 协议,因为EC DHE 密钥 交换 协议是基于椭圆曲线离散对数问题的,攻击者即使获得了服务器的私钥,也无法推导出协商中使用的共享 密钥