net-snmp源码VS2013编译添加加密支持(OpenSSL)

snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块。

认证使用的算法是一般的消息摘要算法,例如MD5/SHA等。这一部分在net-snmp的源码中已经有相关的实现,无需再使用外部库来支持它。

加密使用的算法一般可以是DES/AES等。这一部分在net-snmp的源码中没有想关的实现,需要使用外部加密算法库(OpenSSL)来支持。

1、安装或编译OpenSSL

要使得编译出来的net-snmp支持加密,首先我们需要OpenSSL库的相关文件(头文件的库文件)。这可以采用OpenSSL的源码来编译的方式,也可以直接下载已经编译好文件来使用即可。

如果是自己编译,网上有很多相关的文章了,参考着来做就是。这不是本文的重点,这里就不写了。

最快速的方式就是网上下载一个现成的来用就是了。这里我下载的是这个http://ftp.pconline.com.cn/30fde0ee26ae331abcca7f901515b536/pub/download/201010/Win32OpenSSL-1_0_1g.exe

下载之后直接双击安装即可。

下图是我这里安装后的位置,红框中的是将要用到的两个文件夹。

2、在net-snmp工程中设置相关属性

2.1、设置包含目录和库目录

在libsnmp和snmpd项目中添加包含目录和库目录。(你也可以把所有项目的都加上,我这里只用到这两个项目)其中libsnmp这个项目必须加上,否则不支持加密。

2.2、设置预处理器定义

这里要添加一个宏定义NETSNMP_USE_OPENSSL。可以修改<net-snmp/net-snmp-config.h>文件,但是这种做法会导致要所有的项目都必须设置头文件和库文件的目录,所以不是很好。这里我们只需要libsnmp和snmpd这两个项目支持即可,所以只需要设置这两个项目的属性。

3、编译。编写配置文件

编译这里就不说了,以后写一篇文章来专门讲讲使用VS2013编译net-snmp 5.7。

使用的时候必须使用制订了SNMPv3验证方式相关参数的配置文件才可。

具体的可以见这篇文章

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

net-snmp源码VS2013编译添加加密支持(OpenSSL)的更多相关文章

  1. net-snmp源码VS2013编译添加加密支持(OpenSSL)(在VS里配置编译OpenSSL)

    net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块. 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等.这 ...

  2. android源码framework下添加新资源的方法

    编译带有资源的jar包,需要更改frameworks层,方法如下: 一.增加png类型的图片资源 1.将appupdate模块所有用到的png格式图片拷贝到framework/base/core/re ...

  3. Hadoop2.x源码-编译剖析

    1.概述 最近,有小伙伴涉及到源码编译.然而,在编译期间也是遇到各种坑,在求助于搜索引擎,技术博客,也是难以解决自身所遇到的问题.笔者在被询问多次的情况下,今天打算为大家来写一篇文章来剖析下编译的细节 ...

  4. 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)

                 分类: Android 系统开发(5)                                              作者同类文章X 版权声明:本文为博主原创文章 ...

  5. CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作

    CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作 2018年07月05日 00:28:38 String峰峰 阅读数:2614   使用yum安装的MySQL一般版本比较旧,但 ...

  6. 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/fuchaosz/article/details/52473660 1 前言 经过一周的奋战,终于从谷 ...

  7. 在Android源码下编译jni所需要知道的事~

    以下只是自己的一些总结,欢迎讨论 通过NDK编译jni网上有很多例子,在这我只总结在Android源码下编译 1.android源码环境下编译so包,编出来的.so的包前面不会自动给添加lib,NDK ...

  8. php源码的编译

    本片文章主要介绍windows下的php源码的编译. 1.1 编译环境 软件 环境 操作系统 Windows 7 专业版 32bit Visual studio 2012 专业版 PHP 5.5.2. ...

  9. grpc-java源码环境编译

    1. Clone 1.1 git clone https://github.com/grpc/grpc-java.git 1.2 idea 打开grpc-java工程 2.compile 2.1 ja ...

随机推荐

  1. win 2012 关闭IE增强设置

  2. 9月8日HTML表单元素(form、文本、按钮、选择)

    表单元素 一.form form代表表单,功能:用于申明表单,定义采集数据的范围,也就是<form>和</form>里面包含的数据将被提交到服务器或者电子邮件里.<for ...

  3. eclipse自动部署问题

    1. 使用myeclipse自动部署的方法(使用myeclipse 2015自动部署有问题,待解决)(换成2014的便可以自动部署): 1.Window->preferences->Mye ...

  4. c++vector(入门级)

    #include<iostream> #include<fstream>> #include<vector> using namespace std; voi ...

  5. CodeForces 459A Pashmak and Garden(水~几何-给两点求两点组成正方形)

    题目链接:http://codeforces.com/problemset/problem/459/A 题目大意: 给出两个点(在坐标轴中),求另外两个点从而构成一个正方形,该正方形与坐标轴平行. 如 ...

  6. One Night Ultimate Werewolf Daybreak

    http://beziergames.com/products/replacement-tiles-tokens-for-one-night-ultimate-werewolf http://www. ...

  7. android自定义控件(3)-自定义当前按钮属性

    那么还是针对我们之前写的自定义控件:开关按钮为例来说,在之前的基础上,我们来看看有哪些属性是可以自定义的:按钮的背景图片,按钮的滑块图片,和按钮的状态(是开还是关),实际上都应该是可以在xml文件中直 ...

  8. lishell学习之路:流程控制(case)

    流程控制case语句: 介绍:多分支case条件语句 1.case语句和if..elif..else语句一样都是多分支条件语句,不过和if多分支条件语句不同的是,case语句只能判断一种条件关系,而i ...

  9. hdu4941 Magical Forest (stl map)

    2014多校7最水的题   Magical Forest Magical Forest Time Limit: 24000/12000 MS (Java/Others)    Memory Limit ...

  10. 思维导图-javascript(转)

    学习的道路就是要不断的总结归纳,好记性不如烂笔头,so,下面将po出8张javascript相关的思维导图. 思维导图小tips:思维导图又叫心智图,是表达发射性思维的有效的图形思维工具 ,它简单却又 ...