2010-06-21 58 views
0

我正在設計一個C++培訓計劃,將分發給大量設施,其中大部分設施不會影響IT人員。該程序通過TCP連接與中央數據庫連接,中央數據庫存儲各種數據以用於研究和評估。針對消費者應用的安全TCP連接建議

我遇到的問題是我希望使傳輸安全,最常見的做法似乎是OpenSSL - 這似乎一切正常,但我遇到了問題。據我瞭解,OpenSSL必須專門安裝在每個系統上。這些設施將不具備在他們的系統上編譯和安裝源代碼所需的專業知識,計算機將有足夠的多樣性(所有的Windows設備,但不同的製造和質量),以排除分發特定編譯的二進制文件,廣泛的分佈使我們的團隊無法親自設置它。

有沒有人有如何解決這個問題的建議?我在假設中只是不正確,而且可以在沒有安裝的情況下分發它?如果沒有,是否有更實用的選擇?

回答

3

只要你所有的機器都是XP +,帶有兩個版本的OpenSSL,你就應該準備好了,一個用於32位,一個用於64位。只需提供兩個單獨的安裝程序即可。沒有必要爲每臺機器編譯。

只要記住在您的安裝程序中也包含Visual C++可再發行組件包。

如果您不得不支持古老的Windows版本,它會變得更復雜一些,但不是那麼多。

1

事實上,根據您所描述的,OpenSSL似乎是一個很好的選擇。

從我對OpenSSL的理解中可以看出,它是一個用C語言編寫的庫(其它語言的包裝文件),這意味着您可以將它包含在任何正在編寫的代碼庫中。

我很確定它是而不是一個必須安裝的程序,所以我認爲你不應該擔心這一點。

1

您可能還想嘗試IPSEC,如果您關心的是將二進制文件等發佈到客戶端機器,IPSEC可能是一個有趣的解決方案。由於幾乎所有的Windows操作系統都支持它,所以你只需要在數據庫服務器上配置IPSEC策略 - 通過這種方式將其設置爲「必需」,客戶機和數據庫服務器之間的所有數據都將被加密。