security: Implement most of Certificate.cpp
diff --git a/Makefile.in b/Makefile.in
index eca3905..0958a1a 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -151,7 +151,8 @@
 	ndn-cpp/c/encoding/binary-xml-structure-decoder.lo \
 	ndn-cpp/c/transport/socket-transport.lo \
 	ndn-cpp/c/util/crypto.lo ndn-cpp/c/util/dynamic-uint8-array.lo \
-	ndn-cpp/c/util/ndn_memory.lo ndn-cpp/c/util/ndn_realloc.lo
+	ndn-cpp/c/util/ndn_memory.lo ndn-cpp/c/util/ndn_realloc.lo \
+	ndn-cpp/c/util/time.lo
 libndn_c_la_OBJECTS = $(am_libndn_c_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -172,7 +173,8 @@
 	ndn-cpp/c/encoding/binary-xml-structure-decoder.lo \
 	ndn-cpp/c/transport/socket-transport.lo \
 	ndn-cpp/c/util/crypto.lo ndn-cpp/c/util/dynamic-uint8-array.lo \
-	ndn-cpp/c/util/ndn_memory.lo ndn-cpp/c/util/ndn_realloc.lo
+	ndn-cpp/c/util/ndn_memory.lo ndn-cpp/c/util/ndn_realloc.lo \
+	ndn-cpp/c/util/time.lo
 am_libndn_cpp_la_OBJECTS = $(am__objects_2) $(am__objects_1) \
 	ndn-cpp/common.lo ndn-cpp/data.lo ndn-cpp/face.lo \
 	ndn-cpp/forwarding-entry.lo ndn-cpp/interest.lo ndn-cpp/key.lo \
@@ -191,6 +193,7 @@
 	ndn-cpp/security/security-exception.lo \
 	ndn-cpp/security/certificate/certificate-extension.lo \
 	ndn-cpp/security/certificate/certificate-subject-description.lo \
+	ndn-cpp/security/certificate/certificate.lo \
 	ndn-cpp/security/certificate/identity-certificate.lo \
 	ndn-cpp/security/certificate/public-key.lo \
 	ndn-cpp/security/identity/basic-identity-storage.lo \
@@ -640,7 +643,8 @@
   ndn-cpp/c/util/crypto.c ndn-cpp/c/util/crypto.h \
   ndn-cpp/c/util/dynamic-uint8-array.c ndn-cpp/c/util/dynamic-uint8-array.h \
   ndn-cpp/c/util/ndn_memory.c ndn-cpp/c/util/ndn_memory.h \
-  ndn-cpp/c/util/ndn_realloc.c ndn-cpp/c/util/ndn_realloc.h
+  ndn-cpp/c/util/ndn_realloc.c ndn-cpp/c/util/ndn_realloc.h \
+  ndn-cpp/c/util/time.c ndn-cpp/c/util/time.h
 
 
 # C++ code and also the C code.
@@ -673,6 +677,7 @@
   ndn-cpp/security/security-exception.cpp \
   ndn-cpp/security/certificate/certificate-extension.cpp \
   ndn-cpp/security/certificate/certificate-subject-description.cpp \
+  ndn-cpp/security/certificate/certificate.cpp \
   ndn-cpp/security/certificate/identity-certificate.cpp \
   ndn-cpp/security/certificate/public-key.cpp \
   ndn-cpp/security/identity/basic-identity-storage.cpp \
@@ -847,6 +852,8 @@
 	ndn-cpp/c/util/$(DEPDIR)/$(am__dirstamp)
 ndn-cpp/c/util/ndn_realloc.lo: ndn-cpp/c/util/$(am__dirstamp) \
 	ndn-cpp/c/util/$(DEPDIR)/$(am__dirstamp)
+ndn-cpp/c/util/time.lo: ndn-cpp/c/util/$(am__dirstamp) \
+	ndn-cpp/c/util/$(DEPDIR)/$(am__dirstamp)
 
 libndn-c.la: $(libndn_c_la_OBJECTS) $(libndn_c_la_DEPENDENCIES) $(EXTRA_libndn_c_la_DEPENDENCIES) 
 	$(AM_V_CCLD)$(LINK) -rpath $(libdir) $(libndn_c_la_OBJECTS) $(libndn_c_la_LIBADD) $(LIBS)
@@ -941,6 +948,9 @@
 ndn-cpp/security/certificate/certificate-subject-description.lo:  \
 	ndn-cpp/security/certificate/$(am__dirstamp) \
 	ndn-cpp/security/certificate/$(DEPDIR)/$(am__dirstamp)
+ndn-cpp/security/certificate/certificate.lo:  \
+	ndn-cpp/security/certificate/$(am__dirstamp) \
+	ndn-cpp/security/certificate/$(DEPDIR)/$(am__dirstamp)
 ndn-cpp/security/certificate/identity-certificate.lo:  \
 	ndn-cpp/security/certificate/$(am__dirstamp) \
 	ndn-cpp/security/certificate/$(DEPDIR)/$(am__dirstamp)
@@ -1119,6 +1129,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/c/util/$(DEPDIR)/dynamic-uint8-array.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/c/util/$(DEPDIR)/ndn_memory.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/c/util/$(DEPDIR)/ndn_realloc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/c/util/$(DEPDIR)/time.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/encoding/$(DEPDIR)/binary-xml-wire-format.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/encoding/$(DEPDIR)/element-listener.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/encoding/$(DEPDIR)/oid.Plo@am__quote@
@@ -1132,6 +1143,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/security/$(DEPDIR)/security-exception.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/security/certificate/$(DEPDIR)/certificate-extension.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/security/certificate/$(DEPDIR)/certificate-subject-description.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/security/certificate/$(DEPDIR)/certificate.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/security/certificate/$(DEPDIR)/identity-certificate.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/security/certificate/$(DEPDIR)/public-key.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/security/identity/$(DEPDIR)/basic-identity-storage.Plo@am__quote@