openssl 程序功能比较庞大,我关注的是想借助其engine机制添加新的加解密算法,因为涉及的东西较多,现在先列一个学习步骤,后面分别介绍!
1、在网上随便找一个使用openssl进行加解密的程序,知道openssl是怎么用的,通常采用 三段式进行加解密。即EVP_EncryptInit\EVP_EncryptUpdate\EVP_EncryptFinal进行加密,用EVP_DecryptInit\EVP_DecryptUpdate
\EVP_DecryptFinal进行解密。
2、学习引擎结构,可以在网上去找,中文的参考这一篇:https://blog.youkuaiyun.com/bytxl/article/details/39498769 英文的可以参考:https://www.openssl.org/blog/blog/2015/11/23/engine-building-lesson-2-an-example-md5-engine/ 这一篇。
3、新建dll引擎项目,新写自己要使用的函数,然后与引擎绑定,编译生成dll引擎文件。【如果自己添加的是OPENSLL中没有的算法,那么一定要 在引擎中 用ObjectCreat()对新算法名进行注册啊 】
4、写测试程序,按步骤1的方式调用自己写的那个算法名,然后看是否能执行成功,有错的话就慢慢调试,至少能用起来就已经很不错了!
我也是个新手,按照上述方式调通了第一个程序,有不足的地方还请多多指教!