我有一个对称密钥,希望使用OpenSSL的ECC公钥进行加密。在其高级部分中,OpenSSL 提供了一种 加密“信封”的解决方案,这正是我所需要的。
但是,我希望将它们分成单独的步骤,而不是像OpenSSL在EVP中提供的那样全部在一起。我想要控制自己使用OpenSSL加密对称密钥,并使用自己的C++包装器加密消息,并将它们都放在我选择的格式中。
如何使用OpenSSL仅加密对称密钥并使用公钥?而不必同时加密消息,这可行吗?
我尝试在示例中提供零长度的明文,但它会导致崩溃。这可能吗?
如果不行,如何使用
但是,我希望将它们分成单独的步骤,而不是像OpenSSL在EVP中提供的那样全部在一起。我想要控制自己使用OpenSSL加密对称密钥,并使用自己的C++包装器加密消息,并将它们都放在我选择的格式中。
如何使用OpenSSL仅加密对称密钥并使用公钥?而不必同时加密消息,这可行吗?
我尝试在示例中提供零长度的明文,但它会导致崩溃。这可能吗?
如果不行,如何使用
EC_KEY
在没有EVP的情况下使用公钥进行加密?
EVP_PKEY_encrypt()
。它似乎需要一个EVP_PKEY
作为参数。我通过挖掘 OpenSSL 源代码学到了这一点,这在函数EVP_SealInit
中体现,但是在 wiki 页面 中没有任何注释说明 ECC 加密不可行。这就是我感到困惑的原因。我错过了什么吗? - The Quantum Physicist