我找不到关于ENGINEOpenSSL 是什么的很好的解释。它用于像EVP_PKEY_CTX_new.
我EVP_PKEY_CTX_new在加密/解密某些东西之前使用EVP_PKEY_encrypt,EVP_PKEY_decrypt但是我真的需要ENGINE在调用EVP_PKEY_CTX_new. 我在 OpenSSL 内部查看的每个地方都将参数指定为 null。
所以我的问题是:ENGINEOpenSSL 中的什么是它,它的用途是什么,如果没有指定它有什么区别?
在C/C++中使用OpenSSL加密库时,EVP接口是否自动支持AES-NI硬件加速(假设处理器支持)?参考这个,看起来命令行OpenSSL确实有支持.我想知道是否有我必须使用的特定函数调用来利用这种支持.
例如,如果我使用EVP_EncryptInit_ex(ctx, type, imp, key, iv),那么这些参数中的任何一个都必须指定NI加速度吗?即,你会EVP_EncryptInit_ex(ctx, EVP_aes_256_cbc(), NULL, key, iv)做的伎俩?
谢谢!