#android #java-native-interface #openssl
#Android #java-native-interface #openssl
Вопрос:
Я скомпилировал Openssl
для Android, но я не вижу, как получить доступ к функциям из java. Я думаю, мне нужны какие-то файлы JNI для этого. Есть ли способ генерировать соответствующие файлы JNI для libssl.so и libcrypto.so из Openssl
файлов .c и .h.
Комментарии:
1. Я думаю, у вас должен быть файл заголовка (.h ) скомпилированного Openssl, если у вас есть, с помощью jni вы можете это сделать.
Ответ №1:
Взгляните на swig. Это должно позволять генерировать необходимый Java и c-код, позволяющий вызывать собственные функции, определенные в заголовке openssl, из Java.
Вы должны просто уметь делать:
swig openssl.h
И у вас будет несколько классов Java, представляющих интерфейс openssl.h, и у вас будет c-оболочка, которую вам нужно скомпилировать для Android (как вы сделали для openssl).
На другом узле вы, возможно, захотите взглянуть на надувной замок. Это криптосистема, включенная в Android (и доступная через javax.net.ssl — читая эту ссылку, кажется, что openssl уже включен в Android).