what-the-bank/sources/org/jmrtd/lds/icao/DG15File.java

83 lines
2.8 KiB
Java
Raw Normal View History

2024-07-27 18:17:47 +07:00
package org.jmrtd.lds.icao;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.security.GeneralSecurityException;
import java.security.InvalidAlgorithmParameterException;
import java.security.KeyFactory;
import java.security.PublicKey;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.X509EncodedKeySpec;
import java.util.logging.Logger;
import org.jmrtd.lds.DataGroup;
/* loaded from: classes6.dex */
public class DG15File extends DataGroup {
private static final Logger LOGGER = Logger.getLogger("org.jmrtd");
private static final long serialVersionUID = 3834304239673755744L;
private PublicKey publicKey;
public DG15File(PublicKey publicKey) {
super(111);
this.publicKey = publicKey;
}
public DG15File(InputStream inputStream) throws IOException {
super(111, inputStream);
}
@Override // org.jmrtd.lds.AbstractTaggedLDSFile
public void readContent(InputStream inputStream) throws IOException {
DataInputStream dataInputStream = inputStream instanceof DataInputStream ? (DataInputStream) inputStream : new DataInputStream(inputStream);
try {
byte[] bArr = new byte[getLength()];
dataInputStream.readFully(bArr);
this.publicKey = getPublicKey(bArr);
} catch (GeneralSecurityException e) {
throw new IllegalArgumentException(e.toString());
}
}
private static PublicKey getPublicKey(byte[] bArr) throws GeneralSecurityException {
X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(bArr);
String[] strArr = {"RSA", "EC"};
for (int i = 0; i < 2; i++) {
try {
return KeyFactory.getInstance(strArr[i]).generatePublic(x509EncodedKeySpec);
} catch (InvalidKeySpecException unused) {
}
}
throw new InvalidAlgorithmParameterException();
}
@Override // org.jmrtd.lds.AbstractTaggedLDSFile
public void writeContent(OutputStream outputStream) throws IOException {
outputStream.write(this.publicKey.getEncoded());
}
public boolean equals(Object obj) {
if (obj != null && obj.getClass() == getClass()) {
return this.publicKey.equals(((DG15File) obj).publicKey);
}
return false;
}
public int hashCode() {
return (this.publicKey.hashCode() * 5) + 61;
}
@Override // org.jmrtd.lds.DataGroup, org.jmrtd.lds.AbstractTaggedLDSFile
public String toString() {
StringBuilder sb = new StringBuilder("DG15File [");
sb.append(this.publicKey.toString());
sb.append("]");
return sb.toString();
}
public PublicKey getPublicKey() {
return this.publicKey;
}
}