我的申请中有一个奇怪的情况。我正在使用 OpenSSL 中的 EVP 方法来计算摘要并执行加密。最后,我在 CryptoProvider 类(我的应用程序的主要网关)的析构函数中执行EVP_cleanup( )。它从 OpenSSL 状态卸载所有算法等。
但是,如果客户端将 OpenSSL 用于其他用途,这使得在我的应用程序之外无缝使用 OpenSSL 成为不可能。它也清理了他们的工作。
现在,我有以下选择:
忽略 EVP_cleanup()。这会导致泄漏或其他后果吗?
在我的应用程序中设置一个用于清理的静态 API,客户端必须在其生命周期结束时调用它,这在我的应用程序生命周期之后。
只需相信客户端在其生命周期结束时调用 EVP_cleanup 即可。
你觉得你会在这里做什么?