参考链接
- Linux加密框架的算法管理(二)_家有一希的博客-CSDN博客
- linux加密框架 crypto 算法管理 - 算法查找接口 crypto_find_alg_CHYabc123456hh的博客-CSDN博客
- linux加密框架 crypto 算法管理 - 算法查找接口 crypto_alg_mod_lookup_CHYabc123456hh的博客-CSDN博客
- linux加密框架 crypto 算法管理 - 算法查找接口 crypto_larval_lookup_CHYabc123456hh的博客-CSDN博客
- linux加密框架 crypto 算法管理 - 算法查找接口 crypto_alg_lookup函数_CHYabc123456hh的博客-CSDN博客
算法查找接口之间的差异
- 上述三组算法查找接口crypto_find_alg/crypto_alg_mod_lookup、crypto_larval_lookup和crypto_alg_lookup/__crypto_alg_lookup的输入参数类型是相同的,但是返回值有很大差异,
- 1)crypto_find_alg/crypto_alg_mod_lookup函数是面向应用的,因此查找命中时返回的是符合查找要求的算法,查找未命中时返回异常。
- 2)crypto_alg_lookup(__crypto_alg_lookup)函数是面向算法管理链表的,因此查找命中返回的是符合查找要求的算法(可能是注册用算法幼虫或检测用算法幼虫),查找未命中时返回的是空指针。
- 3)crypto_larval_lookup函数处于算法查找的中间层,最多三次调用crypto_alg_lookup/__crypto_alg_lookup函数查找符合要求的算法,如果是算法幼虫,则等待算法注册后返回新注册的算法。即使连续三次查找均未命中也会创建注册用算法幼虫,触发调用者向加密通知链发布创建动态算法的通知。