2013-03-31 24 views
1

我使用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.pemdh512.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問題。

回答

1

這個問題的答案很簡單,但很難找到答案。實現我的HTTPS服務器的本地庫也使用OpenSSL干擾其他本地庫。

相關問題