2.2.4 OpenSSL支持的非对称加密算法

OpenSSL实现了4种非对称加密算法,包括DH算法、RSA算法、DSA算法和ECC算法。DH算法一般用于密钥交换。RSA算法和ECC算法既可以用于密钥交换,又可以用于数字签名,当然,如果你能够忍受其缓慢的速度,那么也可以用于数据加解密。DSA算法则一般只用于数字签名。

跟对称加密算法相似,OpenSSL也使用EVP技术对不同功能的非对称加密算法进行封装,提供了统一的API接口。若使用非对称加密算法进行密钥交换或者密钥加密,则使用EVPSeal和EVPOpen进行加密和解密;若使用非对称加密算法进行数字签名,则使用EVP_Sign和EVP_Verify进行签名和验证。