package org.snmp4j.agent.mo.snmp;

import org.snmp4j.agent.MOAccess;
import org.snmp4j.agent.mo.MOTableRow;
import org.snmp4j.agent.mo.snmp.UsmMIB;
import org.snmp4j.agent.request.SubRequest;
import org.snmp4j.security.AuthenticationProtocol;
import org.snmp4j.security.PrivacyProtocol;
import org.snmp4j.smi.OctetString;

/* JADX INFO: loaded from: classes.dex */
public class UsmKeyChange extends KeyChange {
    public static final int AUTH_KEY_CHANGE = 0;
    public static final int PRIV_KEY_CHANGE = 1;
    private int type;

    public UsmKeyChange(int i2, MOAccess mOAccess, int i3) {
        super(i2, mOAccess, new OctetString(), true);
        this.type = i3;
    }

    @Override // org.snmp4j.agent.mo.MOMutableColumn
    public void commit(SubRequest subRequest, MOTableRow mOTableRow, MOTableRow mOTableRow2, int i2) {
        if (getDigestLength((UsmMIB.UsmTableRow) mOTableRow, mOTableRow2) > 0) {
            super.commit(subRequest, mOTableRow, mOTableRow2, i2);
        } else {
            subRequest.completed();
        }
    }

    protected int getDigestLength(UsmMIB.UsmTableRow usmTableRow, MOTableRow mOTableRow) {
        int digestLength;
        PrivacyProtocol privProtocol;
        int i2 = this.type;
        if (i2 == 0) {
            AuthenticationProtocol authProtocol = usmTableRow.getAuthProtocol(mOTableRow);
            if (authProtocol == null) {
                return -1;
            }
            digestLength = authProtocol.getDigestLength();
        } else {
            if (i2 != 1 || (privProtocol = usmTableRow.getPrivProtocol(mOTableRow)) == null) {
                return -1;
            }
            digestLength = privProtocol.getMaxKeyLength();
        }
        return digestLength * 2;
    }

    @Override // org.snmp4j.agent.mo.MOMutableColumn
    public void prepare(SubRequest subRequest, MOTableRow mOTableRow, MOTableRow mOTableRow2, int i2) {
        super.prepare(subRequest, mOTableRow, mOTableRow2, i2);
        if (subRequest.hasError()) {
            return;
        }
        int digestLength = getDigestLength((UsmMIB.UsmTableRow) mOTableRow, mOTableRow2);
        if (digestLength <= 0) {
            subRequest.completed();
        } else if (((OctetString) subRequest.getVariableBinding().getVariable()).length() != digestLength) {
            subRequest.getStatus().setErrorStatus(10);
        }
    }
}
