/* * Copyright 2017 rootkiwi * * AN2Linux-client is licensed under GNU General Public License 3. * * See LICENSE for more details. */ package kiwi.root.an2linuxclient.data; import android.util.Log; import org.spongycastle.cert.X509CertificateHolder; import org.spongycastle.cert.jcajce.JcaX509CertificateConverter; import java.security.cert.Certificate; import java.security.cert.CertificateEncodingException; public abstract class Server implements Comparable<Server> { long id; private boolean isEnabled; Certificate certificate; private long certificateId; public void setId(long id) { this.id = id; } public void setIsEnabled(boolean isEnabled) { this.isEnabled = isEnabled; } public void setCertificate(byte[] certificateBytes){ try { X509CertificateHolder certificateHolder = new X509CertificateHolder(certificateBytes); this.certificate = new JcaX509CertificateConverter().getCertificate(certificateHolder); } catch (Exception e) { Log.e("Server", "setCertificate"); Log.e("StackTrace", Log.getStackTraceString(e)); } } void setCertificateId(long certificateId){ this.certificateId = certificateId; } public long getId() { return this.id; } public boolean isEnabled() { return this.isEnabled; } public Certificate getCertificate(){ return this.certificate; } byte[] getCertificateBytes(){ try { return this.certificate.getEncoded(); } catch (CertificateEncodingException e){ Log.e("Server", "getCertificateBytes"); Log.e("StackTrace", Log.getStackTraceString(e)); return null; } } public long getCertificateId(){ return certificateId; } @Override public int compareTo(Server server) { return Long.valueOf(this.id).compareTo(server.getId()); } }