diff --git a/src/io/calidog/certstream/CertStreamCertificate.java b/src/io/calidog/certstream/CertStreamCertificate.java index 57437c5..ac77d07 100644 --- a/src/io/calidog/certstream/CertStreamCertificate.java +++ b/src/io/calidog/certstream/CertStreamCertificate.java @@ -14,11 +14,12 @@ public class CertStreamCertificate extends X509Certificate { private HashMap subject; private HashMap extensions; + private HashMap issuer; private double notBefore; private double notAfter; - private String asDer; + String sigAlg; String serialNumber; @@ -31,12 +32,9 @@ private CertStreamCertificate() {} public static CertStreamCertificate fromPOJO(CertStreamCertificatePOJO pojo) throws CertificateException { CertStreamCertificate fullCertificate = new CertStreamCertificate(); - if (pojo.asDer.isEmpty()) - { - return null; - } + fullCertificate.issuer = pojo.issuer; - fullCertificate.asDer = pojo.asDer; + fullCertificate.sigAlg = pojo.sigAlg; fullCertificate.extensions = pojo.extensions; @@ -191,13 +189,10 @@ public void verify(PublicKey publicKey, Provider provider) throws CertificateExc super.verify(publicKey, provider); } - private byte[] memoizedEncodedCert = null; @Override - public byte[] getEncoded() throws CertificateEncodingException { - if (memoizedEncodedCert == null) { - memoizedEncodedCert = Base64.getDecoder().decode(asDer); - } - return Arrays.copyOf(memoizedEncodedCert, memoizedEncodedCert.length); + public byte[] getEncoded() { + + return new byte[1]; } /**Not implemented*/ diff --git a/src/io/calidog/certstream/CertStreamCertificatePOJO.java b/src/io/calidog/certstream/CertStreamCertificatePOJO.java index a4717a8..15dd11c 100644 --- a/src/io/calidog/certstream/CertStreamCertificatePOJO.java +++ b/src/io/calidog/certstream/CertStreamCertificatePOJO.java @@ -12,6 +12,8 @@ public class CertStreamCertificatePOJO { HashMap subject; + HashMap issuer; + // values can be either strings or lists of strings, so we use a a custom deserializer // that converts strings into singleton arrays HashMap extensions; @@ -22,8 +24,8 @@ public class CertStreamCertificatePOJO { @SerializedName("not_after") double notAfter; - @SerializedName("as_der") - String asDer; + @SerializedName("signature_algorithm") + String sigAlg; @SerializedName("serial_number") String serialNumber; diff --git a/src/io/calidog/certstream/CertStreamMessageData.java b/src/io/calidog/certstream/CertStreamMessageData.java index a0ebfae..72e88b2 100644 --- a/src/io/calidog/certstream/CertStreamMessageData.java +++ b/src/io/calidog/certstream/CertStreamMessageData.java @@ -11,9 +11,9 @@ public class CertStreamMessageData { String updateType; - CertStreamCertificate leafCert; + String certLink; - CertStreamCertificate[] chain; + CertStreamCertificate leafCert; long certIndex; @@ -36,12 +36,7 @@ public static CertStreamMessageData fromPOJO(CertStreamMessageDataPOJO pojo) thr fullData.leafCert = CertStreamCertificate.fromPOJO(pojo.leafCert); - fullData.chain = new CertStreamCertificate[pojo.chain.length]; - - for (int i = 0; i < fullData.chain.length; i++) - { - fullData.chain[i] = CertStreamCertificate.fromPOJO(pojo.chain[i]); - } + fullData.certLink = pojo.certLink; fullData.source = pojo.source; diff --git a/src/io/calidog/certstream/CertStreamMessageDataPOJO.java b/src/io/calidog/certstream/CertStreamMessageDataPOJO.java index f17628c..99399f9 100644 --- a/src/io/calidog/certstream/CertStreamMessageDataPOJO.java +++ b/src/io/calidog/certstream/CertStreamMessageDataPOJO.java @@ -6,11 +6,12 @@ public class CertStreamMessageDataPOJO { @SerializedName("update_type") String updateType; + @SerializedName("cert_link") + String certLink; + @SerializedName("leaf_cert") CertStreamCertificatePOJO leafCert; - CertStreamCertificatePOJO[] chain; - @SerializedName("cert_index") long certIndex;