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. ecshop程序结构说明

    文件夹说明 名称 备注(作用或意义) 根目录 前台程序文件 admin 后台程序文件 admin/help 功能的帮助文件 admin/images 后台页面用图片 admin/includes 后台 ...

  2. yourphp读取不到hits

    源代码 <YP:list name="Article" order="id desc" catid="37" limit=" ...

  3. Fragment碎片的创建和动态更新

    Fragment,在平板应用中较为参见,把视图分为两个甚至多个模块. 一,一个简单的fragment 1.创建两个局部文件,用于等待被调用 (1)left_fragment (2)right_frag ...

  4. lamp环境搭建(ubuntu)

    系统:Ubuntu14.04 方法一.最简单的在线安装 (参考网址:http://os.51cto.com/art/201307/405333.htm) 具体过程: [1]打开终端,执行命令 # su ...

  5. python快排算法

    通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列. ...

  6. ajax实例详解(2)

    说到ajax当然离不开json格式了.在ajax的数据传递过程中用到最多的便是json格式了吧. 什么是json格式,在刚开始用它的时候,着实让人迷茫了一阵子呀.说的白了点所谓json不就是一种数据的 ...

  7. 导入excel错误:外部表不是预期的格式 解决方案

    环境:win7+iis7+Office2007 在asp.net网站中导出Excel文件后,再把文件导入到数据库中. 读取Excel文件时,打开连接出错. 错误为:外部表不是预期的格式 解决:检查了一 ...

  8. R语言画图实例-参考R语言实战

    dose <- c(, , , ,) drugA <- c(, , , , ) drugB <- c(, , , , ) # 数据准备 opar <- par(no.reado ...

  9. javascript数组的知识点讲解

    javascript数组的知识点讲解 阅读目录 数组的基本方法如下 concat() join() pop() push() reverse() shift() sort() splice() toS ...

  10. 给select添加自定义值和选项

    添加选项: document.getElementById("id_select").options.add(new Option("name", " ...