/** * Sets the crypt filter with the given name. * * @param cryptFilterName the name of the crypt filter * @param cryptFilterDictionary the crypt filter to set */ public void setCryptFilterDictionary(COSName cryptFilterName, PDCryptFilterDictionary cryptFilterDictionary) { COSDictionary cfDictionary = (COSDictionary)dictionary.getDictionaryObject( COSName.CF ); if (cfDictionary == null) { cfDictionary = new COSDictionary(); dictionary.setItem(COSName.CF, cfDictionary); } cfDictionary.setItem(cryptFilterName, cryptFilterDictionary.getCOSDictionary()); }
private void prepareEncryptionDictAES(PDEncryption encryptionDictionary, COSName aesVName, byte[][] recipients) { PDCryptFilterDictionary cryptFilterDictionary = new PDCryptFilterDictionary(); cryptFilterDictionary.setCryptFilterMethod(aesVName); cryptFilterDictionary.setLength(keyLength); COSArray array = new COSArray(); for (byte[] recipient : recipients) { array.add(new COSString(recipient)); } cryptFilterDictionary.getCOSDictionary().setItem(COSName.RECIPIENTS, array); encryptionDictionary.setDefaultCryptFilterDictionary(cryptFilterDictionary); encryptionDictionary.setStreamFilterName(COSName.DEFAULT_CRYPT_FILTER); encryptionDictionary.setStringFilterName(COSName.DEFAULT_CRYPT_FILTER); cryptFilterDictionary.getCOSDictionary().setDirect(true); setAES(true); }
array = (COSArray) defaultCryptFilterDictionary.getCOSDictionary().getItem(COSName.RECIPIENTS);
/** * Sets the crypt filter with the given name. * * @param cryptFilterName the name of the crypt filter * @param cryptFilterDictionary the crypt filter to set */ public void setCryptFilterDictionary(COSName cryptFilterName, PDCryptFilterDictionary cryptFilterDictionary) { COSDictionary cfDictionary = (COSDictionary)dictionary.getDictionaryObject( COSName.CF ); if (cfDictionary == null) { cfDictionary = new COSDictionary(); dictionary.setItem(COSName.CF, cfDictionary); } cfDictionary.setItem(cryptFilterName, cryptFilterDictionary.getCOSDictionary()); }
/** * Sets the crypt filter with the given name. * * @param cryptFilterName the name of the crypt filter * @param cryptFilterDictionary the crypt filter to set */ public void setCryptFilterDictionary(COSName cryptFilterName, PDCryptFilterDictionary cryptFilterDictionary) { COSDictionary cfDictionary = (COSDictionary)dictionary.getDictionaryObject( COSName.CF ); if (cfDictionary == null) { cfDictionary = new COSDictionary(); dictionary.setItem(COSName.CF, cfDictionary); } cfDictionary.setItem(cryptFilterName, cryptFilterDictionary.getCOSDictionary()); }