snmp的v3安全级别为AUTH_NOPRIV
我的这个UsmUser该怎么赋值,还是有别的方法,我看到UsmUser只有两个方法,都必须要认证和加密,现在我只想要认证不加密怎么做
```java
if (securityLevel.equals("3")) {
snmp.getUSM().addUser(new OctetString(usmUser), new UsmUser(new OctetString(usmUser), GainOid.gainOidString(authAlgorithm), new OctetString(authPassword), GainOid.gainOidString(privacyAlgorithm), new OctetString(privacyPassword)));
target = new UserTarget();
// 设置安全级别
((UserTarget) target).setSecurityLevel(SecurityLevel.AUTH_PRIV); //安全级别
((UserTarget) target).setSecurityName(new OctetString(usmUser));//安全级别名称
target.setVersion(SnmpConstants.version3);
}
if (securityLevel.equals("2")) {
snmp.getUSM().addUser(new OctetString(usmUser), new UsmUser(new OctetString(usmUser), GainOid.gainOidString(authAlgorithm), new OctetString(authPassword), GainOid.gainOidString(privacyAlgorithm), new OctetString(privacyPassword)));
target = new UserTarget();
// 设置安全级别
((UserTarget) target).setSecurityLevel(SecurityLevel.AUTH_NOPRIV); //安全级别
((UserTarget) target).setSecurityName(new OctetString(usmUser));//安全级别名称
target.setVersion(SnmpConstants.version3);
}
if (securityLevel.equals("1")) {
snmp.getUSM().addUser(new OctetString(usmUser), new UsmUser(new OctetString(usmUser), GainOid.gainOidString(authAlgorithm), new OctetString(authPassword), GainOid.gainOidString(privacyAlgorithm), new OctetString(privacyPassword)));
target = new UserTarget();
// 设置安全级别
((UserTarget) target).setSecurityLevel(SecurityLevel.NOAUTH_NOPRIV); //安全级别
((UserTarget) target).setSecurityName(new OctetString(usmUser));//安全级别名称
target.setVersion(SnmpConstants.version3);
}
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。
因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。