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. JAVA基础知识(转)

    本文就java基础部分容易混淆的一些知识点进行了一下总结.因为Java本身知识点非常多,不可能在很短的篇幅就能叙述完,而且就某一个点来讲,如欲仔细去探究,也能阐述的非常多.这里不做全面仔细的论述,仅做 ...

  2. osharp3使用经验:整合DbContextScope 文章 1

    osharp3的事务处理是跳过savechangeing方法来控制的,没有DbContextScope专业 DbContextScope管理dbcontext的优劣本文不讨论 整合过程: 1.在.Da ...

  3. Struts2的模板和主题theme及自定义theme的使用

    Struts2的模板和主题theme及自定义theme 标签: struts2 2016-03-29 11:22 190人阅读 评论(0) 收藏 举报  分类: javaweb(8)  Struts2 ...

  4. IntelliJ IDEA 当pom.xml更新时,自动加载pom.xml

    http://stackoverflow.com/questions/19444471/intellij-idea-how-to-synchronize-project-libraries-with- ...

  5. Python Paramiko模块与MySQL数据库操作

    Paramiko模块批量管理:通过调用ssh协议进行远程机器的批量命令执行. 要使用paramiko模块那就必须先安装这个第三方模块,仅需要在本地上安装相应的软件(python以及PyCrypto), ...

  6. Oracle 中count(1) 和count(*) 的区别

    count()与count(*)比较: 如果你的数据表没有主键,那么count()比count(*)快 如果有主键的话,那主键(联合主键)作为count的条件也比count(*)要快 如果你的表只有一 ...

  7. AjaxAnywhere+struts用法

    AjaxAnywhere的用法 1,简介 AjaxAnywhere被设计成能够把任何一套现存的JSP组件转换成AJAX感知组件而不需要复杂的JavaScript编码.它利用标签把Web页面简单地划分成 ...

  8. Java Sax解析

    一.   Java Sax解析是按照xml文件的顺序一步一步的来解析,在解析xml文件之前,我们要先了解xml文件的节点的种类,一种是ElementNode,一种是TextNode.如下面的这段boo ...

  9. R语言 常见模型

    转自 雪晴网 [R]如何确定最适合数据集的机器学习算法 抽查(Spot checking)机器学习算法是指如何找出最适合于给定数据集的算法模型.本文中我将介绍八个常用于抽查的机器学习算法,文中还包括各 ...

  10. nyoj 364 田忌赛马(贪心)

    田忌赛马 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 Here is a famous story in Chinese history. "That ...