Tag: pki

如何在OpenSSL的EVP_PKEY结构中访问原始ECDH公钥,私钥和参数?

我正在使用OpenSSL的c库生成椭圆曲线Diffie-Hellman(ECDH)密钥对,遵循此处的第一个代码示例。 它掩盖了这一行的实际公钥交换: peerkey = get_peerkey(pkey); pkey变量和返回值都是EVP *类型。 pkey包含先前生成的公钥,私钥和params,返回值仅包含对等方的公钥。 所以这提出了三个问题: get_peerkey()实际上如何从get_peerkey()提取公钥,以便发送给对等方? 代码如何从pKey提取私钥和params来存储它们以便在密钥交换后供以后使用? get_peerkey()如何从对等方的原始公钥生成新的EVP_PKEY结构? 我见过OpenSSL函数EVP_PKEY_print_public() , EVP_PKEY_print_private()和EVP_PKEY_print_params()但它们用于生成人类可读的输出。 我还没有发现将人类可读的公钥转换回EVP_PKEY结构的任何等价物。