SecurityModel usm = secModels.getSecurityModel(new Integer32(USM.SECURITY_MODEL_USM)); if (usm instanceof USM) { setCurrentMsgID(randomMsgID(((USM)usm).getEngineBoots()));
SecurityModel usm = secModels.getSecurityModel(new Integer32(USM.SECURITY_MODEL_USM)); if (usm instanceof USM) { setCurrentMsgID(randomMsgID(((USM)usm).getEngineBoots()));
/** * Sets the local engine ID for the SNMP entity represented by this * <code>Snmp</code> instance. This is a convenience method that sets * the local engine ID in the associated <code>MPv3</code> and * <code>USM</code>. * * @param engineID * a byte array containing the local engine ID. The length and content * has to comply with the constraints defined in the SNMP-FRAMEWORK-MIB. * @param engineBoots * the number of boots of this SNMP engine (zero based). * @param engineTime * the number of seconds since the value of engineBoots last changed. * * @see MPv3 * @see USM */ @Override public void setLocalEngine(byte[] engineID, int engineBoots, int engineTime) { MPv3 mpv3 = getMPv3(); mpv3.setLocalEngineID(engineID); mpv3.setCurrentMsgID(MPv3.randomMsgID(engineBoots)); USM usm = (USM) mpv3.getSecurityModel(SecurityModel.SECURITY_MODEL_USM); if (usm != null) { usm.setLocalEngine(new OctetString(engineID), engineBoots, engineTime); } }
/** * Sets the local engine ID for the SNMP entity represented by this * <code>Snmp</code> instance. This is a convenience method that sets * the local engine ID in the associated <code>MPv3</code> and * <code>USM</code>. * @param engineID * a byte array containing the local engine ID. The length and content * has to comply with the constraints defined in the SNMP-FRAMEWORK-MIB. * @param engineBoots * the number of boots of this SNMP engine (zero based). * @param engineTime * the number of seconds since the value of engineBoots last changed. * @see MPv3 * @see USM */ public void setLocalEngine(byte[] engineID, int engineBoots, int engineTime) { MPv3 mpv3 = getMPv3(); mpv3.setLocalEngineID(engineID); mpv3.setCurrentMsgID(MPv3.randomMsgID(engineBoots)); USM usm = (USM) mpv3.getSecurityModel(SecurityModel.SECURITY_MODEL_USM); usm.setLocalEngine(new OctetString(engineID), engineBoots, engineTime); }
private Snmp createSnmpSession() throws IOException { AbstractTransportMapping<? extends Address> transport; if (address instanceof TlsAddress) { transport = new TLSTM(); } else if (address instanceof TcpAddress) { transport = new DefaultTcpTransportMapping(); } else { transport = new DefaultUdpTransportMapping(); } // Could save some CPU cycles: // transport.setAsyncMsgProcessingSupported(false); Snmp snmp = new Snmp(transport); MPv3 mpv3 = (MPv3)snmp.getMessageProcessingModel(MPv3.ID); mpv3.setLocalEngineID(localEngineID.getValue()); mpv3.setCurrentMsgID(MPv3.randomMsgID(engineBootCount)); if (version == SnmpConstants.version3) { USM usm = new USM(SecurityProtocols.getInstance(), localEngineID, engineBootCount); SecurityModels.getInstance().addSecurityModel(usm); addUsmUser(snmp); SecurityModels.getInstance().addSecurityModel( new TSM(localEngineID, false)); } return snmp; }