/** Return the URL's to insert hint data to */ public FreenetURI[] getInsertURIs(InsertableUSK key) { FreenetURI[] uris = new FreenetURI[Type.values.length]; int x = 0; for(Type t : Type.values) uris[x++] = key.getInsertableSSK(key.siteName+PREFIX+get(t)).getInsertURI(); return uris; }
@Override public FreenetURI[] generateKeyPair(String docName) { InsertableClientSSK key = InsertableClientSSK.createRandom(random, docName); return new FreenetURI[] { key.getInsertURI(), key.getURI() }; }
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; } }
@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); }
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");
void addPrivateFields(SimpleFieldSet fs) { // Let's not add it twice fs.removeSubset("ecdsa"); fs.put("ecdsa", ecdsaP256.asFieldSet(true)); fs.putSingle("ark.privURI", myARK.getInsertURI().toString(false, false)); fs.putSingle("clientNonce", Base64.encode(clientNonce)); }
private void scheduleInsert(ClientContext context) { long edNo = Math.max(edition, context.uskManager.lookupLatestSlot(pubUSK)+1); synchronized(this) { if(finished) return; edition = edNo; if(logMINOR) Logger.minor(this, "scheduling insert for "+pubUSK.getURI()+ ' ' +edition); sbi = new SingleBlockInserter(parent, data, compressionCodec, privUSK.getInsertableSSK(edition).getInsertURI(), ctx, realTimeFlag, this, isMetadata, sourceLength, token, false, true /* we don't use it */, tokenObject, context, persistent, false, extraInserts, cryptoAlgorithm, forceCryptoKey); } try { sbi.schedule(context); } catch (InsertException e) { synchronized(this) { finished = true; } if(freeData) { data.free(); synchronized(this) { data = null; } } cb.onFailure(e, this, context); } }
protected InsertBlock generateBlock(DummyRandomSource random) throws MalformedURLException { byte[] data = new byte[FILE_SIZE]; random.nextBytes(data); RandomAccessBucket bucket = new SimpleReadOnlyArrayBucket(data); FreenetURI uri = InsertableClientSSK.createRandom(random, "test").getInsertURI(); return new InsertBlock(bucket, new ClientMetadata(null), uri); }
/** * Inserts the image data of the given {@link TemporaryImage} and returns * the given insert token that can be used to add listeners or cancel the * insert. * * @param temporaryImage * The temporary image data * @param image * The image * @param insertToken * The insert token * @throws SoneException * if the insert could not be started */ public void insertImage(TemporaryImage temporaryImage, Image image, InsertToken insertToken) throws SoneException { String filenameHint = image.getId() + "." + temporaryImage.getMimeType().substring(temporaryImage.getMimeType().lastIndexOf("/") + 1); InsertableClientSSK key = InsertableClientSSK.createRandom(node.random, ""); FreenetURI targetUri = key.getInsertURI().setDocName(filenameHint); InsertContext insertContext = client.getInsertContext(true); RandomAccessBucket bucket = new ArrayBucket(temporaryImage.getImageData()); insertToken.setBucket(bucket); ClientMetadata metadata = new ClientMetadata(temporaryImage.getMimeType()); InsertBlock insertBlock = new InsertBlock(bucket, metadata, targetUri); try { ClientPutter clientPutter = client.insert(insertBlock, null, false, insertContext, insertToken, RequestStarter.INTERACTIVE_PRIORITY_CLASS); insertToken.setClientPutter(clientPutter); } catch (InsertException ie1) { throw new SoneInsertException("Could not start image insert.", ie1); } }
FreenetURI uri = ark.getInsertURI().setKeyType("USK").setSuggestedEdition(number);