-- =========================================================================
-- Copyright (C) 2001,2002 by  H3C TECHNOLOGIES. All rights reserved.
--
-- Description: RSA MIB
-- Reference:
-- Version: V1.1
-- History:
--  V1.0 2004-09-17 created by Yang Yang 02227
--    Initial Version
--  V1.1 2005-05-31 updated by gaolong
--    Change module of this MIB
-- =========================================================================
H3C-RSA-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        h3cCommon
            FROM HUAWEI-3COM-OID-MIB
        IpAddress,Integer32, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE
            FROM SNMPv2-SMI
        DisplayString, RowStatus, DateAndTime, TEXTUAL-CONVENTION
            FROM SNMPv2-TC;


        h3cRSA MODULE-IDENTITY
            LAST-UPDATED "200410100000Z"
            ORGANIZATION
                "Hangzhou H3C Tech. Co., Ltd."
            CONTACT-INFO
                "Platform Team Hangzhou H3C Tech. Co., Ltd.
                Hai-Dian District Beijing P.R. China
                http://www.h3c.com
                Zip:100085
                "
            DESCRIPTION
                "The H3C-RSA-MIB contains objects to Manage
                RSA configuration."
            REVISION "200410100000Z"
            DESCRIPTION
                "The initial revision of RSA module."
            ::= { h3cCommon 23 }


        RSAKeyErrorCode ::= TEXTUAL-CONVENTION
                 STATUS current
                 DESCRIPTION
                         "Indicates the reason that SSH peer public key fails to config
                         or that SSH local key pair fails to create/refresh/destroy."
                 SYNTAX INTEGER
                         {
                        rsaSuccess(1),
                        rsaFailure(2),
                        rsaErrNoMemory(3),
                        rsaErrKeyNotReplaced(4),
                        rsaErrKeyBackup(5),
                        rsaErrKeySaved(6),
                        rsaErrKeyGenerate(7),
                        rsaErrKeyDestroy(8),
                        rsaErrHostEncKeyBackup(9),
                        rsaErrHostEncKeySave(10),
                        rsaErrHostEncKeyGenerate(11),
                        rsaErrHostEncKeyDestroy(12),
                        rsaErrHostSigKeyBackup(13),
                        rsaErrHostSigKeySave(14),
                        rsaErrHostSigKeyGenerate(15),
                        rsaErrHostSigKeyDestroy(16),
                        rsaErrServerKeyBackup(17),
                        rsaErrServerKeySave(18),
                        rsaErrServerKeyGenerate(19),
                        rsaErrServerKeyDestroy(20),
                        rsaErrPeerKeyNotReplaced(21),
                        rsaErrPeerKeyNumArriveMax(22),
                        rsaErrPeerKeyNotRemoved(23),
                        rsaErrPeerKeyNotExist(24),
                        rsaStatusKeyExist(25),
                        rsaStatusKeyNotExist(26),
                        rsaStatusKeyInvalid(27),
                        rsaStatusHostEncKeyExist(28),
                        rsaStatusHostEncKeyNotExist(29),
                        rsaStatusHostEncKeyInvalid(30),
                        rsaStatusHostSigKeyExist(31),
                        rsaStatusHostSigKeyNotExist(32),
                        rsaStatusHostSigKeyInvalid(33),
                        rsaStatusServerKeyExist(34),
                        rsaStatusServerKeyNotExist(35),
                        rsaStatusServerKeyInvalid(36)
                        }

        h3cRSAMIBObjects OBJECT IDENTIFIER ::= { h3cRSA 1 }
        h3cRSAPeerPublicKeyTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cRSAPeerPublicKeyEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The (conceptual) RSA Peer Public Key Table"
            ::= { h3cRSAMIBObjects 1 }


        h3cRSAPeerPublicKeyEntry OBJECT-TYPE
            SYNTAX H3cRSAPeerPublicKeyEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry (conceptual row) in the RSA Peer Public Key Table."
            INDEX { h3cRSAPeerPublicKeyName }
            ::= { h3cRSAPeerPublicKeyTable 1 }


        H3cRSAPeerPublicKeyEntry ::=
            SEQUENCE {
                h3cRSAPeerPublicKeyName
                    OCTET STRING,
                h3cRSAPeerIpAddress
                    IpAddress,
                h3cRSAPeerFQDN
                    DisplayString,
                h3cRSAPeerPublicKeyCode
                    OCTET STRING,
                h3cRSAPeerPublicKeyStatus
                    RowStatus
             }

        h3cRSAPeerPublicKeyName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (1..64))
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The RSA peer public key name."
            ::= { h3cRSAPeerPublicKeyEntry 1 }

        h3cRSAPeerIpAddress OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the IP Address of RSA Peer machine."
            ::= { h3cRSAPeerPublicKeyEntry 2 }

        h3cRSAPeerFQDN OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The Full Qualified Domain Name of RSA Peer Machine"
            ::= { h3cRSAPeerPublicKeyEntry 3 }


        h3cRSAPeerPublicKeyCode OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (1..1024))
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The code of RSA peer public key."
            ::= { h3cRSAPeerPublicKeyEntry 4 }


        h3cRSAPeerPublicKeyStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The status of this RSA peer public key entry.
                Support Active Status and CreateAndGo and Destroy Operation "
            ::= { h3cRSAPeerPublicKeyEntry 5 }

        h3cRSALocalKeyPairTable OBJECT-TYPE
            SYNTAX SEQUENCE OF H3cRSALocalKeyPairEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The (conceptual)RSA local Key Pair Table."
            ::= { h3cRSAMIBObjects 2 }


        h3cRSALocalKeyPairEntry OBJECT-TYPE
            SYNTAX H3cRSALocalKeyPairEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry (conceptual row) in the RSA local Key Pair Table."
            INDEX { h3cRSALocalKeyIndex }
            ::= { h3cRSALocalKeyPairTable 1 }


        H3cRSALocalKeyPairEntry ::=
            SEQUENCE {
                h3cRSALocalKeyIndex
                    INTEGER,
                h3cRSALocalHostKeyName
                    DisplayString,
                h3cRSALocalHostKeyCode
                    OCTET STRING,
                h3cRSALocalHostKeyCreatedTime
                    DateAndTime,
                h3cRSALocalServerKeyName
                    DisplayString,
                h3cRSALocalServerKeyCode
                    OCTET STRING,
                h3cRSALocalServerKeyCreatedTime
                    DateAndTime,
                h3cRSALocalKeyPairBits
                    Integer32,
                h3cRSALocalKeyStatus
                    RowStatus
             }

        h3cRSALocalKeyIndex  OBJECT-TYPE
            SYNTAX INTEGER (1..1)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The h3cRSALocalKeyPairTable Table can only exist one entry at most."
            ::= { h3cRSALocalKeyPairEntry 1 }

        h3cRSALocalHostKeyName OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates RSA Host local public key name.Its value is composed of systemname, a
                underscore and the string of 'Host'"
            ::= { h3cRSALocalKeyPairEntry 2 }

        h3cRSALocalHostKeyCode OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (512..1024))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the code of RSA Host local pkey  that the length is
                between 512 and 2048 bits."
            ::= { h3cRSALocalKeyPairEntry 3 }

        h3cRSALocalHostKeyCreatedTime OBJECT-TYPE
            SYNTAX DateAndTime
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the created time of RSA local Host key."
            ::= { h3cRSALocalKeyPairEntry 4 }

        h3cRSALocalServerKeyName OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates RSA Host local public key name.Its value is composed of systemname, a
                underscore and the string of 'Server'"
            ::= { h3cRSALocalKeyPairEntry 5 }

        h3cRSALocalServerKeyCode OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (512..1024))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the code of RSA Host local pkey  that the length is
                between 512 and 2048 bits."
            ::= { h3cRSALocalKeyPairEntry 6 }

        h3cRSALocalServerKeyCreatedTime OBJECT-TYPE
            SYNTAX DateAndTime
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the created time of RSA local Host key."
            ::= { h3cRSALocalKeyPairEntry 7 }


        h3cRSALocalKeyPairBits OBJECT-TYPE
            SYNTAX Integer32 (512..2048)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The bits of RSA local key pair, ranging between 512 and 2048.
                 By default, the value is 512."
            DEFVAL { 512 }
            ::= { h3cRSALocalKeyPairEntry 8 }


        h3cRSALocalKeyStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The status column used for creating, deleting instances of
                the columnar objects in the h3cRSALocalKeyPairTable table."
            ::= { h3cRSALocalKeyPairEntry 9 }


        h3cRSAPeerKeyConfigFailReason OBJECT-TYPE
            SYNTAX RSAKeyErrorCode
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "The reason that RSA peer public key fails to config."
            ::= { h3cRSAMIBObjects 3 }


        h3cRSALocalKeyFailReason OBJECT-TYPE
            SYNTAX RSAKeyErrorCode
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "The reason that RSA local key pair fails to create, refresh
                and destroy."
            ::= { h3cRSAMIBObjects 4 }

        h3cRSANotifications OBJECT IDENTIFIER ::= { h3cRSA 2 }

        h3cRSALocalKeyPairOpeFail NOTIFICATION-TYPE
            OBJECTS { h3cRSALocalKeyFailReason }
            STATUS current
            DESCRIPTION
                "The trap is generated while the RSA local key pair fails to
                create, refresh and destory."
            ::= { h3cRSANotifications 1 }

        h3cRSAPeerKeyConfigFail NOTIFICATION-TYPE
            OBJECTS { h3cRSAPeerKeyConfigFailReason }
            STATUS current
            DESCRIPTION
                "The trap is generated while the RSA peer public key fails to
                configure."
            ::= { h3cRSANotifications 2 }
    END
