參考鏈接
- 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函數查找符合要求的算法,如果是算法幼蟲,則等待算法注冊后返回新注冊的算法。即使連續三次查找均未命中也會創建注冊用算法幼蟲,觸發調用者向加密通知鏈發布創建動態算法的通知。