<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, May 2, 2016 at 12:39 PM, Rhys Weatherley <span dir="ltr"><<a href="mailto:rhys.weatherley@gmail.com" target="_blank">rhys.weatherley@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><div>Protobufs should be slightly more compact than ASN.1 DER.  ASN.1 DER uses (tag, size, value) for fields whereas protobufs can get away with (tag, value) for integer fields.  Arrays are also quite compact for integer types.  String and compound fields are about the same length.  The main length gains for certificates are in naming: X.509 DN's are quite verbose compared with "foo@domain".<br></div></span><div><br></div><div>The first signed certificate example on my site produces 388 bytes of output as a protobuf.  Without the signature (i.e. a self-issued certificate), it is 164 bytes.</div></div></div></div></blockquote><div><br></div><div>Take a look at ASN.1 OER. It has many echoes of Protobufs, similar compactness, and a substantially simpler implementation than e.g. BER:</div><div><br></div><div><a href="http://www.oss.com/asn1/resources/books-whitepapers-pubs/Overview%20of%20OER.pdf">http://www.oss.com/asn1/resources/books-whitepapers-pubs/Overview%20of%20OER.pdf</a><br></div></div><div><br></div>-- <br><div class="gmail_signature">Tony Arcieri<br></div>
</div></div>