@Override public RandomAccessBucket createShadow() { RandomAccessBucket copy = underlying.createShadow(); return new EncryptedRandomAccessBucket(type, copy, masterKey); }
@Override protected Bucket makeBucket(long size) throws IOException { ArrayBucket underlying = new ArrayBucket(); return new EncryptedRandomAccessBucket(types[0], underlying, secret); }
private RandomAccessBucket _makeFileBucket() throws IOException { RandomAccessBucket ret = new TempFileBucket(filenameGenerator.makeRandomFilename(), filenameGenerator, true); // Do we want it to be encrypted? if(reallyEncrypt) { ret = new PaddedRandomAccessBucket(ret); ret = new EncryptedRandomAccessBucket(CRYPT_TYPE, ret, secret); } return ret; }
/** Create a persistent temporary bucket. Encrypted if appropriate. Wrapped in a * DelayedFreeBucket so that they will not be deleted until after the transaction deleting * them in the database commits. */ @Override public RandomAccessBucket makeBucket(long size) throws IOException { RandomAccessBucket rawBucket = null; boolean mustWrap = true; if(rawBucket == null) rawBucket = new PersistentTempFileBucket(fg.makeRandomFilename(), fg, this); synchronized(encryptLock) { if(encrypt) { rawBucket = new PaddedRandomAccessBucket(rawBucket); rawBucket = new EncryptedRandomAccessBucket(TempBucketFactory.CRYPT_TYPE, rawBucket, secret); } } if(mustWrap) rawBucket = new DelayedFreeRandomAccessBucket(this, rawBucket); return rawBucket; }
r.nextBytes(buf); FileBucket fb = new FileBucket(tempFile, false, false, false, true); EncryptedRandomAccessBucket erab = new EncryptedRandomAccessBucket(types[0], fb, secret); OutputStream os = erab.getOutputStream(); os.write(buf, 0, buf.length);
r.nextBytes(buf); FileBucket fb = new FileBucket(tempFile, false, false, false, true); EncryptedRandomAccessBucket erab = new EncryptedRandomAccessBucket(types[0], fb, secret); OutputStream os = erab.getOutputStream(); os.write(buf, 0, buf.length);
return new RAFBucket(dis, fg, persistentFileTracker, masterKey); case EncryptedRandomAccessBucket.MAGIC: return new EncryptedRandomAccessBucket(dis, fg, persistentFileTracker, masterKey); default: throw new StorageFormatException("Unknown magic value for bucket "+magic);