Как я могу добавить некоторые новые функции в OpenSSL API, чтобы использовать GPU для некоторых криптографических алгоритмов (AES, RSA и т. д.), написанных мной? Я хотел бы, например, использовать команду openssl -engine cuda_engine genrsa -out rsa.key 1024
и OpenSSL, чтобы использовать мой код genrsa
CUDA вместо исходного кода. Я должен упомянуть, что я хочу сделать это на Windows 7 SP1, 64-бит. Даже фиктивное решение было бы полезно, потому что мне нужно понять механизм.
Движок OpenSSL для CUDA в Windows
Ответы (1)
Вот пара подробных статей, написанных разработчиком OpenSSL о создании движка.
Урок 1 : Минимум бесполезный движок
Я бы также рекомендовал просмотреть движки, которые находятся в дереве исходного кода OpenSSL.
Вам нужно только перекомпилировать openssl, если у вас не включена поддержка динамического движка. Дополнительная информация OpenSSL Wiki
Для приложения/библиотеки openssl добавьте в openssl.cnf.
openssl_conf = openssl_def
[openssl_def]
engines = engines_section
[engines_section]
silly = silly_section
[silly_section]
engine_id = silly
dynamic_path = /home/workingdir/silly_engine.dll
init = 0
person
x64architecture
schedule
15.01.2016
Хорошо, тогда. Как я могу добавить этот движок в файл конфигурации и нужно ли мне перекомпилировать OpenSSL? Спасибо
- person Dani Grosu; 15.01.2016
Вторая проблема: я не могу создать файл dll в Visual Studio 2012:
Error 1 error C2373: 'bind' : redefinition; different type modifiers
- person Dani Grosu; 16.01.2016
Используйте другое имя для функции привязки, например. engbind.
- person x64architecture; 16.01.2016