Hi all, I've been implementing a SNMPv3 trap receiver.
There are several agents in the system which are able to send trap messages. The agents may have the same user. As far as I've understood I have to use localized users in order to receive traps from every agent. Therefore I call the snmp.discoverAuthoritativeEngineID() in order the get the engine ID for every agent. After that the new user will be added to the USM: byte[] authKey = secProtocols.passwordToKey(user.getAuthenticationProtocol(), new OctetString(user.getAuthenticationPassphrase()), engineId); byte[] privKey = secProtocols.passwordToKey(user.getPrivacyProtocol(), user.getAuthenticationProtocol(), new OctetString(user.getPrivacyPassphrase()), engineId); this.snmp.getUSM().addLocalizedUser(engineId, user.getSecurityName(), user.getAuthenticationProtocol(), authKey, user.getPrivacyProtocol(), privKey); After this I've send a snmptrap via net-snmp but I see that processPdu(...) has not been called. If I just add the new user via this.snmp.getUSM().addUser(user) I see that processPdu(...) has been called. (1) I need to distinguish between the users (with the same name) in order to remove them dynamically from the trap receiver. This is only possible when using the engine ID (as far as I have understood) Correct? (2) Could someone please tell what I'm doing wrong by adding the localized user? (3) What excatly means localized user anyway in this context? Thank you very much for help! Best regards Frank _______________________________________________ SNMP4J mailing list SNMP4J@agentpp.org https://oosnmp.net/mailman/listinfo/snmp4j