Package freenet.keys

Examples of freenet.keys.InsertableClientSSK


  static FreenetURI checkEmptySSK(FreenetURI uri, String filename, ClientContext context) {
    if("SSK".equals(uri.getKeyType()) && uri.getDocName() == null && uri.getRoutingKey() == null) {
      if(filename == null || filename.equals("")) filename = "key";
      // SSK@ = use a random SSK.
        InsertableClientSSK key = InsertableClientSSK.createRandom(context.random, "");
        return key.getInsertURI().setDocName(filename);
    } else {
      return uri;
    }
  }
View Full Code Here


  }

  @Override
  public void run(FCPConnectionHandler handler, Node node)
      throws MessageInvalidException {
      InsertableClientSSK key = InsertableClientSSK.createRandom(node.random, "");
      FreenetURI insertURI = key.getInsertURI();
      FreenetURI requestURI = key.getURI();
      SSKKeypairMessage msg = new SSKKeypairMessage(insertURI, requestURI, identifier);
      handler.outputHandler.queue(msg);
  }
View Full Code Here

                EXTRA_INSERTS_SPLITFILE_HEADER, InsertContext.CompatibilityMode.COMPAT_DEFAULT);
    }

  @Override
  public FreenetURI[] generateKeyPair(String docName) {
    InsertableClientSSK key = InsertableClientSSK.createRandom(random, docName);
    return new FreenetURI[] { key.getInsertURI(), key.getURI() };
  }
View Full Code Here

    }
   
    RandomAccessBucket b = new SimpleReadOnlyArrayBucket(buf);
   
    long number = crypto.myARKNumber;
    InsertableClientSSK ark = crypto.myARK;
    FreenetURI uri = ark.getInsertURI().setKeyType("USK").setSuggestedEdition(number);
   
    if(logMINOR) Logger.minor(this, "Inserting " + darknetOpennetString + " ARK: " + uri + "  contents:\n" + s);
   
    InsertContext ctx = node.clientCore.makeClient((short)0, true, false).getInsertContext(true);
    inserter = new ClientPutter(this, b, uri,
View Full Code Here

    DSAGroup g = Global.DSAgroupBigA;
    DSAPrivateKey privKey = new DSAPrivateKey(g, random);
    DSAPublicKey pubKey = new DSAPublicKey(g, privKey);
    byte[] pkHash = SHA256.digest(pubKey.asBytes());
    String docName = "myDOC";
    InsertableClientSSK ik = new InsertableClientSSK(docName, pkHash, pubKey, privKey, ckey, Key.ALGO_AES_PCFB_256_SHA256);
   
    String test = "test";
    SimpleReadOnlyArrayBucket bucket = new SimpleReadOnlyArrayBucket(test.getBytes("UTF-8"));
    ClientSSKBlock block = ik.encode(bucket, false, false, (short)-1, bucket.size(), random, Compressor.DEFAULT_COMPRESSORDESCRIPTOR, false);
    SSKBlock sskBlock = (SSKBlock) block.getBlock();
    store.put(sskBlock, false, false);
   
    //If the block is the same then there should not be a collision
    try {
      store.put(sskBlock, false, false);
      assertTrue(true);
    } catch (KeyCollisionException e) {
      assertTrue(false);
     
    }
   
    String test1 = "test1";
    SimpleReadOnlyArrayBucket bucket1 = new SimpleReadOnlyArrayBucket(test1.getBytes("UTF-8"));
    ClientSSKBlock block1 = ik.encode(bucket1, false, false, (short)-1, bucket1.size(), random, Compressor.DEFAULT_COMPRESSORDESCRIPTOR, false);
    SSKBlock sskBlock1 = (SSKBlock) block1.getBlock();
   
    //if it's different (e.g. different content, same key), there should be a KCE thrown
    try {
      store.put(sskBlock1, false, false);
View Full Code Here

  }

  private ClientSSKBlock encodeBlockSSK(String test, RandomSource random) throws IOException, SSKEncodeException, InvalidCompressionCodecException {
    byte[] data = test.getBytes("UTF-8");
    SimpleReadOnlyArrayBucket bucket = new SimpleReadOnlyArrayBucket(data);
    InsertableClientSSK ik = InsertableClientSSK.createRandom(random, test);
    return ik.encode(bucket, false, false, (short)-1, bucket.size(), random, Compressor.DEFAULT_COMPRESSORDESCRIPTOR, false);
  }
View Full Code Here

    DSAGroup g = Global.DSAgroupBigA;
    DSAPrivateKey privKey = new DSAPrivateKey(g, random);
    DSAPublicKey pubKey = new DSAPublicKey(g, privKey);
    byte[] pkHash = SHA256.digest(pubKey.asBytes());
    String docName = "myDOC";
    InsertableClientSSK ik = new InsertableClientSSK(docName, pkHash, pubKey, privKey, ckey, Key.ALGO_AES_PCFB_256_SHA256);
   
    String test = "test";
    SimpleReadOnlyArrayBucket bucket = new SimpleReadOnlyArrayBucket(test.getBytes("UTF-8"));
    ClientSSKBlock block = ik.encode(bucket, false, false, (short)-1, bucket.size(), random, Compressor.DEFAULT_COMPRESSORDESCRIPTOR, false);
    SSKBlock sskBlock = (SSKBlock) block.getBlock();
    store.put(sskBlock, false, false);
   
    //If the block is the same then there should not be a collision
    try {
      store.put(sskBlock, false, false);
      assertTrue(true);
    } catch (KeyCollisionException e) {
      assertTrue(false);
     
    }
   
    String test1 = "test1";
    SimpleReadOnlyArrayBucket bucket1 = new SimpleReadOnlyArrayBucket(test1.getBytes("UTF-8"));
    ClientSSKBlock block1 = ik.encode(bucket1, false, false, (short)-1, bucket1.size(), random, Compressor.DEFAULT_COMPRESSORDESCRIPTOR, false);
    SSKBlock sskBlock1 = (SSKBlock) block1.getBlock();
   
    //if it's different (e.g. different content, same key), there should be a KCE thrown
    try {
      store.put(sskBlock1, false, false);
View Full Code Here

  }

  private ClientSSKBlock encodeBlockSSK(String test, RandomSource random) throws IOException, SSKEncodeException, InvalidCompressionCodecException {
    byte[] data = test.getBytes("UTF-8");
    SimpleReadOnlyArrayBucket bucket = new SimpleReadOnlyArrayBucket(data);
    InsertableClientSSK ik = InsertableClientSSK.createRandom(random, test);
    return ik.encode(bucket, false, false, (short)-1, bucket.size(), random, Compressor.DEFAULT_COMPRESSORDESCRIPTOR, false);
  }
View Full Code Here

            } catch (Throwable t) {
                outsb.append("Insert threw: ").append(t);
                t.printStackTrace();
            }
        } else if(uline.startsWith("MAKESSK")) {
          InsertableClientSSK key = InsertableClientSSK.createRandom(r, "");
            outsb.append("Insert URI: ").append(key.getInsertURI().toString(false, false)).append("\r\n");
            outsb.append("Request URI: ").append(key.getURI().toString(false, false)).append("\r\n");
          FreenetURI insertURI = key.getInsertURI().setDocName("testsite");
          String fixedInsertURI = insertURI.toString(false, false);
            outsb.append("Note that you MUST add a filename to the end of the above URLs e.g.:\r\n").append(fixedInsertURI).append("\r\n");
            outsb.append("Normally you will then do PUTSSKDIR:<insert URI>#<directory to upload>, for example:\r\nPUTSSKDIR:").append(fixedInsertURI).append("#directoryToUpload/\r\n");
            outsb.append("This will then produce a manifest site containing all the files, the default document can be accessed at\r\n").append(key.getURI().toString(false, false)).append("testsite/");
        } else if(uline.startsWith("PUTSSK:")) {
          String cmd = line.substring("PUTSSK:".length());
          cmd = cmd.trim();
          if(cmd.indexOf(';') <= 0) {
            outsb.append("No target URI provided.");
            outsb.append("PUTSSK:<insert uri>;<url to redirect to>");
      outsb.append("\r\n");
      w.write(outsb.toString());
      w.flush();
            return false;
          }
          String[] split = cmd.split(";");
          String insertURI = split[0];
          String targetURI = split[1];
            outsb.append("Insert URI: ").append(insertURI);
            outsb.append("Target URI: ").append(targetURI);
          FreenetURI insert = new FreenetURI(insertURI);
          FreenetURI target = new FreenetURI(targetURI);
          try {
        FreenetURI result = client.insertRedirect(insert, target);
                outsb.append("Successfully inserted to fetch URI: ").append(result);
      } catch (InsertException e) {
                outsb.append("Finished insert but: ").append(e.getMessage());
              Logger.normal(this, "Error: "+e, e);
              if(e.uri != null) {
                    outsb.append("URI would have been: ").append(e.uri);
              }
      }
         
        } else if(uline.startsWith("STATUS")) {
          outsb.append("DARKNET:\n");
            SimpleFieldSet fs = n.exportDarknetPublicFieldSet();
            outsb.append(fs.toString());
            if(n.isOpennetEnabled()) {
              outsb.append("OPENNET:\n");
              fs = n.exportOpennetPublicFieldSet();
                outsb.append(fs.toString());
            }
            outsb.append(n.getStatus());
            if(Version.buildNumber()<Version.getHighestSeenBuild()){
                outsb.append("The latest version is : ").append(Version.getHighestSeenBuild());
            }
        } else if(uline.startsWith("ADDPEER:") || uline.startsWith("CONNECT:")) {
            String key = null;
            if(uline.startsWith("CONNECT:")) {
                key = line.substring("CONNECT:".length()).trim();
            } else {
                key = line.substring("ADDPEER:".length()).trim();
            }
           
            String content = null;
            if(key.length() > 0) {
                // Filename
              BufferedReader in;
                outsb.append("Trying to add peer to node by noderef in ").append(key).append("\r\n");
                File f = new File(key);
                if (f.isFile()) {
View Full Code Here

  protected static ClientKeyBlock innerEncode(RandomSource random, FreenetURI uri, Bucket sourceData, boolean isMetadata, short compressionCodec, int sourceLength, String compressorDescriptor, boolean pre1254, byte cryptoAlgorithm, byte[] cryptoKey) throws InsertException, CHKEncodeException, IOException, SSKEncodeException, MalformedURLException, InvalidCompressionCodecException {
    String uriType = uri.getKeyType();
    if(uriType.equals("CHK")) {
      return ClientCHKBlock.encode(sourceData, isMetadata, compressionCodec == -1, compressionCodec, sourceLength, compressorDescriptor, pre1254, cryptoKey, cryptoAlgorithm);
    } else if(uriType.equals("SSK") || uriType.equals("KSK")) {
      InsertableClientSSK ik = InsertableClientSSK.create(uri);
      return ik.encode(sourceData, isMetadata, compressionCodec == -1, compressionCodec, sourceLength, random, compressorDescriptor, pre1254);
    } else {
      throw new InsertException(InsertExceptionMode.INVALID_URI, "Unknown keytype "+uriType, null);
    }
  }
View Full Code Here

TOP

Related Classes of freenet.keys.InsertableClientSSK

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.