package org.snmp4j.agent.mo.snmp;

import java.security.cert.CertificateParsingException;
import java.security.cert.X509Certificate;
import java.util.Iterator;
import okhttp3.internal.ws.RealWebSocket;
import org.snmp4j.agent.DuplicateRegistrationException;
import org.snmp4j.agent.MOAccess;
import org.snmp4j.agent.MOGroup;
import org.snmp4j.agent.MOServer;
import org.snmp4j.agent.NotificationOriginator;
import org.snmp4j.agent.mo.DefaultMOFactory;
import org.snmp4j.agent.mo.DefaultMOMutableRow2PC;
import org.snmp4j.agent.mo.DefaultMOMutableTableModel;
import org.snmp4j.agent.mo.MOColumn;
import org.snmp4j.agent.mo.MOFactory;
import org.snmp4j.agent.mo.MOMutableColumn;
import org.snmp4j.agent.mo.MOMutableRow2PC;
import org.snmp4j.agent.mo.MOMutableTableModel;
import org.snmp4j.agent.mo.MOScalar;
import org.snmp4j.agent.mo.MOTable;
import org.snmp4j.agent.mo.MOTableIndex;
import org.snmp4j.agent.mo.MOTableIndexValidator;
import org.snmp4j.agent.mo.MOTableModel;
import org.snmp4j.agent.mo.MOTableRowFactory;
import org.snmp4j.agent.mo.MOTableSubIndex;
import org.snmp4j.agent.mo.MOValueValidationEvent;
import org.snmp4j.agent.mo.MOValueValidationListener;
import org.snmp4j.agent.mo.snmp.RowStatus;
import org.snmp4j.agent.mo.snmp.smi.Constraint;
import org.snmp4j.agent.mo.snmp.smi.ConstraintsImpl;
import org.snmp4j.agent.mo.snmp.smi.EnumerationConstraint;
import org.snmp4j.agent.mo.snmp.smi.ValueConstraintValidator;
import org.snmp4j.agent.mo.snmp.tc.TextualConvention;
import org.snmp4j.event.CounterListener;
import org.snmp4j.log.LogAdapter;
import org.snmp4j.log.LogFactory;
import org.snmp4j.mp.DefaultCounterListener;
import org.snmp4j.smi.Address;
import org.snmp4j.smi.AssignableFromLong;
import org.snmp4j.smi.Counter32;
import org.snmp4j.smi.Gauge32;
import org.snmp4j.smi.Integer32;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.TimeTicks;
import org.snmp4j.smi.Variable;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.TLSTM;
import org.snmp4j.transport.tls.TlsTmSecurityCallback;

/* JADX INFO: loaded from: classes.dex */
public class SnmpTlsTmMib implements MOGroup, TlsTmSecurityCallback<X509Certificate> {
    private static final String TC_AUTONOMOUSTYPE = "AutonomousType";
    private static final String TC_MODULE_SNMPV2_TC = "SNMPv2-TC";
    private static final String TC_MODULE_SNMP_FRAMEWORK_MIB = "SNMP-FRAMEWORK-MIB";
    private static final String TC_MODULE_SNMP_TLS_TM_MIB = "SNMP-TLS-TM-MIB";
    private static final String TC_ROWSTATUS = "RowStatus";
    private static final String TC_SNMPADMINSTRING = "SnmpAdminString";
    private static final String TC_SNMPTLSFINGERPRINT = "SnmpTLSFingerprint";
    private static final String TC_STORAGETYPE = "StorageType";
    private static final String TC_TIMESTAMP = "TimeStamp";
    public static final int colSnmpTlstmAddrRowStatus = 4;
    public static final int colSnmpTlstmAddrServerFingerprint = 1;
    public static final int colSnmpTlstmAddrServerIdentity = 2;
    public static final int colSnmpTlstmAddrStorageType = 3;
    public static final int colSnmpTlstmCertToTSNData = 4;
    public static final int colSnmpTlstmCertToTSNFingerprint = 2;
    public static final int colSnmpTlstmCertToTSNMapType = 3;
    public static final int colSnmpTlstmCertToTSNRowStatus = 6;
    public static final int colSnmpTlstmCertToTSNStorageType = 5;
    public static final int colSnmpTlstmParamsClientFingerprint = 1;
    public static final int colSnmpTlstmParamsRowStatus = 3;
    public static final int colSnmpTlstmParamsStorageType = 2;
    public static final int idxSnmpTlstmAddrRowStatus = 3;
    public static final int idxSnmpTlstmAddrServerFingerprint = 0;
    public static final int idxSnmpTlstmAddrServerIdentity = 1;
    public static final int idxSnmpTlstmAddrStorageType = 2;
    public static final int idxSnmpTlstmCertToTSNData = 2;
    public static final int idxSnmpTlstmCertToTSNFingerprint = 0;
    public static final int idxSnmpTlstmCertToTSNMapType = 1;
    public static final int idxSnmpTlstmCertToTSNRowStatus = 4;
    public static final int idxSnmpTlstmCertToTSNStorageType = 3;
    public static final int idxSnmpTlstmParamsClientFingerprint = 0;
    public static final int idxSnmpTlstmParamsRowStatus = 2;
    public static final int idxSnmpTlstmParamsStorageType = 1;
    public static final String tcDefAutonomousType = "AutonomousType";
    public static final String tcDefRowStatus = "RowStatus";
    public static final String tcDefSnmpAdminString = "SnmpAdminString";
    public static final String tcDefSnmpTLSFingerprint = "SnmpTLSFingerprint";
    public static final String tcDefStorageType = "StorageType";
    public static final String tcModuleSNMPv2Tc = "SNMPv2-TC";
    public static final String tcModuleSnmpFrameworkMib = "SNMP-FRAMEWORK-MIB";
    public static final String tcModuleSnmpTlsTmMib = "SNMP-TLS-TM-MIB";
    private DefaultCounterListener counterListener;
    private MOScalar<Gauge32> snmpTlstmAddrCount;
    private MOTable<MOMutableRow2PC, MOColumn, MOTableModel<MOMutableRow2PC>> snmpTlstmAddrEntry;
    private MOTableIndex snmpTlstmAddrEntryIndex;
    private MOTableSubIndex[] snmpTlstmAddrEntryIndexes;
    private MOTableModel<MOMutableRow2PC> snmpTlstmAddrEntryModel;
    private MOScalar<TimeTicks> snmpTlstmAddrTableLastChanged;
    private MOScalar<Gauge32> snmpTlstmCertToTSNCount;
    private MOTable<SnmpTlstmCertToTSNEntryRow, MOColumn, DefaultMOMutableTableModel<SnmpTlstmCertToTSNEntryRow>> snmpTlstmCertToTSNEntry;
    private MOTableIndex snmpTlstmCertToTSNEntryIndex;
    private MOTableSubIndex[] snmpTlstmCertToTSNEntryIndexes;
    private DefaultMOMutableTableModel<SnmpTlstmCertToTSNEntryRow> snmpTlstmCertToTSNEntryModel;
    private MOScalar<TimeTicks> snmpTlstmCertToTSNTableLastChanged;
    private MOScalar<Gauge32> snmpTlstmParamsCount;
    private MOTable<SnmpTlstmParamsEntryRow, MOColumn, MOTableModel<SnmpTlstmParamsEntryRow>> snmpTlstmParamsEntry;
    private MOTableIndex snmpTlstmParamsEntryIndex;
    private MOTableSubIndex[] snmpTlstmParamsEntryIndexes;
    private MOTableModel<SnmpTlstmParamsEntryRow> snmpTlstmParamsEntryModel;
    private MOScalar<TimeTicks> snmpTlstmParamsTableLastChanged;
    private MOScalar<Counter32> snmpTlstmSessionAccepts;
    private MOScalar<Counter32> snmpTlstmSessionClientCloses;
    private MOScalar<Counter32> snmpTlstmSessionInvalidCaches;
    private MOScalar<Counter32> snmpTlstmSessionInvalidClientCertificates;
    private MOScalar<Counter32> snmpTlstmSessionInvalidServerCertificates;
    private MOScalar<Counter32> snmpTlstmSessionNoSessions;
    private MOScalar<Counter32> snmpTlstmSessionOpenErrors;
    private MOScalar<Counter32> snmpTlstmSessionOpens;
    private MOScalar<Counter32> snmpTlstmSessionServerCloses;
    private MOScalar<Counter32> snmpTlstmSessionUnknownServerCertificate;
    private static final LogAdapter LOGGER = LogFactory.getLogger(SnmpTlsTmMib.class);
    private static MOFactory moFactory = DefaultMOFactory.getInstance();
    public static final OID oidSnmpTlsTmMib = new OID(new int[]{1, 3, 6, 1, 2, 1, 198});
    public static final OID oidSnmpTlstmCertSpecified = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 1, 1, 1});
    public static final OID oidSnmpTlstmCertSANRFC822Name = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 1, 1, 2});
    public static final OID oidSnmpTlstmCertSANDNSName = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 1, 1, 3});
    public static final OID oidSnmpTlstmCertSANIpAddress = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 1, 1, 4});
    public static final OID oidSnmpTlstmCertSANAny = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 1, 1, 5});
    public static final OID oidSnmpTlstmCertCommonName = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 1, 1, 6});
    public static final OID oidSnmpTLSTCPDomain = new OID(new int[]{1, 3, 6, 1, 6, 1, 8});
    public static final OID oidSnmpDTLSUDPDomain = new OID(new int[]{1, 3, 6, 1, 6, 1, 9});
    public static final OID oidSnmpTlstmSessionOpens = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 1, 1, 0});
    public static final OID oidSnmpTlstmSessionClientCloses = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 1, 2, 0});
    public static final OID oidSnmpTlstmSessionOpenErrors = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 1, 3, 0});
    public static final OID oidSnmpTlstmSessionAccepts = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 1, 4, 0});
    public static final OID oidSnmpTlstmSessionServerCloses = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 1, 5, 0});
    public static final OID oidSnmpTlstmSessionNoSessions = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 1, 6, 0});
    public static final OID oidSnmpTlstmSessionInvalidClientCertificates = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 1, 7, 0});
    public static final OID oidSnmpTlstmSessionUnknownServerCertificate = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 1, 8, 0});
    public static final OID oidSnmpTlstmSessionInvalidServerCertificates = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 1, 9, 0});
    public static final OID oidSnmpTlstmSessionInvalidCaches = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 1, 10, 0});
    public static final OID oidSnmpTlstmCertToTSNCount = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 2, 1, 1, 0});
    public static final OID oidSnmpTlstmCertToTSNTableLastChanged = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 2, 1, 2, 0});
    public static final OID oidSnmpTlstmParamsCount = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 2, 1, 4, 0});
    public static final OID oidSnmpTlstmParamsTableLastChanged = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 2, 1, 5, 0});
    public static final OID oidSnmpTlstmAddrCount = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 2, 1, 7, 0});
    public static final OID oidSnmpTlstmAddrTableLastChanged = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 2, 1, 8, 0});
    public static final OID oidSnmpTlstmServerCertificateUnknown = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 0, 1});
    public static final OID oidTrapVarSnmpTlstmSessionUnknownServerCertificate = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 1, 8});
    public static final OID oidSnmpTlstmServerInvalidCertificate = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 0, 2});
    public static final OID oidTrapVarSnmpTlstmAddrServerFingerprint = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 2, 1, 9, 1, 1});
    public static final OID oidTrapVarSnmpTlstmSessionInvalidServerCertificates = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 1, 9});
    public static final OID oidSnmpTlstmCertToTSNEntry = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 2, 1, 3, 1});
    public static final OID oidSnmpTlstmCertToTSNID = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 2, 1, 3, 1, 1});
    public static final OID oidSnmpTlstmParamsEntry = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 2, 1, 6, 1});
    public static final OID oidSnmpTargetParamsName = new OID(new int[]{1, 3, 6, 1, 6, 3, 12, 1, 3, 1, 1});
    public static final OID oidSnmpTlstmAddrEntry = new OID(new int[]{1, 3, 6, 1, 2, 1, 198, 2, 2, 1, 9, 1});
    public static final OID oidSnmpTargetAddrName = new OID(new int[]{1, 3, 6, 1, 6, 3, 12, 1, 2, 1, 1});

    public class SnmpAdminString implements TextualConvention {
        public SnmpAdminString() {
        }

        @Override // org.snmp4j.agent.mo.snmp.tc.TextualConvention
        public MOColumn createColumn(int i2, int i3, MOAccess mOAccess, Variable variable, boolean z) {
            MOColumn mOColumnCreateColumn = SnmpTlsTmMib.moFactory.createColumn(i2, i3, mOAccess, variable, z);
            if (mOColumnCreateColumn instanceof MOMutableColumn) {
                ConstraintsImpl constraintsImpl = new ConstraintsImpl();
                constraintsImpl.add(new Constraint(0L, 255L));
                ((MOMutableColumn) mOColumnCreateColumn).addMOValueValidationListener(new ValueConstraintValidator(constraintsImpl));
            }
            return mOColumnCreateColumn;
        }

        @Override // org.snmp4j.agent.mo.snmp.tc.TextualConvention
        public Variable createInitialValue() {
            Variable octetString = new OctetString();
            if (octetString instanceof AssignableFromLong) {
                ((AssignableFromLong) octetString).setValue(0L);
            }
            return octetString;
        }

        @Override // org.snmp4j.agent.mo.snmp.tc.TextualConvention
        public MOScalar createScalar(OID oid, MOAccess mOAccess, Variable variable) {
            MOScalar mOScalarCreateScalar = SnmpTlsTmMib.moFactory.createScalar(oid, mOAccess, variable);
            ConstraintsImpl constraintsImpl = new ConstraintsImpl();
            constraintsImpl.add(new Constraint(0L, 255L));
            mOScalarCreateScalar.addMOValueValidationListener(new ValueConstraintValidator(constraintsImpl));
            return mOScalarCreateScalar;
        }

        @Override // org.snmp4j.agent.mo.snmp.tc.TextualConvention
        public String getModuleName() {
            return "SNMP-FRAMEWORK-MIB";
        }

        @Override // org.snmp4j.agent.mo.snmp.tc.TextualConvention
        public String getName() {
            return "SnmpAdminString";
        }
    }

    public class SnmpTLSFingerprint implements TextualConvention {
        public SnmpTLSFingerprint() {
        }

        @Override // org.snmp4j.agent.mo.snmp.tc.TextualConvention
        public MOColumn createColumn(int i2, int i3, MOAccess mOAccess, Variable variable, boolean z) {
            MOColumn mOColumnCreateColumn = SnmpTlsTmMib.moFactory.createColumn(i2, i3, mOAccess, variable, z);
            if (mOColumnCreateColumn instanceof MOMutableColumn) {
                ConstraintsImpl constraintsImpl = new ConstraintsImpl();
                constraintsImpl.add(new Constraint(0L, 255L));
                ((MOMutableColumn) mOColumnCreateColumn).addMOValueValidationListener(new ValueConstraintValidator(constraintsImpl));
            }
            return mOColumnCreateColumn;
        }

        @Override // org.snmp4j.agent.mo.snmp.tc.TextualConvention
        public Variable createInitialValue() {
            Variable octetString = new OctetString();
            if (octetString instanceof AssignableFromLong) {
                ((AssignableFromLong) octetString).setValue(0L);
            }
            return octetString;
        }

        @Override // org.snmp4j.agent.mo.snmp.tc.TextualConvention
        public MOScalar createScalar(OID oid, MOAccess mOAccess, Variable variable) {
            MOScalar mOScalarCreateScalar = SnmpTlsTmMib.moFactory.createScalar(oid, mOAccess, variable);
            ConstraintsImpl constraintsImpl = new ConstraintsImpl();
            constraintsImpl.add(new Constraint(0L, 255L));
            mOScalarCreateScalar.addMOValueValidationListener(new ValueConstraintValidator(constraintsImpl));
            return mOScalarCreateScalar;
        }

        @Override // org.snmp4j.agent.mo.snmp.tc.TextualConvention
        public String getModuleName() {
            return "SNMP-TLS-TM-MIB";
        }

        @Override // org.snmp4j.agent.mo.snmp.tc.TextualConvention
        public String getName() {
            return "SnmpTLSFingerprint";
        }
    }

    public class SnmpTlstmAddrEntryRow extends DefaultMOMutableRow2PC {
        public SnmpTlstmAddrEntryRow(OID oid, Variable[] variableArr) {
            super(oid, variableArr);
        }

        public Integer32 getSnmpTlstmAddrRowStatus() {
            return (Integer32) super.getValue(3);
        }

        public OctetString getSnmpTlstmAddrServerFingerprint() {
            return (OctetString) super.getValue(0);
        }

        public OctetString getSnmpTlstmAddrServerIdentity() {
            return (OctetString) super.getValue(1);
        }

        public Integer32 getSnmpTlstmAddrStorageType() {
            return (Integer32) super.getValue(2);
        }

        @Override // org.snmp4j.agent.mo.DefaultMOMutableRow2PC, org.snmp4j.agent.mo.DefaultMOTableRow, org.snmp4j.agent.mo.MOTableRow
        public Variable getValue(int i2) {
            return i2 != 0 ? i2 != 1 ? i2 != 2 ? i2 != 3 ? super.getValue(i2) : getSnmpTlstmAddrRowStatus() : getSnmpTlstmAddrStorageType() : getSnmpTlstmAddrServerIdentity() : getSnmpTlstmAddrServerFingerprint();
        }

        public void setSnmpTlstmAddrRowStatus(Integer32 integer32) {
            super.setValue(3, integer32);
        }

        public void setSnmpTlstmAddrServerFingerprint(OctetString octetString) {
            super.setValue(0, octetString);
        }

        public void setSnmpTlstmAddrServerIdentity(OctetString octetString) {
            super.setValue(1, octetString);
        }

        public void setSnmpTlstmAddrStorageType(Integer32 integer32) {
            super.setValue(2, integer32);
        }

        @Override // org.snmp4j.agent.mo.DefaultMOMutableRow2PC, org.snmp4j.agent.mo.MOMutableTableRow
        public void setValue(int i2, Variable variable) {
            if (i2 == 0) {
                setSnmpTlstmAddrServerFingerprint((OctetString) variable);
                return;
            }
            if (i2 == 1) {
                setSnmpTlstmAddrServerIdentity((OctetString) variable);
                return;
            }
            if (i2 == 2) {
                setSnmpTlstmAddrStorageType((Integer32) variable);
            } else if (i2 != 3) {
                super.setValue(i2, variable);
            } else {
                setSnmpTlstmAddrRowStatus((Integer32) variable);
            }
        }
    }

    class SnmpTlstmAddrEntryRowFactory implements MOTableRowFactory<SnmpTlstmAddrEntryRow> {
        SnmpTlstmAddrEntryRowFactory() {
        }

        @Override // org.snmp4j.agent.mo.MOTableRowFactory
        public synchronized SnmpTlstmAddrEntryRow createRow(OID oid, Variable[] variableArr) throws UnsupportedOperationException {
            return SnmpTlsTmMib.this.new SnmpTlstmAddrEntryRow(oid, variableArr);
        }

        @Override // org.snmp4j.agent.mo.MOTableRowFactory
        public synchronized void freeRow(SnmpTlstmAddrEntryRow snmpTlstmAddrEntryRow) {
        }
    }

    static class SnmpTlstmAddrRowStatusValidator implements MOValueValidationListener {
        SnmpTlstmAddrRowStatusValidator() {
        }

        @Override // org.snmp4j.agent.mo.MOValueValidationListener
        public void validate(MOValueValidationEvent mOValueValidationEvent) {
            mOValueValidationEvent.getNewValue();
        }
    }

    static class SnmpTlstmAddrServerFingerprintValidator implements MOValueValidationListener {
        SnmpTlstmAddrServerFingerprintValidator() {
        }

        @Override // org.snmp4j.agent.mo.MOValueValidationListener
        public void validate(MOValueValidationEvent mOValueValidationEvent) {
            OctetString octetString = (OctetString) mOValueValidationEvent.getNewValue();
            if (octetString.length() < 0 || octetString.length() > 255) {
                mOValueValidationEvent.setValidationStatus(8);
            }
        }
    }

    static class SnmpTlstmAddrServerIdentityValidator implements MOValueValidationListener {
        SnmpTlstmAddrServerIdentityValidator() {
        }

        @Override // org.snmp4j.agent.mo.MOValueValidationListener
        public void validate(MOValueValidationEvent mOValueValidationEvent) {
            OctetString octetString = (OctetString) mOValueValidationEvent.getNewValue();
            if (octetString.length() < 0 || octetString.length() > 255) {
                mOValueValidationEvent.setValidationStatus(8);
            }
        }
    }

    static class SnmpTlstmAddrStorageTypeValidator implements MOValueValidationListener {
        SnmpTlstmAddrStorageTypeValidator() {
        }

        @Override // org.snmp4j.agent.mo.MOValueValidationListener
        public void validate(MOValueValidationEvent mOValueValidationEvent) {
            mOValueValidationEvent.getNewValue();
        }
    }

    static class SnmpTlstmCertToTSNDataValidator implements MOValueValidationListener {
        SnmpTlstmCertToTSNDataValidator() {
        }

        @Override // org.snmp4j.agent.mo.MOValueValidationListener
        public void validate(MOValueValidationEvent mOValueValidationEvent) {
            OctetString octetString = (OctetString) mOValueValidationEvent.getNewValue();
            if (octetString.length() < 0 || octetString.length() > 1024) {
                mOValueValidationEvent.setValidationStatus(8);
            }
        }
    }

    public class SnmpTlstmCertToTSNEntryRow extends DefaultMOMutableRow2PC {
        public SnmpTlstmCertToTSNEntryRow(OID oid, Variable[] variableArr) {
            super(oid, variableArr);
        }

        public OctetString getSnmpTlstmCertToTSNData() {
            return (OctetString) super.getValue(2);
        }

        public OctetString getSnmpTlstmCertToTSNFingerprint() {
            return (OctetString) super.getValue(0);
        }

        public OID getSnmpTlstmCertToTSNMapType() {
            return (OID) super.getValue(1);
        }

        public Integer32 getSnmpTlstmCertToTSNRowStatus() {
            return (Integer32) super.getValue(4);
        }

        public Integer32 getSnmpTlstmCertToTSNStorageType() {
            return (Integer32) super.getValue(3);
        }

        @Override // org.snmp4j.agent.mo.DefaultMOMutableRow2PC, org.snmp4j.agent.mo.DefaultMOTableRow, org.snmp4j.agent.mo.MOTableRow
        public Variable getValue(int i2) {
            return i2 != 0 ? i2 != 1 ? i2 != 2 ? i2 != 3 ? i2 != 4 ? super.getValue(i2) : getSnmpTlstmCertToTSNRowStatus() : getSnmpTlstmCertToTSNStorageType() : getSnmpTlstmCertToTSNData() : getSnmpTlstmCertToTSNMapType() : getSnmpTlstmCertToTSNFingerprint();
        }

        public void setSnmpTlstmCertToTSNData(OctetString octetString) {
            super.setValue(2, octetString);
        }

        public void setSnmpTlstmCertToTSNFingerprint(OctetString octetString) {
            super.setValue(0, octetString);
        }

        public void setSnmpTlstmCertToTSNMapType(OID oid) {
            super.setValue(1, oid);
        }

        public void setSnmpTlstmCertToTSNRowStatus(Integer32 integer32) {
            super.setValue(4, integer32);
        }

        public void setSnmpTlstmCertToTSNStorageType(Integer32 integer32) {
            super.setValue(3, integer32);
        }

        @Override // org.snmp4j.agent.mo.DefaultMOMutableRow2PC, org.snmp4j.agent.mo.MOMutableTableRow
        public void setValue(int i2, Variable variable) {
            if (i2 == 0) {
                setSnmpTlstmCertToTSNFingerprint((OctetString) variable);
                return;
            }
            if (i2 == 1) {
                setSnmpTlstmCertToTSNMapType((OID) variable);
                return;
            }
            if (i2 == 2) {
                setSnmpTlstmCertToTSNData((OctetString) variable);
                return;
            }
            if (i2 == 3) {
                setSnmpTlstmCertToTSNStorageType((Integer32) variable);
            } else if (i2 != 4) {
                super.setValue(i2, variable);
            } else {
                setSnmpTlstmCertToTSNRowStatus((Integer32) variable);
            }
        }
    }

    class SnmpTlstmCertToTSNEntryRowFactory implements MOTableRowFactory<SnmpTlstmCertToTSNEntryRow> {
        SnmpTlstmCertToTSNEntryRowFactory() {
        }

        @Override // org.snmp4j.agent.mo.MOTableRowFactory
        public synchronized SnmpTlstmCertToTSNEntryRow createRow(OID oid, Variable[] variableArr) throws UnsupportedOperationException {
            return SnmpTlsTmMib.this.new SnmpTlstmCertToTSNEntryRow(oid, variableArr);
        }

        @Override // org.snmp4j.agent.mo.MOTableRowFactory
        public synchronized void freeRow(SnmpTlstmCertToTSNEntryRow snmpTlstmCertToTSNEntryRow) {
        }
    }

    static class SnmpTlstmCertToTSNFingerprintValidator implements MOValueValidationListener {
        SnmpTlstmCertToTSNFingerprintValidator() {
        }

        @Override // org.snmp4j.agent.mo.MOValueValidationListener
        public void validate(MOValueValidationEvent mOValueValidationEvent) {
            OctetString octetString = (OctetString) mOValueValidationEvent.getNewValue();
            if (octetString.length() < 1 || octetString.length() > 255) {
                mOValueValidationEvent.setValidationStatus(8);
            }
        }
    }

    static class SnmpTlstmCertToTSNMapTypeValidator implements MOValueValidationListener {
        SnmpTlstmCertToTSNMapTypeValidator() {
        }

        @Override // org.snmp4j.agent.mo.MOValueValidationListener
        public void validate(MOValueValidationEvent mOValueValidationEvent) {
            mOValueValidationEvent.getNewValue();
        }
    }

    static class SnmpTlstmCertToTSNRowStatusValidator implements MOValueValidationListener {
        SnmpTlstmCertToTSNRowStatusValidator() {
        }

        @Override // org.snmp4j.agent.mo.MOValueValidationListener
        public void validate(MOValueValidationEvent mOValueValidationEvent) {
            mOValueValidationEvent.getNewValue();
        }
    }

    static class SnmpTlstmCertToTSNStorageTypeValidator implements MOValueValidationListener {
        SnmpTlstmCertToTSNStorageTypeValidator() {
        }

        @Override // org.snmp4j.agent.mo.MOValueValidationListener
        public void validate(MOValueValidationEvent mOValueValidationEvent) {
            mOValueValidationEvent.getNewValue();
        }
    }

    static class SnmpTlstmParamsClientFingerprintValidator implements MOValueValidationListener {
        SnmpTlstmParamsClientFingerprintValidator() {
        }

        @Override // org.snmp4j.agent.mo.MOValueValidationListener
        public void validate(MOValueValidationEvent mOValueValidationEvent) {
            OctetString octetString = (OctetString) mOValueValidationEvent.getNewValue();
            if (octetString.length() < 0 || octetString.length() > 255) {
                mOValueValidationEvent.setValidationStatus(8);
            }
        }
    }

    public class SnmpTlstmParamsEntryRow extends DefaultMOMutableRow2PC {
        public SnmpTlstmParamsEntryRow(OID oid, Variable[] variableArr) {
            super(oid, variableArr);
        }

        public OctetString getSnmpTlstmParamsClientFingerprint() {
            return (OctetString) super.getValue(0);
        }

        public Integer32 getSnmpTlstmParamsRowStatus() {
            return (Integer32) super.getValue(2);
        }

        public Integer32 getSnmpTlstmParamsStorageType() {
            return (Integer32) super.getValue(1);
        }

        @Override // org.snmp4j.agent.mo.DefaultMOMutableRow2PC, org.snmp4j.agent.mo.DefaultMOTableRow, org.snmp4j.agent.mo.MOTableRow
        public Variable getValue(int i2) {
            return i2 != 0 ? i2 != 1 ? i2 != 2 ? super.getValue(i2) : getSnmpTlstmParamsRowStatus() : getSnmpTlstmParamsStorageType() : getSnmpTlstmParamsClientFingerprint();
        }

        public void setSnmpTlstmParamsClientFingerprint(OctetString octetString) {
            super.setValue(0, octetString);
        }

        public void setSnmpTlstmParamsRowStatus(Integer32 integer32) {
            super.setValue(2, integer32);
        }

        public void setSnmpTlstmParamsStorageType(Integer32 integer32) {
            super.setValue(1, integer32);
        }

        @Override // org.snmp4j.agent.mo.DefaultMOMutableRow2PC, org.snmp4j.agent.mo.MOMutableTableRow
        public void setValue(int i2, Variable variable) {
            if (i2 == 0) {
                setSnmpTlstmParamsClientFingerprint((OctetString) variable);
                return;
            }
            if (i2 == 1) {
                setSnmpTlstmParamsStorageType((Integer32) variable);
            } else if (i2 != 2) {
                super.setValue(i2, variable);
            } else {
                setSnmpTlstmParamsRowStatus((Integer32) variable);
            }
        }
    }

    class SnmpTlstmParamsEntryRowFactory implements MOTableRowFactory<SnmpTlstmParamsEntryRow> {
        SnmpTlstmParamsEntryRowFactory() {
        }

        @Override // org.snmp4j.agent.mo.MOTableRowFactory
        public synchronized SnmpTlstmParamsEntryRow createRow(OID oid, Variable[] variableArr) throws UnsupportedOperationException {
            return SnmpTlsTmMib.this.new SnmpTlstmParamsEntryRow(oid, variableArr);
        }

        @Override // org.snmp4j.agent.mo.MOTableRowFactory
        public synchronized void freeRow(SnmpTlstmParamsEntryRow snmpTlstmParamsEntryRow) {
        }
    }

    static class SnmpTlstmParamsRowStatusValidator implements MOValueValidationListener {
        SnmpTlstmParamsRowStatusValidator() {
        }

        @Override // org.snmp4j.agent.mo.MOValueValidationListener
        public void validate(MOValueValidationEvent mOValueValidationEvent) {
            mOValueValidationEvent.getNewValue();
        }
    }

    static class SnmpTlstmParamsStorageTypeValidator implements MOValueValidationListener {
        SnmpTlstmParamsStorageTypeValidator() {
        }

        @Override // org.snmp4j.agent.mo.MOValueValidationListener
        public void validate(MOValueValidationEvent mOValueValidationEvent) {
            mOValueValidationEvent.getNewValue();
        }
    }

    protected SnmpTlsTmMib() {
        DefaultCounterListener defaultCounterListener = new DefaultCounterListener();
        this.counterListener = defaultCounterListener;
        defaultCounterListener.setCountRegisteredOnly(true);
    }

    private void createSnmpTlstmAddrEntry(MOFactory mOFactory) {
        MOTableSubIndex[] mOTableSubIndexArr = {mOFactory.createSubIndex(oidSnmpTargetAddrName, 4, 1, 32)};
        this.snmpTlstmAddrEntryIndexes = mOTableSubIndexArr;
        this.snmpTlstmAddrEntryIndex = mOFactory.createIndex(mOTableSubIndexArr, true, new MOTableIndexValidator() { // from class: org.snmp4j.agent.mo.snmp.SnmpTlsTmMib.3
            @Override // org.snmp4j.agent.mo.MOTableIndexValidator
            public boolean isValidIndex(OID oid) {
                return true;
            }
        });
        ConstraintsImpl constraintsImpl = new ConstraintsImpl();
        constraintsImpl.add(new Constraint(0L, 255L));
        ((MOMutableColumn) mOColumnArr[0]).addMOValueValidationListener(new ValueConstraintValidator(constraintsImpl));
        ((MOMutableColumn) mOColumnArr[0]).addMOValueValidationListener(new SnmpTlstmAddrServerFingerprintValidator());
        ConstraintsImpl constraintsImpl2 = new ConstraintsImpl();
        constraintsImpl2.add(new Constraint(0L, 255L));
        ((MOMutableColumn) mOColumnArr[1]).addMOValueValidationListener(new ValueConstraintValidator(constraintsImpl2));
        ((MOMutableColumn) mOColumnArr[1]).addMOValueValidationListener(new SnmpTlstmAddrServerIdentityValidator());
        ((MOMutableColumn) mOColumnArr[2]).addMOValueValidationListener(new ValueConstraintValidator(new EnumerationConstraint(new int[]{1, 2, 3, 4, 5})));
        ((MOMutableColumn) mOColumnArr[2]).addMOValueValidationListener(new SnmpTlstmAddrStorageTypeValidator());
        MOColumn[] mOColumnArr = {new MOMutableColumn(1, 4, mOFactory.createAccess(15), new OctetString(new byte[0])), new MOMutableColumn(2, 4, mOFactory.createAccess(15), new OctetString(new byte[0])), new StorageType(3, mOFactory.createAccess(15), new Integer32(3)), new RowStatus(4)};
        ((MOMutableColumn) mOColumnArr[3]).addMOValueValidationListener(new ValueConstraintValidator(new EnumerationConstraint(new int[]{1, 2, 3, 4, 5, 6})));
        ((MOMutableColumn) mOColumnArr[3]).addMOValueValidationListener(new SnmpTlstmAddrRowStatusValidator());
        MOTableModel<MOMutableRow2PC> mOTableModelCreateTableModel = mOFactory.createTableModel(oidSnmpTlstmAddrEntry, this.snmpTlstmAddrEntryIndex, mOColumnArr);
        this.snmpTlstmAddrEntryModel = mOTableModelCreateTableModel;
        ((MOMutableTableModel) mOTableModelCreateTableModel).setRowFactory(new SnmpTlstmAddrEntryRowFactory());
        this.snmpTlstmAddrEntry = mOFactory.createTable(oidSnmpTlstmAddrEntry, this.snmpTlstmAddrEntryIndex, mOColumnArr, this.snmpTlstmAddrEntryModel);
    }

    private void createSnmpTlstmCertToTSNEntry(MOFactory mOFactory) {
        MOTableSubIndex[] mOTableSubIndexArr = {mOFactory.createSubIndex(oidSnmpTlstmCertToTSNID, 2, 1, 1)};
        this.snmpTlstmCertToTSNEntryIndexes = mOTableSubIndexArr;
        this.snmpTlstmCertToTSNEntryIndex = mOFactory.createIndex(mOTableSubIndexArr, false, new MOTableIndexValidator() { // from class: org.snmp4j.agent.mo.snmp.SnmpTlsTmMib.1
            @Override // org.snmp4j.agent.mo.MOTableIndexValidator
            public boolean isValidIndex(OID oid) {
                return true;
            }
        });
        ConstraintsImpl constraintsImpl = new ConstraintsImpl();
        constraintsImpl.add(new Constraint(1L, 255L));
        ((MOMutableColumn) mOColumnArr[0]).addMOValueValidationListener(new ValueConstraintValidator(constraintsImpl));
        ((MOMutableColumn) mOColumnArr[0]).addMOValueValidationListener(new SnmpTlstmCertToTSNFingerprintValidator());
        ((MOMutableColumn) mOColumnArr[1]).addMOValueValidationListener(new SnmpTlstmCertToTSNMapTypeValidator());
        ConstraintsImpl constraintsImpl2 = new ConstraintsImpl();
        constraintsImpl2.add(new Constraint(0L, RealWebSocket.DEFAULT_MINIMUM_DEFLATE_SIZE));
        ((MOMutableColumn) mOColumnArr[2]).addMOValueValidationListener(new ValueConstraintValidator(constraintsImpl2));
        ((MOMutableColumn) mOColumnArr[2]).addMOValueValidationListener(new SnmpTlstmCertToTSNDataValidator());
        ((MOMutableColumn) mOColumnArr[3]).addMOValueValidationListener(new ValueConstraintValidator(new EnumerationConstraint(new int[]{1, 2, 3, 4, 5})));
        ((MOMutableColumn) mOColumnArr[3]).addMOValueValidationListener(new SnmpTlstmCertToTSNStorageTypeValidator());
        MOColumn[] mOColumnArr = {new MOMutableColumn(2, 4, mOFactory.createAccess(15), null), new MOMutableColumn(3, 6, mOFactory.createAccess(15), new OID("1.3.6.1.2.1.198.1.1.1")), new MOMutableColumn(4, 4, mOFactory.createAccess(15), new OctetString(new byte[0])), new StorageType(5, mOFactory.createAccess(15), new Integer32(3)), new RowStatus(6)};
        ((MOMutableColumn) mOColumnArr[4]).addMOValueValidationListener(new ValueConstraintValidator(new EnumerationConstraint(new int[]{1, 2, 3, 4, 5, 6})));
        ((MOMutableColumn) mOColumnArr[4]).addMOValueValidationListener(new SnmpTlstmCertToTSNRowStatusValidator());
        DefaultMOMutableTableModel<SnmpTlstmCertToTSNEntryRow> defaultMOMutableTableModel = (DefaultMOMutableTableModel) mOFactory.createTableModel(oidSnmpTlstmCertToTSNEntry, this.snmpTlstmCertToTSNEntryIndex, mOColumnArr);
        this.snmpTlstmCertToTSNEntryModel = defaultMOMutableTableModel;
        defaultMOMutableTableModel.setRowFactory(new SnmpTlstmCertToTSNEntryRowFactory());
        this.snmpTlstmCertToTSNEntry = mOFactory.createTable(oidSnmpTlstmCertToTSNEntry, this.snmpTlstmCertToTSNEntryIndex, mOColumnArr, this.snmpTlstmCertToTSNEntryModel);
    }

    private void createSnmpTlstmParamsEntry(MOFactory mOFactory) {
        MOTableSubIndex[] mOTableSubIndexArr = {mOFactory.createSubIndex(oidSnmpTargetParamsName, 4, 1, 32)};
        this.snmpTlstmParamsEntryIndexes = mOTableSubIndexArr;
        this.snmpTlstmParamsEntryIndex = mOFactory.createIndex(mOTableSubIndexArr, true, new MOTableIndexValidator() { // from class: org.snmp4j.agent.mo.snmp.SnmpTlsTmMib.2
            @Override // org.snmp4j.agent.mo.MOTableIndexValidator
            public boolean isValidIndex(OID oid) {
                return true;
            }
        });
        ConstraintsImpl constraintsImpl = new ConstraintsImpl();
        constraintsImpl.add(new Constraint(0L, 255L));
        ((MOMutableColumn) mOColumnArr[0]).addMOValueValidationListener(new ValueConstraintValidator(constraintsImpl));
        ((MOMutableColumn) mOColumnArr[0]).addMOValueValidationListener(new SnmpTlstmParamsClientFingerprintValidator());
        ((MOMutableColumn) mOColumnArr[1]).addMOValueValidationListener(new ValueConstraintValidator(new EnumerationConstraint(new int[]{1, 2, 3, 4, 5})));
        ((MOMutableColumn) mOColumnArr[1]).addMOValueValidationListener(new SnmpTlstmParamsStorageTypeValidator());
        MOColumn[] mOColumnArr = {new MOMutableColumn(1, 4, mOFactory.createAccess(15), null), new StorageType(2, mOFactory.createAccess(15), new Integer32(3)), new RowStatus(3)};
        ((MOMutableColumn) mOColumnArr[2]).addMOValueValidationListener(new ValueConstraintValidator(new EnumerationConstraint(new int[]{1, 2, 3, 4, 5, 6})));
        ((MOMutableColumn) mOColumnArr[2]).addMOValueValidationListener(new SnmpTlstmParamsRowStatusValidator());
        MOTableModel<SnmpTlstmParamsEntryRow> mOTableModelCreateTableModel = mOFactory.createTableModel(oidSnmpTlstmParamsEntry, this.snmpTlstmParamsEntryIndex, mOColumnArr);
        this.snmpTlstmParamsEntryModel = mOTableModelCreateTableModel;
        ((MOMutableTableModel) mOTableModelCreateTableModel).setRowFactory(new SnmpTlstmParamsEntryRowFactory());
        this.snmpTlstmParamsEntry = mOFactory.createTable(oidSnmpTlstmParamsEntry, this.snmpTlstmParamsEntryIndex, mOColumnArr, this.snmpTlstmParamsEntryModel);
    }

    private OctetString mapCertToTSN(X509Certificate x509Certificate, OID oid, OctetString octetString) throws CertificateParsingException {
        Object subjAltName;
        Object subjAltName2;
        Object subjAltName3;
        if (oidSnmpTlstmCertSpecified.equals(oid)) {
            return octetString;
        }
        if ((oidSnmpTlstmCertSANRFC822Name.equals(oid) || oidSnmpTlstmCertSANAny.equals(oid)) && (subjAltName = TLSTM.getSubjAltName(x509Certificate.getSubjectAlternativeNames(), 1)) != null) {
            String[] strArrSplit = ((String) subjAltName).split("@");
            return new OctetString(strArrSplit[0] + "@" + strArrSplit[1].toLowerCase());
        }
        if ((oidSnmpTlstmCertSANDNSName.equals(oid) || oidSnmpTlstmCertSANAny.equals(oid)) && (subjAltName2 = TLSTM.getSubjAltName(x509Certificate.getSubjectAlternativeNames(), 2)) != null) {
            return new OctetString(((String) subjAltName2).toLowerCase());
        }
        if ((!oidSnmpTlstmCertSANIpAddress.equals(oid) && !oidSnmpTlstmCertSANAny.equals(oid)) || (subjAltName3 = TLSTM.getSubjAltName(x509Certificate.getSubjectAlternativeNames(), 7)) == null) {
            if (oidSnmpTlstmCertCommonName.equals(oid)) {
                return new OctetString(x509Certificate.getSubjectX500Principal().getName());
            }
            return null;
        }
        String lowerCase = ((String) subjAltName3).toLowerCase();
        if (lowerCase.indexOf(58) < 0) {
            return new OctetString(lowerCase);
        }
        StringBuffer stringBuffer = new StringBuffer(16);
        for (String str : lowerCase.split(":")) {
            for (int length = 2 - str.length(); length > 0; length--) {
                stringBuffer.append('0');
            }
            stringBuffer.append(str);
        }
        return new OctetString(stringBuffer.toString());
    }

    public void addImportedTCsToFactory(MOFactory mOFactory) {
        mOFactory.addTextualConvention(new SnmpAdminString());
    }

    protected void addTCsToFactory(MOFactory mOFactory) {
        mOFactory.addTextualConvention(new SnmpTLSFingerprint());
    }

    protected void createMO(MOFactory mOFactory) {
        addTCsToFactory(mOFactory);
        this.snmpTlstmSessionOpens = mOFactory.createScalar(oidSnmpTlstmSessionOpens, mOFactory.createAccess(9), new Counter32());
        this.snmpTlstmSessionClientCloses = mOFactory.createScalar(oidSnmpTlstmSessionClientCloses, mOFactory.createAccess(9), new Counter32());
        this.snmpTlstmSessionOpenErrors = mOFactory.createScalar(oidSnmpTlstmSessionOpenErrors, mOFactory.createAccess(9), new Counter32());
        this.snmpTlstmSessionAccepts = mOFactory.createScalar(oidSnmpTlstmSessionAccepts, mOFactory.createAccess(9), new Counter32());
        this.snmpTlstmSessionServerCloses = mOFactory.createScalar(oidSnmpTlstmSessionServerCloses, mOFactory.createAccess(9), new Counter32());
        this.snmpTlstmSessionNoSessions = mOFactory.createScalar(oidSnmpTlstmSessionNoSessions, mOFactory.createAccess(9), new Counter32());
        this.snmpTlstmSessionInvalidClientCertificates = mOFactory.createScalar(oidSnmpTlstmSessionInvalidClientCertificates, mOFactory.createAccess(9), new Counter32());
        this.snmpTlstmSessionUnknownServerCertificate = mOFactory.createScalar(oidSnmpTlstmSessionUnknownServerCertificate, mOFactory.createAccess(9), new Counter32());
        this.snmpTlstmSessionInvalidServerCertificates = mOFactory.createScalar(oidSnmpTlstmSessionInvalidServerCertificates, mOFactory.createAccess(9), new Counter32());
        this.snmpTlstmSessionInvalidCaches = mOFactory.createScalar(oidSnmpTlstmSessionInvalidCaches, mOFactory.createAccess(9), new Counter32());
        this.snmpTlstmCertToTSNCount = mOFactory.createScalar(oidSnmpTlstmCertToTSNCount, mOFactory.createAccess(9), new Gauge32());
        this.snmpTlstmCertToTSNTableLastChanged = mOFactory.createScalar(oidSnmpTlstmCertToTSNTableLastChanged, mOFactory.createAccess(9), null, "SNMPv2-TC", "TimeStamp");
        this.snmpTlstmParamsCount = mOFactory.createScalar(oidSnmpTlstmParamsCount, mOFactory.createAccess(9), new Gauge32());
        this.snmpTlstmParamsTableLastChanged = mOFactory.createScalar(oidSnmpTlstmParamsTableLastChanged, mOFactory.createAccess(9), null, "SNMPv2-TC", "TimeStamp");
        this.snmpTlstmAddrCount = mOFactory.createScalar(oidSnmpTlstmAddrCount, mOFactory.createAccess(9), new Gauge32());
        this.snmpTlstmAddrTableLastChanged = mOFactory.createScalar(oidSnmpTlstmAddrTableLastChanged, mOFactory.createAccess(9), null, "SNMPv2-TC", "TimeStamp");
        createSnmpTlstmCertToTSNEntry(mOFactory);
        createSnmpTlstmParamsEntry(mOFactory);
        createSnmpTlstmAddrEntry(mOFactory);
    }

    public CounterListener getCounterListener() {
        return this.counterListener;
    }

    @Override // org.snmp4j.transport.tls.TlsTmSecurityCallback
    public String getLocalCertificateAlias(Address address) {
        return null;
    }

    public MOScalar getSnmpTlstmAddrCount() {
        return this.snmpTlstmAddrCount;
    }

    public MOTable getSnmpTlstmAddrEntry() {
        return this.snmpTlstmAddrEntry;
    }

    public MOScalar getSnmpTlstmAddrTableLastChanged() {
        return this.snmpTlstmAddrTableLastChanged;
    }

    public MOScalar getSnmpTlstmCertToTSNCount() {
        return this.snmpTlstmCertToTSNCount;
    }

    public MOTable getSnmpTlstmCertToTSNEntry() {
        return this.snmpTlstmCertToTSNEntry;
    }

    public MOScalar getSnmpTlstmCertToTSNTableLastChanged() {
        return this.snmpTlstmCertToTSNTableLastChanged;
    }

    public MOScalar getSnmpTlstmParamsCount() {
        return this.snmpTlstmParamsCount;
    }

    public MOTable getSnmpTlstmParamsEntry() {
        return this.snmpTlstmParamsEntry;
    }

    public MOScalar getSnmpTlstmParamsTableLastChanged() {
        return this.snmpTlstmParamsTableLastChanged;
    }

    public MOScalar getSnmpTlstmSessionAccepts() {
        return this.snmpTlstmSessionAccepts;
    }

    public MOScalar getSnmpTlstmSessionClientCloses() {
        return this.snmpTlstmSessionClientCloses;
    }

    public MOScalar getSnmpTlstmSessionInvalidCaches() {
        return this.snmpTlstmSessionInvalidCaches;
    }

    public MOScalar getSnmpTlstmSessionInvalidClientCertificates() {
        return this.snmpTlstmSessionInvalidClientCertificates;
    }

    public MOScalar getSnmpTlstmSessionInvalidServerCertificates() {
        return this.snmpTlstmSessionInvalidServerCertificates;
    }

    public MOScalar getSnmpTlstmSessionNoSessions() {
        return this.snmpTlstmSessionNoSessions;
    }

    public MOScalar getSnmpTlstmSessionOpenErrors() {
        return this.snmpTlstmSessionOpenErrors;
    }

    public MOScalar getSnmpTlstmSessionOpens() {
        return this.snmpTlstmSessionOpens;
    }

    public MOScalar getSnmpTlstmSessionServerCloses() {
        return this.snmpTlstmSessionServerCloses;
    }

    public MOScalar getSnmpTlstmSessionUnknownServerCertificate() {
        return this.snmpTlstmSessionUnknownServerCertificate;
    }

    @Override // org.snmp4j.transport.tls.TlsTmSecurityCallback
    public boolean isAcceptedIssuer(X509Certificate x509Certificate) {
        return true;
    }

    @Override // org.snmp4j.transport.tls.TlsTmSecurityCallback
    public boolean isServerCertificateAccepted(X509Certificate[] x509CertificateArr) {
        return true;
    }

    @Override // org.snmp4j.agent.MOGroup
    public void registerMOs(MOServer mOServer, OctetString octetString) throws DuplicateRegistrationException {
        mOServer.register(this.snmpTlstmSessionOpens, octetString);
        mOServer.register(this.snmpTlstmSessionClientCloses, octetString);
        mOServer.register(this.snmpTlstmSessionOpenErrors, octetString);
        mOServer.register(this.snmpTlstmSessionAccepts, octetString);
        mOServer.register(this.snmpTlstmSessionServerCloses, octetString);
        mOServer.register(this.snmpTlstmSessionNoSessions, octetString);
        mOServer.register(this.snmpTlstmSessionInvalidClientCertificates, octetString);
        mOServer.register(this.snmpTlstmSessionUnknownServerCertificate, octetString);
        mOServer.register(this.snmpTlstmSessionInvalidServerCertificates, octetString);
        mOServer.register(this.snmpTlstmSessionInvalidCaches, octetString);
        mOServer.register(this.snmpTlstmCertToTSNCount, octetString);
        mOServer.register(this.snmpTlstmCertToTSNTableLastChanged, octetString);
        mOServer.register(this.snmpTlstmParamsCount, octetString);
        mOServer.register(this.snmpTlstmParamsTableLastChanged, octetString);
        mOServer.register(this.snmpTlstmAddrCount, octetString);
        mOServer.register(this.snmpTlstmAddrTableLastChanged, octetString);
        mOServer.register(this.snmpTlstmCertToTSNEntry, octetString);
        mOServer.register(this.snmpTlstmParamsEntry, octetString);
        mOServer.register(this.snmpTlstmAddrEntry, octetString);
    }

    public void snmpTlstmServerCertificateUnknown(NotificationOriginator notificationOriginator, OctetString octetString, VariableBinding[] variableBindingArr) {
        if (variableBindingArr.length < 1) {
            throw new IllegalArgumentException("Too few notification objects: " + variableBindingArr.length + "<1");
        }
        if (variableBindingArr[0].getOid().startsWith(oidTrapVarSnmpTlstmSessionUnknownServerCertificate)) {
            notificationOriginator.notify(octetString, oidSnmpTlstmServerCertificateUnknown, variableBindingArr);
            return;
        }
        throw new IllegalArgumentException("Variable 0 has wrong OID: " + variableBindingArr[0].getOid() + " does not start with " + oidTrapVarSnmpTlstmSessionUnknownServerCertificate);
    }

    public void snmpTlstmServerInvalidCertificate(NotificationOriginator notificationOriginator, OctetString octetString, VariableBinding[] variableBindingArr) {
        if (variableBindingArr.length < 2) {
            throw new IllegalArgumentException("Too few notification objects: " + variableBindingArr.length + "<2");
        }
        if (!variableBindingArr[0].getOid().startsWith(oidTrapVarSnmpTlstmAddrServerFingerprint)) {
            throw new IllegalArgumentException("Variable 0 has wrong OID: " + variableBindingArr[0].getOid() + " does not start with " + oidTrapVarSnmpTlstmAddrServerFingerprint);
        }
        if (!this.snmpTlstmAddrEntryIndex.isValidIndex(this.snmpTlstmAddrEntry.getIndexPart(variableBindingArr[0].getOid()))) {
            throw new IllegalArgumentException("Illegal index for variable 0 specified: " + this.snmpTlstmAddrEntry.getIndexPart(variableBindingArr[0].getOid()));
        }
        if (variableBindingArr[1].getOid().startsWith(oidTrapVarSnmpTlstmSessionInvalidServerCertificates)) {
            notificationOriginator.notify(octetString, oidSnmpTlstmServerInvalidCertificate, variableBindingArr);
            return;
        }
        throw new IllegalArgumentException("Variable 1 has wrong OID: " + variableBindingArr[1].getOid() + " does not start with " + oidTrapVarSnmpTlstmSessionInvalidServerCertificates);
    }

    @Override // org.snmp4j.agent.MOGroup
    public void unregisterMOs(MOServer mOServer, OctetString octetString) {
        mOServer.unregister(this.snmpTlstmSessionOpens, octetString);
        mOServer.unregister(this.snmpTlstmSessionClientCloses, octetString);
        mOServer.unregister(this.snmpTlstmSessionOpenErrors, octetString);
        mOServer.unregister(this.snmpTlstmSessionAccepts, octetString);
        mOServer.unregister(this.snmpTlstmSessionServerCloses, octetString);
        mOServer.unregister(this.snmpTlstmSessionNoSessions, octetString);
        mOServer.unregister(this.snmpTlstmSessionInvalidClientCertificates, octetString);
        mOServer.unregister(this.snmpTlstmSessionUnknownServerCertificate, octetString);
        mOServer.unregister(this.snmpTlstmSessionInvalidServerCertificates, octetString);
        mOServer.unregister(this.snmpTlstmSessionInvalidCaches, octetString);
        mOServer.unregister(this.snmpTlstmCertToTSNCount, octetString);
        mOServer.unregister(this.snmpTlstmCertToTSNTableLastChanged, octetString);
        mOServer.unregister(this.snmpTlstmParamsCount, octetString);
        mOServer.unregister(this.snmpTlstmParamsTableLastChanged, octetString);
        mOServer.unregister(this.snmpTlstmAddrCount, octetString);
        mOServer.unregister(this.snmpTlstmAddrTableLastChanged, octetString);
        mOServer.unregister(this.snmpTlstmCertToTSNEntry, octetString);
        mOServer.unregister(this.snmpTlstmParamsEntry, octetString);
        mOServer.unregister(this.snmpTlstmAddrEntry, octetString);
    }

    @Override // org.snmp4j.transport.tls.TlsTmSecurityCallback
    public OctetString getSecurityName(X509Certificate[] x509CertificateArr) {
        OctetString octetStringMapCertToTSN;
        if (x509CertificateArr != null) {
            synchronized (this.snmpTlstmCertToTSNEntryModel) {
                Iterator<R> it = this.snmpTlstmCertToTSNEntryModel.iterator(new RowStatus.ActiveRowsFilter(4));
                while (it.hasNext()) {
                    SnmpTlstmCertToTSNEntryRow snmpTlstmCertToTSNEntryRow = (SnmpTlstmCertToTSNEntryRow) it.next();
                    OctetString snmpTlstmCertToTSNFingerprint = snmpTlstmCertToTSNEntryRow.getSnmpTlstmCertToTSNFingerprint();
                    for (X509Certificate x509Certificate : x509CertificateArr) {
                        OctetString fingerprint = TLSTM.getFingerprint(x509Certificate);
                        if (LOGGER.isDebugEnabled()) {
                            LOGGER.debug("Comparing certificate fingerprint " + fingerprint + " with " + snmpTlstmCertToTSNFingerprint);
                        }
                        if (fingerprint == null) {
                            LOGGER.error("Failed to determine fingerprint for certificate " + x509Certificate + " and algorithm " + x509Certificate.getSigAlgName());
                        } else if (fingerprint.equals(snmpTlstmCertToTSNFingerprint)) {
                            try {
                                octetStringMapCertToTSN = mapCertToTSN(x509Certificate, snmpTlstmCertToTSNEntryRow.getSnmpTlstmCertToTSNMapType(), snmpTlstmCertToTSNEntryRow.getSnmpTlstmCertToTSNData());
                            } catch (CertificateParsingException e2) {
                                LOGGER.warn("Failed to parse client certificate: " + e2.getMessage());
                                octetStringMapCertToTSN = null;
                            }
                            if (octetStringMapCertToTSN != null && octetStringMapCertToTSN.length() <= 32) {
                                return octetStringMapCertToTSN;
                            }
                        }
                    }
                }
            }
        }
        return null;
    }

    @Override // org.snmp4j.transport.tls.TlsTmSecurityCallback
    public boolean isClientCertificateAccepted(X509Certificate x509Certificate) {
        OctetString octetString = new OctetString(x509Certificate.getSignature());
        synchronized (this.snmpTlstmCertToTSNEntryModel) {
            Iterator<R> it = this.snmpTlstmCertToTSNEntryModel.iterator(new RowStatus.ActiveRowsFilter(4));
            while (it.hasNext()) {
                if (octetString.equals(((SnmpTlstmCertToTSNEntryRow) it.next()).getSnmpTlstmCertToTSNFingerprint())) {
                    return true;
                }
            }
            return false;
        }
    }

    public SnmpTlsTmMib(MOFactory mOFactory) {
        this();
        createMO(mOFactory);
        this.counterListener.add(this.snmpTlstmSessionOpens.getOid(), (Counter32) this.snmpTlstmSessionOpens.getValue());
        this.counterListener.add(this.snmpTlstmSessionClientCloses.getOid(), (Counter32) this.snmpTlstmSessionClientCloses.getValue());
        this.counterListener.add(this.snmpTlstmSessionOpenErrors.getOid(), (Counter32) this.snmpTlstmSessionOpenErrors.getValue());
        this.counterListener.add(this.snmpTlstmSessionAccepts.getOid(), (Counter32) this.snmpTlstmSessionAccepts.getValue());
        this.counterListener.add(this.snmpTlstmSessionServerCloses.getOid(), (Counter32) this.snmpTlstmSessionServerCloses.getValue());
        this.counterListener.add(this.snmpTlstmSessionNoSessions.getOid(), (Counter32) this.snmpTlstmSessionNoSessions.getValue());
        this.counterListener.add(this.snmpTlstmSessionInvalidClientCertificates.getOid(), (Counter32) this.snmpTlstmSessionInvalidClientCertificates.getValue());
        this.counterListener.add(this.snmpTlstmSessionUnknownServerCertificate.getOid(), (Counter32) this.snmpTlstmSessionUnknownServerCertificate.getValue());
        this.counterListener.add(this.snmpTlstmSessionInvalidServerCertificates.getOid(), (Counter32) this.snmpTlstmSessionInvalidServerCertificates.getValue());
        this.counterListener.add(this.snmpTlstmSessionInvalidCaches.getOid(), (Counter32) this.snmpTlstmSessionInvalidCaches.getValue());
    }
}
