Невозможно включить hkdf.h из библиотеки crypto ++ в мой код.
Он говорит, что cryptopp / hkdf.h не найден.
HKDF
было добавлено в Crypto ++ 5.6.3.В старых версиях библиотеки ее нет, как в Ubuntu 14 или CentOS 5.
Это реализация только для заголовков, использующая файл hkdf.h
.Вы можете скачать его и оставить в каталоге установки Crypto ++.Может быть что-то вроде следующего для Crypto ++ 5.6.3:
# Crypto++ 5.6.3
wget https://raw.githubusercontent.com/weidai11/cryptopp/217cb1f983c6/hkdf.h
sudo cp hkdf.h /usr/include/cryptopp/
Интерфейс функций деривации ключей изменился в Crypto ++ 7.0.Точнее, в Crypto ++ 7.0 мы добавили базовый класс для использования в качестве интерфейса (ранее его не было).Базовый класс - KeyDerivationFunction
, и это позволило нам улучшить самотестирование для классов функций деривации ключей.Так что может быть что-то вроде следующего для Crypto ++ 7.0:
# Crypto++ 7.0
wget https://raw.githubusercontent.com/weidai11/cryptopp/c8d8caf70074/hkdf.h
sudo cp hkdf.h /usr/include/cryptopp/
Это не должно быть проблемой, я что-то упустил?
Я думаю, что ваша проблемавероятно зависит от вашего дистрибутива (или от того, кто поставляет Crypto ++).Мы могли бы сказать больше, если бы вы предоставили подробную информацию о дистрибутиве и версии библиотеки, которую они предоставляют.
Чтобы рискнуть предположить ... Debian и Fedora остаются в курсе выпусков Crypto ++.Или они в течение последних нескольких лет.Так что вы, вероятно, не используете Debian 8, Ubuntu 17, Fedora 22 или их соответствующие варианты.
Однако вы можете использовать Debian 7 или более раннюю версию, Ubuntu 12 или более раннюю версию или Fedora 21или ранее.В этом случае я считаю, что вы используете Crypto ++ 5.6.2.
Я считаю, что Gentoo, BSD и некоторые другие отстают на кривой выпуска.Насколько я знаю, некоторые дистрибутивы все еще предоставляют Crypto ++ 5.6.2.