net-snmp源碼VS2013編譯添加加密支持(OpenSSL)(在VS裏配置編譯OpenSSL)

net-snmp源碼VS2013編譯添加加密支持(OpenSSL)

snmp v3 協議使用了基於用戶的安全模型,具備認證和加密兩個模塊。html

認證使用的算法是通常的消息摘要算法,例如MD5/SHA等。這一部分在net-snmp的源碼中已經有相關的實現,無需再使用外部庫來支持它。算法

加密使用的算法通常能夠是DES/AES等。這一部分在net-snmp的源碼中沒有想關的實現,須要使用外部加密算法庫(OpenSSL)來支持。安全

一、安裝或編譯OpenSSL

要使得編譯出來的net-snmp支持加密,首先咱們須要OpenSSL庫的相關文件(頭文件的庫文件)。這能夠採用OpenSSL的源碼來編譯的方式,也能夠直接下載已經編譯好文件來使用便可。加密

若是是本身編譯,網上有不少相關的文章了,參考着來作就是。這不是本文的重點,這裏就不寫了。3d

最快速的方式就是網上下載一個現成的來用就是了。這裏我下載的是這個http://ftp.pconline.com.cn/30fde0ee26ae331abcca7f901515b536/pub/download/201010/Win32OpenSSL-1_0_1g.exehtm

下載以後直接雙擊安裝便可。blog

下圖是我這裏安裝後的位置,紅框中的是將要用到的兩個文件夾。get

 

 

二、在net-snmp工程中設置相關屬性

2.一、設置包含目錄和庫目錄

在libsnmp和snmpd項目中添加包含目錄和庫目錄。(你也能夠把全部項目的都加上,我這裏只用到這兩個項目)其中libsnmp這個項目必須加上,不然不支持加密。源碼

2.二、設置預處理器定義

這裏要添加一個宏定義NETSNMP_USE_OPENSSL。能夠修改<net-snmp/net-snmp-config.h>文件,可是這種作法會致使要全部的項目都必須設置頭文件和庫文件的目錄,因此不是很好。這裏咱們只須要libsnmp和snmpd這兩個項目支持便可,因此只須要設置這兩個項目的屬性。it

三、編譯。編寫配置文件

編譯這裏就不說了,之後寫一篇文章來專門講講使用VS2013編譯net-snmp 5.7。

使用的時候必須使用制訂了SNMPv3驗證方式相關參數的配置文件纔可。

具體的能夠見這篇文章

http://www.cnblogs.com/oloroso/p/4844907.html

 

http://www.cnblogs.com/oloroso/p/5001672.html

相關文章
相關標籤/搜索