我使用OpenSSL與本地HTTPS服務器建立安全連接。服務器非常簡單,因爲我基本上使用了Boost Asio example,但只有一點改進。Android上的本地HTTPS服務器 - 使用dh文件
該解決方案在Win7 64b上使用OpenSSL-Win32和安裝程序隨附的證書下載here。
我已經移植了Android上的解決方案。 Android OpenSSL端口從here。直到use_tmp_dh_file方法被稱爲
一切正常:
_context.use_tmp_dh_file("/sdcard/Download/PEM/dh512.pem");
它總是與Fatal signal 11 (SIGSEGV) at 0x00000014 (code=1)
錯誤結束。
我使用Android OpenSSL端口的/ apps文件夾中的證書server.pem
和dh512.pem
。
有沒有人有一個想法是什麼錯?
編輯:
使用DH文件不是強制性的,它的工作原理沒有它,但我只是一個又進了一步,因爲開始握手時,現在它失敗:
boost::system::error_code error;
socket.handshake(boost::asio::ssl::stream_base::server, error);
凡socket
是實例:
typedef boost::asio::ssl::stream<boost::asio::ip::tcp::socket> sslSocket;
它結束了與上面相同的錯誤。這似乎是一個Android OpenSSL-Boost ASIO問題。