Developers
Resource
文档评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

SDF Engine简介与使用

SDF Engine是OpenSSL的一个密码算法引擎,用户通过该引擎可以使用OpenSSL接口调用SDF的算法能力。SDF Engine已打包在SDF套件的安装包中,安装完成后即可使用。

SDF Engine的使用主要包括以下三步:

  1. 加载ENGINE。
    • 调用ENGINE_load_dynamic()并获取OpenSSL动态库加载器;
    • 通过ENGINE_ctrl_cmd_string加载SDF Engine;
    • 执行ENGINE_init对SDF Engine进行初始化,最终得到SDF Engine句柄
  2. 通过EVP层调用算法。
    • SM3哈希:使用EVP_DigestInit_ex/EVP_DigestUpdate/EVP_DigestFinal_ex ,传入已加载的SDF Engine句柄和数据;
    • SM4对称加解密(ECB/CBC/GCM):使用EVP_EncryptInit_ex/EVP_EncryptUpdate/EVP_EncryptFinal_ex(解密对应Decrypt函数),传入已加载的SDF Engine句柄和数据;
  3. 释放资源。
    • 算法调用完成后,依次释放EVP_CIPHER_CTX/EVP_MD_CTX。
    • 最后调用ENGINE_free(g_engine)和ENGINE_cleanup()卸载ENGINE。