security: Added headers for der encoding. Added CertificateExtension and CertificateSubjectDescription.
diff --git a/ndn-cpp/security/certificate/certificate-extension.cpp b/ndn-cpp/security/certificate/certificate-extension.cpp
new file mode 100644
index 0000000..9f6c39a
--- /dev/null
+++ b/ndn-cpp/security/certificate/certificate-extension.cpp
@@ -0,0 +1,50 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
+/**
+ * Copyright (C) 2013 Regents of the University of California.
+ * @author: Jeff Thompson <jefft0@remap.ucla.edu>
+ * See COPYING for copyright and distribution information.
+ */
+
+#include "../../encoding/der/der.hpp"
+#include <ndn-cpp/security/certificate/certificate-extension.hpp>
+
+using namespace std;
+using namespace ndn::ptr_lib;
+
+namespace ndn {
+
+shared_ptr<der::DerNode>
+CertificateExtension::toDer()
+{
+ shared_ptr<der::DerSequence> root(new der::DerSequence);
+
+ shared_ptr<der::DerOid> extensionId(new der::DerOid(extensionId_));
+ shared_ptr<der::DerBool> isCritical(new der::DerBool(isCritical_));
+ shared_ptr<der::DerOctetString> extensionValue(new der::DerOctetString(*extensionValue_));
+
+ root->addChild(extensionId);
+ root->addChild(isCritical);
+ root->addChild(extensionValue);
+
+ root->getSize();
+
+ return root;
+}
+
+Blob
+CertificateExtension::toDerBlob()
+{
+#if 0 // Need to convert blob_stream.
+ blob_stream blobStream;
+ ostream& start = reinterpret_cast<ostream&>(blobStream);
+
+ toDer()->encode(start);
+
+ return blobStream.buf();
+#else
+ throw std::runtime_error("not implemented");
+#endif
+}
+
+
+}