-- *****************************************************************
-- mpIPsec.mib:  Maipu enterprise device IPsec MIB file
--
-- version 1.0.0.1, Jan 19, 2006 wang wenyu
--
-- Copyright (c)  by Maipu Communication Inc.
-- All rights reserved.
-- 
-- *****************************************************************

	
MAIPU-SECURITY-PKI-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Counter32,
       	IpAddress, Unsigned32		FROM SNMPv2-SMI
       	RowStatus			FROM SNMPv2-TC
       	mpSecurity			FROM MAIPU-SMI;
       
mpSecurityRouter 	MODULE-IDENTITY
        LAST-UPDATED "200601190932Z"      -- Thu Jan 19 09:32:35 PDT 2006
        ORGANIZATION "Maipu Communication"
        CONTACT-INFO
          	"       Wang wenyu
          	Postal: Maipu Inc
                  Tel: (028)85148048
          	E-Mail: office@maipu.com "
          
        DESCRIPTION
	 	"The MIB module describes the PKI protocol for Maipu Security Router. "          
        ::= { mpSecurity 3 }

-- *****************************************************************

PKIModule		OBJECT IDENTIFIER ::= { mpSecurityRouter 2 }

PKIConfigGroup	OBJECT IDENTIFIER ::= { PKIModule 1 }
PKIMonitorGroup	OBJECT IDENTIFIER ::= { PKIModule 2 }

-- *****************************************************************

-- *****************************************************************
-- CA Table

mpPkiCATable	OBJECT-TYPE
    	SYNTAX SEQUENCE OF mpPkiCAEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
		"The table contains all the configuration of ca identity."
    	::={ PKIConfigGroup 1 }
    
mpPkiCAEntry	OBJECT-TYPE
    	SYNTAX mpPkiCAEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
		"Each entry contains the attributes associated with ca identity.
		CA"
    	INDEX { mpPkiCAName }
    	::= { mpPkiCATable 1 }
    
mpPkiCAEntry	::=
	SEQUENCE {
		mpPkiCAName			OCTET STRING,
		mpPkiCAAddress			OCTET STRING,
		mpPkiCARevOpt			INTEGER,
		mpPkiCATimeOpt			INTEGER,
		mpPkiCAProtocal			INTEGER,
		mpPkiCACrlRenew			INTEGER,
		mpPkiCAAutoAuth			INTEGER,
		mpPkiCAMD5FingerPrint		OCTET STRING,
		mpPkiCASHA1FingerPrint		OCTET STRING,
		mpPkiCARowStatus		RowStatus
		}	

mpPkiCAName			OBJECT-TYPE
	SYNTAX	OCTET STRING
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the name of ca identity.
		CA"
	::= { mpPkiCAEntry 1 }
	
mpPkiCAAddress			OBJECT-TYPE
	SYNTAX	OCTET STRING
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the IP address of ca identity.
		CAIPַ˿ϢURLַ"
	::= { mpPkiCAEntry 2 }

mpPkiCARevOpt			OBJECT-TYPE
	SYNTAX	INTEGER {
			TRUE(1),
			FALSE(2)
			}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines whether checking the revoked certification or not.
		Ƿ֤鳷ļ"
	::= { mpPkiCAEntry 3 }
	
mpPkiCATimeOpt		OBJECT-TYPE
	SYNTAX	INTEGER {
			TRUE(1),
			FALSE(2)
			}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines whether checking the certification validity or not.
		֤֤ʱǷϸ֤Ч"
	::= { mpPkiCAEntry 4 }
	
mpPkiCAProtocal		OBJECT-TYPE
	SYNTAX	INTEGER {
			MPCMS(1),
			CTCA(2),
			WINDOWS(3)
			}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the type of CA server.
		CAͣ
			1-MP CMS
			2-йCA
			3-Windows CA"
	::= { mpPkiCAEntry 5 }
	
mpPkiCACrlRenew		OBJECT-TYPE
	SYNTAX	INTEGER(0..65535)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the interval time to renew CRL.
		CRLԶµĲ
		"
	::= { mpPkiCAEntry 6 }
	
mpPkiCAAutoAuth		OBJECT-TYPE
	SYNTAX	INTEGER{
			TRUE(1),
			FALSE(2)
			}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the auto-authentication property.
		֤Զ"
	::= { mpPkiCAEntry 7 }

mpPkiCAMD5FingerPrint		OBJECT-TYPE
	SYNTAX	OCTET STRING
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the finger print of ca certification that calculated by MD5 algorithm.
		CA֤MD5ָ"
	::= { mpPkiCAEntry 8 }	
	
mpPkiCASHA1FingerPrint		OBJECT-TYPE
	SYNTAX	OCTET STRING
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the finger print of ca certification that calculated by SHA1 algorithm.
		CA֤SHA1ָ"
	::= { mpPkiCAEntry 9 }	
			
mpPkiCARowStatus	OBJECT-TYPE
	SYNTAX		RowStatus
	MAX-ACCESS 	read-create
	STATUS 		current
    	DESCRIPTION
    		"The object defines the status of the table entry."
	::= { mpPkiCAEntry 10 }

-- *****************************************************************

-- *****************************************************************
-- subject name Table
mpPkiSubNameTable	OBJECT-TYPE
    	SYNTAX SEQUENCE OF mpPkiSubNameEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
		"The table contains all the configuration of ca identity."
    	::={ PKIConfigGroup 2 }
    
mpPkiSubNameEntry	OBJECT-TYPE
    	SYNTAX mpPkiSubNameEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
		"Each entry contains the attributes associated with ca identity.
		CA"
    	INDEX { mpPkiCAName, mpPkiSubName}
    	::= { mpPkiSubNameTable 1 }
    
mpPkiSubNameEntry	::=
	SEQUENCE {
		mpPkiCAName			OCTET STRING,
		mpPkiSubName			OCTET STRING,
		mpPkiKeyLen			INTEGER,
		mpPkiPassword			OCTET STRING,
		mpPkiAutoEnroll			INTEGER,
		mpPkiSubNameRowStatus		RowStatus
		}	

mpPkiCAName			OBJECT-TYPE
	SYNTAX	OCTET STRING
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the name of ca identity.
		CA"
	::= { mpPkiSubNameEntry 1 }

mpPkiSubName			OBJECT-TYPE
	SYNTAX	OCTET STRING
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the subject name.
		"
	::= { mpPkiSubNameEntry 2 }

mpPkiKeyLen			OBJECT-TYPE
	SYNTAX	INTEGER{
			512(1),
			1024(2),
			2048(3)
			}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the key length.
		ָ֤Կ"
	::= { mpPkiSubNameEntry 3 }
	
mpPkiPassword		OBJECT-TYPE
	SYNTAX	OCTET STRING
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the password of users.
		û"
	::= { mpPkiSubNameEntry 4 }
	
mpPkiAutoEnroll		OBJECT-TYPE
	SYNTAX	INTEGER{
			TRUE(1),
			FALSE(2)
			}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the auto-enroll property.
		ָǷԶ"
	::= { mpPkiSubNameEntry 5 }	

mpPkiSubNameRowStatus	OBJECT-TYPE
	SYNTAX		RowStatus
	MAX-ACCESS 	read-create
	STATUS 		current
    	DESCRIPTION
    		"The object defines the status of the table entry."
	::= { mpPkiSubNameEntry 6 }		
-- *****************************************************************

-- *****************************************************************
GetCertGroup	OBJECT IDENTIFIER ::= { PKIConfigGroup 3 }

mpPkiActType		OBJECT-TYPE
	SYNTAX	INTEGER{
			GetCaCert(1),
			GetMyCert(2),
			GetCRL(3)
			}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the type of action.
		嶯ͣ
			1-ȡCA֤飻
			2-ȡ֤飻
			3-ȡCRL"
	::= { GetCertGroup 1 }	

mpPkiCAName		OBJECT-TYPE
	SYNTAX	OCTET STRING
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the name of ca identity.
		CA"
	::= { GetCertGroup 2 }		

mpCertSubjectName	OBJECT-TYPE
	SYNTAX	OCTET STRING
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the subject name of certification.
		֤"
	::= { GetCertGroup 3 }	
-- *****************************************************************

-- *****************************************************************
DelCertGroup		OBJECT IDENTIFIER ::= { PKIConfigGroup 4 }

mpPkiCAName		OBJECT-TYPE
	SYNTAX	OCTET STRING
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the name of ca identity.
		CA"
	::= { DelCertGroup 1 }	
	
mpPkiCertName		OBJECT-TYPE
	SYNTAX	OCTET STRING
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the name of certification.
		֤"
	::= { DelCertGroup 2 }	
	
mpPkiCertSN		OBJECT-TYPE
	SYNTAX	OCTET STRING
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the serial number of certification.
		֤SN"
	::= { DelCertGroup 3 }	

mpPkiCertType		OBJECT-TYPE
	SYNTAX	INTEGER{
			All(1),
			CRL(2),
			MyCert(3),
			RemoteCert(4),
			RequestingCert(5),
			RootCert(6)
			}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the certifcation type.
		ָͣ
			1-֤飻
			2-CRL
			3-Լ֤飻
			4-Զ˵֤飻
			5-״̬֤飻
			6-CA֤"
	::= { DelCertGroup 4 }	
-- *****************************************************************

-- *****************************************************************
TrustCertGroup		OBJECT IDENTIFIER ::= { PKIConfigGroup 5 }

mpPkiCAName		OBJECT-TYPE
	SYNTAX	OCTET STRING
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the name of ca identity.
		CA"
	::= { TrustCertGroup 1 }	
	
mpPkiCertName		OBJECT-TYPE
	SYNTAX	OCTET STRING
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the name of certification.
		֤"
	::= { TrustCertGroup 2 }	
	
mpPkiCertSN		OBJECT-TYPE
	SYNTAX	OCTET STRING
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the serial number of certification.
		֤SN"
	::= { TrustCertGroup 3 }	

mpPkiTrustSet		OBJECT-TYPE
	SYNTAX	INTEGER{
			Trust(1),
			AutoTrust(2),
			UnTrust(3)
			}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"This object defines the trust property.
		ָηʽ
			1-ǿΣ
			2-ԶжǷΣ
			3-ǿƲ"
	::= { TrustCertGroup 4 }
	
-- *****************************************************************

-- *****************************************************************
-- Certification Table

mpPkiCertTable	OBJECT-TYPE
    	SYNTAX SEQUENCE OF mpPkiCertEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
		"The table contains all the information of certification.
		֤"
    	::={ PKIMonitorGroup 1 }
    
mpPkiCertEntry	OBJECT-TYPE
    	SYNTAX mpPkiCertEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
		"Each entry contains the attributes associated with certification."
    	INDEX { mpPkiCertIndex }
    	::= { mpPkiCertTable 1 }
    
mpPkiCertEntry	::=
	SEQUENCE {
		mpPkiCertIndex			UInteger32,
		mpPkiCertType			INTEGER,
		mpPkiCSUntrustRoot		INTEGER,
		mpPkiCSNotIssued			INTEGER,
		mpPkiCSIsRevoked		INTEGER,
		mpPkiCSSignNotValid		INTEGER,
		mpPkiCSUpCACertNotValid		INTEGER,
		mpPkiCSTimeBefore		INTEGER,
		mpPkiCSTimeAfter		INTEGER,
		mpPkiCSAlgNotSupport		INTEGER,
		mpPkiCSCodeErr			INTEGER,
		mpPkiCSNotValidForce		INTEGER,
		mpPkiCSValidForce		INTEGER,
		mpPkiCertSN			OCTET STRING,
		mpPkiCertSubject		OCTET STRING,
		mpPkiCertBegin			OCTET STRING,
		mpPkiCertExpire			OCTET STRING,
		mpPkiCertIssuer			OCTET STRING,
		mpPkiCertUsage			INTEGER,
		mpPkiCAName			OCTET STRING,
		mpPkiCertStatus			INTEGER
		}	

mpPkiCertIndex			OBJECT-TYPE
	SYNTAX	UInteger32
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the index of certification. 
		֤"
	::= { mpPkiCertEntry 1 }
	
mpPkiCertType			OBJECT-TYPE
	SYNTAX	INTEGER{
			CACert(1),
			RACert(2),
			LocalUserCert(3),
			RemoteUserCert(4),
			RootCACert(5),
			PendingCert(6),
			OtherCert(7)			
			}
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the type of certification. 
		֤ͣ
			1-CA֤飻
			2-RA֤飻
			3-û֤飻
			4-Զû֤飻
			5-CA֤飻
			6-ʱ֤"
	::= { mpPkiCertEntry 2 }
	
mpPkiCSUntrustRoot		OBJECT-TYPE
	SYNTAX	INTEGER{
			TRUE(1),
			FALSE(2)
			}
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the certification is issued by untrust root CA or not. 
		Ƿδ֤ĸCA֤"
	::= { mpPkiCertEntry 3 }
	
mpPkiCSNotIssued		OBJECT-TYPE
	SYNTAX	INTEGER{
			TRUE(1),
			FALSE(2)
			}
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the certification is issued or not. 
		֤Ƿδ䷢"
	::= { mpPkiCertEntry 4 }

mpPkiCSIsRevoked		OBJECT-TYPE
	SYNTAX	INTEGER{
			TRUE(1),
			FALSE(2)
			}
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the certification is revoked or not. 
		֤ѱ"
	::= { mpPkiCertEntry 5 }
	
mpPkiCSSignNotValid		OBJECT-TYPE
	SYNTAX	INTEGER{
			TRUE(1),
			FALSE(2)
			}
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the signature of certification is valid or not. 
		֤ǩЧ"
	::= { mpPkiCertEntry 6 }
	
mpPkiCSUpCACertNotValid		OBJECT-TYPE
	SYNTAX	INTEGER{
			TRUE(1),
			FALSE(2)
			}
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the up CA certification is valid or not. 
		ϼCA֤Ч"
	::= { mpPkiCertEntry 7 }
	
mpPkiCSTimeBefore		OBJECT-TYPE
	SYNTAX	INTEGER{
			TRUE(1),
			FALSE(2)
			}
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the certification is invalid because of the time is not reached. 
		֤黹δЧʱ䣿"
	::= { mpPkiCertEntry 8 }
	
mpPkiCSTimeAfter		OBJECT-TYPE
	SYNTAX	INTEGER{
			TRUE(1),
			FALSE(2)
			}
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the certification is time out. 
		֤ѹЧʱ䣿"
	::= { mpPkiCertEntry 9 }
	
mpPkiCSAlgNotSupport		OBJECT-TYPE
	SYNTAX	INTEGER{
			TRUE(1),
			FALSE(2)
			}
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the certification supports the algorithm. 
		֤㷨֧֣"
	::= { mpPkiCertEntry 10 }
	
mpPkiCSCodeErr		OBJECT-TYPE
	SYNTAX	INTEGER{
			TRUE(1),
			FALSE(2)
			}
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the certification has encode or decode error. 
		֤д"
	::= { mpPkiCertEntry 11 }
	
mpPkiCSNotValidForce		OBJECT-TYPE
	SYNTAX	INTEGER{
			TRUE(1),
			FALSE(2)
			}
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the certification is forced to be invalid. 
		֤鱻ǿЧ"
	::= { mpPkiCertEntry 12 }

mpPkiCSValidForce		OBJECT-TYPE
	SYNTAX	INTEGER{
			TRUE(1),
			FALSE(2)
			}
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the certification is forced to be valid. 
		֤鱻ǿЧ"
	::= { mpPkiCertEntry 13 }

mpPkiCertSN			OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the serial number of certification. 
		֤SN"
	::= { mpPkiCertEntry 14 }
	
mpPkiCertSubject			OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the distinguished name of certification. 
		֤DN"
	::= { mpPkiCertEntry 15 }
	
mpPkiCertBegin			OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the start time of certification. 
		֤鿪ʼЧʱ"
	::= { mpPkiCertEntry 16 }
	
mpPkiCertExpire			OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the expire time of certification. 
		֤ʱ"
	::= { mpPkiCertEntry 17 }
	
mpPkiCertIssuer			OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the issuer of certification. 
		֤鷢"
	::= { mpPkiCertEntry 18 }
		
mpPkiCertUsage			OBJECT-TYPE
	SYNTAX		INTEGER{
				GEN(1),
				SIG(2),
				ENC(3)
				}
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the usage type of certification. 
		֤;
			1-ڲԿ
			2-ǩ
			3-ڼ"
	::= { mpPkiCertEntry 19 }

mpPkiCAName		OBJECT-TYPE
	SYNTAX	OCTET STRING
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the name of ca identity.
		CA"
	::= { mpPkiCertEntry 20 }	

mpPkiCertStatus		OBJECT-TYPE
	SYNTAX	INTEGER{
			VALID(1),
			INVALID(2),
			REQUESTING(3),
			FORCE_VALID(4),
			FORCE_INVALID(5)
			}
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the name of ca identity.
		CA"
	::= { mpPkiCertEntry 21 }
-- *****************************************************************

-- *****************************************************************
-- CRL Table

mpPkiCRLTable	OBJECT-TYPE
    	SYNTAX SEQUENCE OF mpPkiCRLEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
		"The table contains all the information of certification.
		CRL"
    	::={ PKIMonitorGroup 2 }
    
mpPkiCRLEntry	OBJECT-TYPE
    	SYNTAX mpPkiCRLEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
		"Each entry contains the attributes associated with CRL."
    	INDEX { mpPkiCRLIndex, mpPkiCAName }
    	::= { mpPkiCRLTable 1 }
    
mpPkiCRLEntry	::=
	SEQUENCE {
		mpPkiCRLIndex			UInteger32,
		mpPkiCertIssuer			OCTET STRING,
		mpPkiThisUpdateTime		OCTET STRING,
		mpPkiNextUpdateTime		OCTET STRING,
		mpPkiRevokedCount		INTEGER,
		mpPkiCAName			OCTET STRING
		}	

mpPkiCRLIndex			OBJECT-TYPE
	SYNTAX	UInteger32
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the index of certification. 
		CRL"
	::= { mpPkiCRLEntry 1 }
	
mpPkiCertIssuer			OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the issuer of certification. 
		֤鷢"
	::= { mpPkiCRLEntry 2 }
	
mpPkiThisUpdateTime			OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the update time. 
		CRLθʱ"
	::= { mpPkiCRLEntry 3 }
	
mpPkiNextUpdateTime			OBJECT-TYPE
	SYNTAX		OCTET STRING
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the next update time. 
		CRL´θʱ"
	::= { mpPkiCRLEntry 4 }
	
mpPkiRevokedCount			OBJECT-TYPE
	SYNTAX		INTEGER
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the issuer of certification. 
		CRLб֤"
	::= { mpPkiCRLEntry 5 }

mpPkiCAName		OBJECT-TYPE
	SYNTAX	OCTET STRING
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"This object defines the name of ca identity.
		CA"
	::= { mpPkiCRLEntry 6 }	
-- *****************************************************************

END
