Package org.snmp4j.security

Provides classes and interfaces for authentication and privacy of SNMP(v3) messages.

See:
          Description

Interface Summary
AuthenticationProtocol The AuthenticationProtocol interface defines a common interface for all SNMP authentication protocols.
PrivacyProtocol The PrivacyProtocol interface defines a common interface for all SNMP privacy protocols.
SecurityModel The SecurityModel interface as described in RFC3411 section 4.4.
SecurityParameters The SecurityParameters interface represents the security parameters in a SNMPv3 message.
SecurityProtocol The SecurityProtocol class defines common methods of authentication and privacy protocols.
SecurityStateReference The SecurityStateReference interface is an empty marker interface for security model dependend state references.
 

Class Summary
AuthGeneric The abstract class AuthGeneric implements common operations for SNMP authentication protocols, such as MD5 and SHA.
AuthMD5 The AuthMD5 class implements the MD5 authentication protocol.
AuthSHA The SHA class implements the Secure Hash Authentication.
ByteArrayWindow The ByteArrayWindow provides windowed access to a subarray of a byte array.
DecryptParams Parameter class for encrypt and decrypt methods of SecurityProtocol.
Priv3DES Privacy protocol class for Triple DES (DESEDE).
PrivAES Base class for PrivAES128, PrivAES192 and PrivAES256.
PrivAES128 Encryption class for AES 128.
PrivAES192 Encryption class for AES 192.
PrivAES256 Encryption class for AES 256.
PrivDES Privacy protocol class for DES.
SecurityLevel The SecurityLevel interface contains enumerated values for the different security levels.
SecurityModels The SecurityModels class is a collection of all supported security models of a SNMP entity.
SecurityProtocols The SecurityProtocols class holds all authentication and privacy protocols for a SNMP entity.
USM The USM class implements the User Based Security Model (USM) as defined in RFC3414.
UsmSecurityParameters  
UsmSecurityStateReference The UsmSecurityStateReference holds cached security data.
UsmTimeEntry The UsmTimeEntry class represents time synchronization information associated with an engine ID.
UsmTimeTable The UsmTimeTable class is a singleton that stores USM user information as part of the Local Configuration Datastore (LCD).
UsmUser The UsmUser class represents USM user providing information to secure SNMPv3 message exchange.
UsmUserEntry The UsmUserEntry class represents a user in the Local Configuration Datastore (LCD).
UsmUserTable The UsmUserTable class stores USM user information as part of the Local Configuration Datastore (LCD).
UsmUserTable.UsmUserKey  
 

Package org.snmp4j.security Description

Provides classes and interfaces for authentication and privacy of SNMP(v3) messages.

The org.snmp4j.security package contains three groups of classes and interfaces:

Authentication as well as privacy protocols are security protocols and thus both are derived from the common interface SecurityProtocol. In order to be able to use a security protocol with SNMP4J, the protocol implementation class has to be registered with the SecurityProtocols singleton, which provides access to authentication and privacy protocols.

Authentication Protocols

All SNMP4J authentication protocol implementations have to implement the AuthenticationProtocol interface. SNMP4J provides implementation for the following authentication protocols:

Privacy Protocols

All SNMP4J privacy protocol implementations have to implement the PrivacyProtocol interface. SNMP4J provides implementation for the following privacy protocols:

Security Models

All SNMP4J security models have to implement the SecurityModel interface. Before a security model can be used with SNMP4J, it has to be registered with the SecurityModels singleton which provides access to security models. SNMP4J implements a single security model, the User Based Security Model (USM).

The USM class uses a user name table (which contains user names) and a user table (which contains localized user information) to store user information. A time table is used to store time information about SNMP engines to protect SNMP communication against replay attacks if the corresponding security level has chosen.

The following UML class diagram shows the most important classes of the org.snmp4j.security package and their relationships (relationships to other packages are not shown):


Copyright 2005-2010 Frank Fock (SNMP4J.org)

Copyright © 2011 SNMP4J.org. All Rights Reserved.