Refine search
/** * Builds target resource. * @param context Process context */ private void buildTargetResource(ProcessContext context) { if((this.transportMapping == null) || !this.transportMapping.isListening() || (this.snmp == null)) { try { this.transportMapping = new DefaultUdpTransportMapping(); this.snmp = new Snmp(this.transportMapping); if("SNMPv3".equals(context.getProperty(SNMP_VERSION).getValue())) { USM usm = new USM(SecurityProtocols.getInstance(), new OctetString(MPv3.createLocalEngineID()), 0); SecurityModels.getInstance().addSecurityModel(usm); } this.transportMapping.listen(); } catch (Exception e) { throw new IllegalStateException("Failed to initialize UDP transport mapping", e); } } if (this.snmpTarget == null) { this.snmpTarget = this.createSnmpTarget(context); } if (this.targetResource == null) { this.targetResource = this.finishBuildingTargetResource(context); } }
/** * Default constructor with random engine ID with the default enterprise ID and a zero engineBoots counter. * The security protocols instance defined by {@link org.snmp4j.security.SecurityProtocols#getInstance()} with the * default protocols is used. * * @since 2.2.4 */ public USM() { this(SecurityProtocols.getInstance().addDefaultProtocols(), new OctetString(MPv3.createLocalEngineID(randomID())), 0); }
/** * Get the security protocol ({@link AuthenticationProtocol} or {@link PrivacyProtocol}) for the specified protocol * OID. * @param protocolID * an object identifier of the security protocol to return. * @return * the security protocol or {@code null} if a protocol with such an ID has not been added yet. * @since 2.6.0 */ public SecurityProtocol getSecurityProtocol(OID protocolID) { SecurityProtocol protocol = getAuthenticationProtocol(protocolID); if (protocol == null) { protocol = getPrivacyProtocol(protocolID); } return protocol; }
/** * Gets the set of security protocols supported by this agent configuration. * * @return {@link SecurityProtocols#getInstance()} by default after initialization * by {@link SecurityProtocols#addDefaultProtocols()}. */ protected SecurityProtocols getSupportedSecurityProtocols() { SecurityProtocols.getInstance().addDefaultProtocols(); return SecurityProtocols.getInstance(); }
private void initMessageDispatcher(){ this.dispatcher = new MessageDispatcherImpl(); usm = new USM(SecurityProtocols.getInstance(), responder.getLocalEngineID(), 0); mpv3 = new MPv3(usm); SecurityModels.getInstance().addSecurityModel(usm); SecurityProtocols.getInstance().addDefaultProtocols(); // all other privacy and authentication protocols are provided by the above method SecurityProtocols.getInstance().addPrivacyProtocol(new Priv3DES()); dispatcher.addMessageProcessingModel(new MPv1()); dispatcher.addMessageProcessingModel(new MPv2c()); dispatcher.addMessageProcessingModel(mpv3); }
OctetString userName = new OctetString(securityName); usmSecurityStateReference.setSecurityName(userName.getValue()); usmSecurityParams.setUserName(userName); getSecurityName(new OctetString(securityEngineID), userName); if (secEngineID.length() == 0) { if (isEngineDiscoveryEnabled()) { if (hasUser(null, secName)) { user = new UsmUserEntry(); securityProtocols.getAuthenticationProtocol(user.getUsmUser().getAuthenticationProtocol()); PrivacyProtocol priv = securityProtocols.getPrivacyProtocol(user.getUsmUser().getPrivacyProtocol()); usmSecurityParams.setAuthenticationProtocol(auth); usmSecurityParams.setPrivacyProtocol(priv);
TransportMapping<?> transport = new DefaultUdpTransportMapping(); Snmp snmp = new Snmp(transport); USM usm = new USM(SecurityProtocols.getInstance() .addDefaultProtocols(), new OctetString( MPv3.createLocalEngineID()), 0); SecurityProtocols.getInstance() .addPrivacyProtocol(new PrivAES192()); SecurityModels.getInstance().addSecurityModel(usm); transport.listen(); snmp.getUSM().addUser( new OctetString("MD5DES"), new UsmUser(new OctetString("MD5DES"), AuthMD5.ID, new OctetString("UserName"), PrivAES128.ID,
private org.snmp4j.Snmp createSnmp3(Profile profile) { try { TransportMapping<?> transport = new DefaultUdpTransportMapping(); org.snmp4j.Snmp snmp = new org.snmp4j.Snmp(transport); SecurityProtocols securityProtocols = SecurityProtocols.getInstance(); securityProtocols.addDefaultProtocols(); securityProtocols.addAuthenticationProtocol(new AuthMD5()); securityProtocols.addAuthenticationProtocol(new AuthSHA()); securityProtocols.addPrivacyProtocol(new PrivAES128()); securityProtocols.addPrivacyProtocol(new PrivAES192()); securityProtocols.addPrivacyProtocol(new PrivAES256()); USM usm = new USM(securityProtocols, profile.engineId, 0); ((org.snmp4j.mp.MPv3) snmp.getMessageProcessingModel(org.snmp4j.mp.MPv3.ID)) .setLocalEngineID(profile.engineId.getValue()); ((org.snmp4j.mp.MPv3) snmp.getMessageProcessingModel(org.snmp4j.mp.MPv3.ID)) .getSecurityModels().addSecurityModel(usm); SecurityModels.getInstance().addSecurityModel( usm); transport.listen(); snmp.getUSM().addUser( profile.username, getUsmUser(profile)); return snmp; } catch (IOException e) { throw new NotificationServiceException("error creating version 3 snmp " + getClass().getName()); } }
bmd.addMessageProcessingModel(new MPv2c()); bmd.addMessageProcessingModel(new MPv1()); bmd.addMessageProcessingModel(new MPv3()); SecurityProtocols.getInstance().addDefaultProtocols(); SecurityProtocols.getInstance().addPrivacyProtocol(new PrivAES256With3DESKeyExtension()); SecurityProtocols.getInstance().addPrivacyProtocol(new PrivAES192With3DESKeyExtension()); snmp = new Snmp(bmd, transport); if ((args.containsKey("v")) && if (target.getSecurityModel() == SecurityModel.SECURITY_MODEL_USM) { SecurityModels.getInstance().addSecurityModel( new USM(SecurityProtocols.getInstance(), new OctetString(mpv3.getLocalEngineID()), 0)); } else if (target.getSecurityModel() == SecurityModel.SECURITY_MODEL_TSM) { null); if (localEngineID == null) { SecurityModels.getInstance().addSecurityModel(new TSM(new OctetString(mpv3.getLocalEngineID()), false)); } else { SecurityModels.getInstance().addSecurityModel(new TSM(localEngineID, false));
/** * Creates the test agent with a file to read and store the boot counter and * a file to read and store its configuration. * * @param bootCounterFile * a file containing the boot counter in serialized form (as expected by * BaseAgent). * @param configFile * a configuration file with serialized management information. * * @throws IOException * if the boot counter or config file cannot be read properly. */ public TestAgent(File bootCounterFile, File configFile) throws IOException { super(bootCounterFile, configFile, new CommandProcessor(new OctetString(MPv3.createLocalEngineID()))); // Alternatively: OctetString.fromHexString("00:00:00:00:00:00:02", ':'); agent.setWorkerPool(ThreadPool.create("RequestPool", 4)); // Uncomment the following if you want to use AES 192 or 256 with 3DES like key extension. SecurityProtocols.getInstance().addPrivacyProtocol(new PrivAES256With3DESKeyExtension()); }
SecurityProtocols.getInstance().addDefaultProtocols(); SecurityProtocols.getInstance().addPrivacyProtocol(new Priv3DES()); target.setCommunity(new OctetString(SnmpBinding.community));
/** * <p>initMessageDispatcher.</p> * * @param logBasedMessageDispatcher a {@link org.snmp4j.MessageDispatcher} object. */ private void initMessageDispatcher(MessageDispatcher logBasedMessageDispatcher) { logBasedMessageDispatcher.addMessageProcessingModel(new MPv2c()); logBasedMessageDispatcher.addMessageProcessingModel(new MPv1()); logBasedMessageDispatcher.addMessageProcessingModel(new MPv3()); SecurityProtocols.getInstance().addDefaultProtocols(); }
target.setTimeout(10000); target.setSecurityLevel(SecurityLevel.AUTH_PRIV); target.setSecurityName(new OctetString("MD5DES")); System.out.println("READY: "+System.currentTimeMillis()); Snmp snmp = new Snmp(transport); USM usm = new USM(SecurityProtocols.getInstance(), new OctetString(), 0); SecurityModels.getInstance().addSecurityModel(usm); long t1 = System.currentTimeMillis();
UsmSecurityStateReference usmSecurityStateReference = (UsmSecurityStateReference) securityStateReference; securityEngineID.setValue(usmSecurityParameters.getAuthoritativeEngineID()); byte[] message = buildMessageBuffer(wholeMsg); if ((securityEngineID.length() == 0) || (timeTable.checkEngineID(securityEngineID, isEngineDiscoveryEnabled()) != SnmpConstants.SNMPv3_USM_OK)) { securityEngineID.toHexString()); securityEngineID.setValue(usmSecurityParameters. SnmpConstants. usmStatsUnknownEngineIDs); fireIncrementCounter(event); statusInfo.setSecurityLevel(new Integer32(securityLevel)); statusInfo.setErrorIndication(new VariableBinding(event.getOid(), user.getUsmUser().getAuthenticationProtocol()); PrivacyProtocol priv = securityProtocols.getPrivacyProtocol( user.getUsmUser().getPrivacyProtocol());
static PDU snmpMessageToHumanReadable(String s) throws IOException { final OctetString message = OctetString.fromHexString(s, ':'); final Address address = new UdpAddress(); final TransportMapping transportMapping = (address instanceof UdpAddress) ? new DefaultUdpTransportMapping((UdpAddress) address) : new DefaultTcpTransportMapping((TcpAddress) address); final MessageDispatcher messageDispatcher = new MessageDispatcherImpl(); SecurityProtocols.getInstance().addDefaultProtocols(); final SnmpMessageAnalyzer snmpMessageAnalyzer = new SnmpMessageAnalyzer(); final CommandResponder commandResponder = snmpMessageAnalyzer; messageDispatcher.addCommandResponder(commandResponder); messageDispatcher.addMessageProcessingModel(new MPv1()); messageDispatcher.addMessageProcessingModel(new MPv2c()); messageDispatcher.addMessageProcessingModel(new MPv3()); messageDispatcher.processMessage(transportMapping, address, ByteBuffer.wrap(message.getValue())); PDU result = snmpMessageAnalyzer.msg; snmpMessageAnalyzer.msg = null; return result; }
/** * Initialize for v3 communications */ private static void initialize() { if (s_initialized) { return; } SNMP4JSettings.setEnterpriseID(5813); //USM usm = new USM(SecurityProtocols.getInstance(), new OctetString(MPv3.createLocalEngineID()), 0); m_usm = new USM(); SecurityModels.getInstance().addSecurityModel(m_usm); // Enable extensibility in SNMP4J so that we can subclass some SMI classes to work around // agent bugs if (System.getProperty("org.snmp4j.smisyntaxes", null) != null) { SNMP4JSettings.setExtensibilityEnabled(true); } if (Boolean.getBoolean("org.opennms.snmp.snmp4j.forwardRuntimeExceptions")) { SNMP4JSettings.setForwardRuntimeExceptions(true); } SNMP4JSettings.setAllowSNMPv2InV1(Boolean.getBoolean("org.opennms.snmp.snmp4j.allowSNMPv2InV1")); SNMP4JSettings.setNoGetBulk(Boolean.getBoolean("org.opennms.snmp.snmp4j.noGetBulk")); // NMS-9223: This call can be expensive, and is synchronized // so we perform it only once during initialization SecurityProtocols.getInstance().addDefaultProtocols(); s_initialized = true; }
SampleAgent sampleAgent = new SampleAgent(commandLineParameters); SecurityProtocols.getInstance().addDefaultProtocols(); for (int i=1; i<0; i++) { sampleAgent.agent.getAgentNotificationOriginator().notify( new OctetString(), SnmpConstants.coldStart, new VariableBinding[] { new VariableBinding(new OID("1.3.6.1.4.0"), new Integer32(i)), new VariableBinding(new OID("1.3.6.1.4.0"),new Counter32(278070606)), new VariableBinding(new OID("1.3.6.1.4.0"),new OctetString("Hello world!")), new VariableBinding(new OID("1.3.6.1.4.0"),new IpAddress("127.0.0.2")), new VariableBinding(new OID("1.3.6.1.4.0"),new Gauge32(867685L))
byte[] authSharedKey = authKeyChange.getSharedKey(); AuthenticationProtocol authenticationProtocol = SecurityProtocols.getInstance().getAuthenticationProtocol(authProtocol); OctetString authKey = new OctetString(DHOperations.deriveKey(authSharedKey, authenticationProtocol.getDigestLength())); byte[] privSharedKey = privKeyChange.getSharedKey(); PrivacyProtocol privacyProtocol = SecurityProtocols.getInstance().getPrivacyProtocol(privProtocol); OctetString privKey = new OctetString(DHOperations.deriveKey(privSharedKey, privacyProtocol.getMaxKeyLength())); privProtocol, privKey)); usmUserEntry.setStorageType(SnmpConstants.StorageTypeEnum.permanent); usm.getUserTable().addUser(usmUserEntry); if (usm.getUserTable().getUser(dhKickstartParameters.getSecurityName()) == null || dhKickstartParameters.isResetRequested()) { usm.addUsmUserEntry(usmUserEntry); OctetString dhKickstart = new OctetString(DHOperations.DH_KICKSTART_SEC_NAME); OctetString dhKickstartReadView = new OctetString(DHOperations.DH_KICKSTART_VIEW_NAME); usm.getUserTable().addUser(new UsmUserEntry(dhKickstart,
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; }
private Snmp createSnmpSession() throws IOException { AbstractTransportMapping transport; 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)snmp.getMessageProcessingModel(MPv3.ID)). setLocalEngineID(localEngineID.getValue()); if (version == SnmpConstants.version3) { USM usm = new USM(SecurityProtocols.getInstance(), localEngineID, engineBootCount); SecurityModels.getInstance().addSecurityModel(usm); addUsmUser(snmp); } return snmp; }