public class UsmMIB extends Object implements MOGroup, org.snmp4j.event.CounterListener, MOValueValidationListener, MOTableRowListener<MOMutableRow2PC>, org.snmp4j.event.UsmUserListener
UsmMIB
implements the SNMP-USER-BASED-SM-MIB defined in
RFC 3414. The MIB implementation is backed by a USM
instance.
The configuration of the user based security model can be changed
using the underlying USM
or via SNMP but at
least one user must be created programatically in order to allow any access
to the agent via SNMP.
When modifying the USM after having created this MIB, you will have to
register this object as UsmUserListener
to the USM.
By using SNMP, a new users can only be created by cloning it from an existing user with the same or higher security level.
Modifier and Type | Class and Description |
---|---|
class |
UsmMIB.UsmTableModel |
class |
UsmMIB.UsmTableRow |
Modifier and Type | Field and Description |
---|---|
static int |
colUsmUserAuthKey |
static int |
colUsmUserAuthKeyChange |
static int |
colUsmUserAuthPassword |
static int |
colUsmUserAuthProtocol |
static int |
colUsmUserCloneFrom |
static int |
colUsmUserLocalizationEngineID |
static int |
colUsmUserOwnAuthKeyChange |
static int |
colUsmUserOwnPrivKeyChange |
static int |
colUsmUserPrivKey |
static int |
colUsmUserPrivKeyChange |
static int |
colUsmUserPrivPassword |
static int |
colUsmUserPrivProtocol |
static int |
colUsmUserPublic |
static int |
colUsmUserSecurityName |
static int |
colUsmUserStatus |
static int |
colUsmUserStorageType |
static org.snmp4j.smi.OID |
noAuthProtocol |
static org.snmp4j.smi.OID |
noPrivProtocol |
static org.snmp4j.smi.OID |
usmUserEntryOID |
static org.snmp4j.smi.OID |
usmUserSpinLockOID |
Constructor and Description |
---|
UsmMIB(org.snmp4j.security.USM usm,
org.snmp4j.security.SecurityProtocols securityProtocols)
Creates a USM MIB implementation connected to the supplied USM.
|
Modifier and Type | Method and Description |
---|---|
DefaultMOTable |
getUsmUserEntry() |
void |
incrementCounter(org.snmp4j.event.CounterEvent event) |
void |
registerMOs(MOServer server,
org.snmp4j.smi.OctetString context)
Registers the managed objects of this group with the server for the
supplied context.
|
void |
rowChanged(MOTableRowEvent event)
A column or a complete row is changed/has been changed.
|
void |
unregisterMOs(MOServer server,
org.snmp4j.smi.OctetString context)
Unregisters the managed objects of this group from the supplied server and
from the supplied context.
|
void |
usmUserChange(org.snmp4j.event.UsmUserEvent event) |
void |
validate(MOValueValidationEvent validationEvent)
Validates a value by returning a SNMP error code if validation fails
or 0 (
SnmpConstants.SNMP_ERROR_SUCCESS ) if the validation was
successful. |
public static final org.snmp4j.smi.OID noAuthProtocol
public static final org.snmp4j.smi.OID noPrivProtocol
public static final org.snmp4j.smi.OID usmUserSpinLockOID
public static final org.snmp4j.smi.OID usmUserEntryOID
public static final int colUsmUserSecurityName
public static final int colUsmUserCloneFrom
public static final int colUsmUserAuthProtocol
public static final int colUsmUserAuthKeyChange
public static final int colUsmUserOwnAuthKeyChange
public static final int colUsmUserPrivProtocol
public static final int colUsmUserPrivKeyChange
public static final int colUsmUserOwnPrivKeyChange
public static final int colUsmUserPublic
public static final int colUsmUserStorageType
public static final int colUsmUserStatus
public static final int colUsmUserAuthPassword
public static final int colUsmUserPrivPassword
public static final int colUsmUserLocalizationEngineID
public static final int colUsmUserAuthKey
public static final int colUsmUserPrivKey
public UsmMIB(org.snmp4j.security.USM usm, org.snmp4j.security.SecurityProtocols securityProtocols)
UsmUserListener
to the
USM!usm
- a User-based Security Model.securityProtocols
- the supported SecurityProtocols
.public void registerMOs(MOServer server, org.snmp4j.smi.OctetString context) throws DuplicateRegistrationException
MOGroup
registerMOs
in interface MOGroup
server
- the MOServer
where to register the managed objects.context
- the context to use (may be null
if no specific context
is selected).DuplicateRegistrationException
- if a managed object's scope (i.e. lower bound) is already registered
at the server.public void unregisterMOs(MOServer server, org.snmp4j.smi.OctetString context)
MOGroup
unregisterMOs
in interface MOGroup
server
- the MOServer
where to unregister the managed objects.context
- the context to use (may be null
if no specific context
is selected).public void incrementCounter(org.snmp4j.event.CounterEvent event)
incrementCounter
in interface org.snmp4j.event.CounterListener
public void validate(MOValueValidationEvent validationEvent)
MOValueValidationListener
SnmpConstants.SNMP_ERROR_SUCCESS
) if the validation was
successful. The validation is returned by calling the
MOValueValidationEvent.setValidationStatus(int)
method. If an error
occured the returned status value should be one of the following values:
SnmpConstants.SNMP_ERROR_WRONG_LENGTH
SnmpConstants.SNMP_ERROR_WRONG_VALUE
SnmpConstants.SNMP_ERROR_WRONG_TYPE
SnmpConstants.SNMP_ERROR_WRONG_ENCODING
SnmpConstants.SNMP_ERROR_BAD_VALUE
validate
in interface MOValueValidationListener
validationEvent
- the MOValueValidationEvent
containing the value to
validate.public void usmUserChange(org.snmp4j.event.UsmUserEvent event)
usmUserChange
in interface org.snmp4j.event.UsmUserListener
public DefaultMOTable getUsmUserEntry()
public void rowChanged(MOTableRowEvent event)
MOTableRowListener
rowChanged
in interface MOTableRowListener<MOMutableRow2PC>
event
- a MOTableRowEvent
describing the event. To veto the event
the MOTableRowEvent.setVetoStatus(int)
and optionally also the
MOTableRowEvent.setVetoColumn(int)
can be called.Copyright © 2016 SNMP4J.org. All rights reserved.