Security implemented + Partial publish
diff --git a/js/test-decode-FaceInstance.html b/js/test-decode-FaceInstance.html
new file mode 100644
index 0000000..5ec30dd
--- /dev/null
+++ b/js/test-decode-FaceInstance.html
@@ -0,0 +1,167 @@
+<?xml version = "1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+"DTD/xhtml1-strict.dtd">
+<html xmlns = "http://www.w3.org/1999/xhtml">
+
+<head>
+ <title>NDN Decode Face Instance</title>
+
+ <script type="text/javascript" src="java_socket_bridge.js"></script>
+
+ <script type="text/javascript" src="CCNProtocolDTags.js"></script>
+
+ <script type="text/javascript" src="CCNTime.js"></script>
+
+ <script type="text/javascript" src="ContentName.js"></script>
+
+ <script type="text/javascript" src="ContentObject.js"></script>
+
+ <script type="text/javascript" src="DateFormat.js"></script>
+
+ <script type="text/javascript" src="Exclude.js"></script>
+
+ <script type="text/javascript" src="ExcludeAny.js"></script>
+
+ <script type="text/javascript" src="ExcludeComponent.js"></script>
+
+ <script type="text/javascript" src="Interest.js"></script>
+
+ <script type="text/javascript" src="KeyLocator.js"></script>
+
+ <script type="text/javascript" src="KeyName.js"></script>
+
+ <script type="text/javascript" src="PublisherID.js"></script>
+
+ <script type="text/javascript" src="Signature.js"></script>
+
+ <script type="text/javascript" src="SignedInfo.js"></script>
+
+ <script type="text/javascript" src="PublisherPublicKeyDigest.js"></script>
+
+ <script type="text/javascript" src="FaceInstance.js"></script>
+
+ <script type="text/javascript" src="ForwardingEntry.js"></script>
+
+ <script type="text/javascript" src="encoding/BinaryXMLEncoder.js"></script>
+
+ <script type="text/javascript" src="encoding/BinaryXMLCodec.js"></script>
+
+ <script type="text/javascript" src="encoding/BinaryXMLDecoder.js"></script>
+
+ <script type="text/javascript" src="encoding/DataUtils.js"></script>
+
+ <script language="JavaScript" type="text/javascript" src="security/KeyManager.js"></script>
+
+ <script language="JavaScript" type="text/javascript" src="securityLib/jsbn.js"></script>
+ <script language="JavaScript" type="text/javascript" src="securityLib/jsbn2.js"></script>
+ <script language="JavaScript" type="text/javascript" src="securityLib/rsa.js"></script>
+ <script language="JavaScript" type="text/javascript" src="securityLib/rsa2.js"></script>
+
+ <script language="JavaScript" type="text/javascript" src="securityLib/sha1.js"></script>
+ <script language="JavaScript" type="text/javascript" src="securityLib/sha256.js"></script>
+ <script language="JavaScript" type="text/javascript" src="securityLib/sha512.js"></script>
+ <script language="JavaScript" type="text/javascript" src="securityLib/md5.js"></script>
+ <script language="JavaScript" type="text/javascript" src="securityLib/ripemd160.js"></script>
+ <script language="JavaScript" type="text/javascript" src="securityLib/base64.js"></script>
+
+ <script language="JavaScript" type="text/javascript" src="securityLib/rsapem-1.1.js"></script>
+ <script language="JavaScript" type="text/javascript" src="securityLib/rsasign-1.2.js"></script>
+ <script language="JavaScript" type="text/javascript" src="securityLib/asn1hex-1.1.js"></script>
+ <script language="JavaScript" type="text/javascript" src="securityLib/x509-1.1.js"></script>
+
+ <script type="text/javascript">
+
+ function decode(){
+
+ var input = document.getElementById('result').innerHTML;
+
+
+ var faceInstance = decodeHexFaceInstance(input);
+
+ if(LOG>3)console.log('FACE INSTANCE DECODED');
+ if(LOG>3)console.log(faceInstance);
+
+ ///////////////////////////////////////
+
+ var output ="";
+
+ if(faceInstance.PublisherPublicKeyDigest!=null ){
+ output+= "PublisherPublicKeyDigest: ";
+
+ output+= DataUtils.toHex(faceInstance.PublisherPublicKeyDigest.PublisherPublicKeyDigest);
+
+ //output+= "PUBLISHER ID TYPE: ";
+ //output+= faceInstance.PublisherPublicKeyDigest.PublisherPublicKeyDigest;
+
+ output+= "<br />";
+ output+= "<br />";
+
+ }
+
+ if(faceInstance.FaceID!=null){
+ output+= "FaceID: ";
+
+ output+= faceInstance.FaceID;
+ output+= "<br />";
+ }
+
+ if(faceInstance.IPProto!=null){
+ output+= "IPProto: ";
+
+ output+= faceInstance.IPProto;
+ output+= "<br />";
+ }
+
+ if(faceInstance.Host!=null){
+ output+= "Host: ";
+
+ output+= faceInstance.Host;
+ output+= "<br />";
+ }
+
+ if(faceInstance.Port!=null){
+ output+= "Port: ";
+
+ output+= faceInstance.Port;
+ output+= "<br />";
+ }
+ if(faceInstance.FreshnessSeconds!=null){
+ output+= "FreshnessSeconds: ";
+
+ output+= faceInstance.FreshnessSeconds;
+ output+= "<br />";
+ }
+
+ /*if(interest.Name!=null && interest.Name.Components!=null){
+ output+= "NAME: ";
+
+ for(var i=0;i<interest.Name.Components.length;i++){
+ output+= "/"+ DataUtils.toString(interest.Name.Components[i]);
+ }
+ output+= "<br />";
+ output+= "<br />";
+ }*/
+
+ document.getElementById('result').innerHTML = output;
+
+ }
+
+ </script>
+
+</head>
+<body >
+ <form>
+
+ Please Enter a Interest:<br />
+
+ <!-- input id="faceInstance" type="text" name="FACEINSTANCE" value="/PARC/abc" /-->
+
+ </form>
+ <button onclick="decode()">Decode</button>
+
+
+
+ <p id="result">058203e20285e0a01e093968f9740ce7f4361babf5bb05a4e55aaca5e58f73eddeb8e013aa8f0004d29632310004da9631370004e2c631302e312e312e310004eaa6393639350003d2d6323134373438333634370000</p>
+
+</body>
+</html>
\ No newline at end of file