what-the-bank/sources/org/bouncycastle/asn1/ess/ESSCertIDv2.java

96 lines
3.4 KiB
Java
Raw Permalink Normal View History

2024-07-27 18:17:47 +07:00
package org.bouncycastle.asn1.ess;
import org.bouncycastle.asn1.ASN1EncodableVector;
import org.bouncycastle.asn1.ASN1Object;
import org.bouncycastle.asn1.ASN1OctetString;
import org.bouncycastle.asn1.ASN1Primitive;
import org.bouncycastle.asn1.ASN1Sequence;
import org.bouncycastle.asn1.DEROctetString;
import org.bouncycastle.asn1.DERSequence;
import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
import org.bouncycastle.asn1.x509.IssuerSerial;
import org.bouncycastle.util.Arrays;
/* loaded from: classes6.dex */
public class ESSCertIDv2 extends ASN1Object {
private static final AlgorithmIdentifier DEFAULT_ALG_ID = new AlgorithmIdentifier(NISTObjectIdentifiers.id_sha256);
private byte[] certHash;
private AlgorithmIdentifier hashAlgorithm;
private IssuerSerial issuerSerial;
@Override // org.bouncycastle.asn1.ASN1Object, org.bouncycastle.asn1.ASN1Encodable
public ASN1Primitive toASN1Primitive() {
ASN1EncodableVector aSN1EncodableVector = new ASN1EncodableVector();
if (!this.hashAlgorithm.equals(DEFAULT_ALG_ID)) {
aSN1EncodableVector.add(this.hashAlgorithm);
}
aSN1EncodableVector.add(new DEROctetString(this.certHash).toASN1Primitive());
IssuerSerial issuerSerial = this.issuerSerial;
if (issuerSerial != null) {
aSN1EncodableVector.add(issuerSerial);
}
return new DERSequence(aSN1EncodableVector);
}
public IssuerSerial getIssuerSerial() {
return this.issuerSerial;
}
public AlgorithmIdentifier getHashAlgorithm() {
return this.hashAlgorithm;
}
public byte[] getCertHash() {
return Arrays.clone(this.certHash);
}
public static ESSCertIDv2 getInstance(Object obj) {
if (obj instanceof ESSCertIDv2) {
return (ESSCertIDv2) obj;
}
if (obj != null) {
return new ESSCertIDv2(ASN1Sequence.getInstance(obj));
}
return null;
}
public ESSCertIDv2(byte[] bArr, IssuerSerial issuerSerial) {
this(null, bArr, issuerSerial);
}
public ESSCertIDv2(byte[] bArr) {
this(null, bArr, null);
}
public ESSCertIDv2(AlgorithmIdentifier algorithmIdentifier, byte[] bArr, IssuerSerial issuerSerial) {
this.hashAlgorithm = algorithmIdentifier == null ? DEFAULT_ALG_ID : algorithmIdentifier;
this.certHash = Arrays.clone(bArr);
this.issuerSerial = issuerSerial;
}
public ESSCertIDv2(AlgorithmIdentifier algorithmIdentifier, byte[] bArr) {
this(algorithmIdentifier, bArr, null);
}
private ESSCertIDv2(ASN1Sequence aSN1Sequence) {
if (aSN1Sequence.size() > 3) {
StringBuilder sb = new StringBuilder("Bad sequence size: ");
sb.append(aSN1Sequence.size());
throw new IllegalArgumentException(sb.toString());
}
int i = 0;
if (aSN1Sequence.getObjectAt(0) instanceof ASN1OctetString) {
this.hashAlgorithm = DEFAULT_ALG_ID;
} else {
this.hashAlgorithm = AlgorithmIdentifier.getInstance(aSN1Sequence.getObjectAt(0).toASN1Primitive());
i = 1;
}
int i2 = i + 1;
this.certHash = ASN1OctetString.getInstance(aSN1Sequence.getObjectAt(i).toASN1Primitive()).getOctets();
if (aSN1Sequence.size() > i2) {
this.issuerSerial = IssuerSerial.getInstance(aSN1Sequence.getObjectAt(i2));
}
}
}