protected internal virtual void SetStandardHandlerDicEntries(PdfDictionary encryptionDictionary, byte[] userKey , byte[] ownerKey) { encryptionDictionary.Put(PdfName.Filter, PdfName.Standard); encryptionDictionary.Put(PdfName.O, new PdfLiteral(StreamUtil.CreateEscapedString(ownerKey))); encryptionDictionary.Put(PdfName.U, new PdfLiteral(StreamUtil.CreateEscapedString(userKey))); encryptionDictionary.Put(PdfName.P, new PdfNumber(permissions)); }
private void SetAES256DicEntries(PdfDictionary encryptionDictionary, byte[] oeKey, byte[] ueKey, byte[] aes256Perms , bool encryptMetadata, bool embeddedFilesOnly) { int vAes256 = 5; int rAes256 = 5; int rAes256Pdf2 = 6; encryptionDictionary.Put(PdfName.OE, new PdfLiteral(StreamUtil.CreateEscapedString(oeKey))); encryptionDictionary.Put(PdfName.UE, new PdfLiteral(StreamUtil.CreateEscapedString(ueKey))); encryptionDictionary.Put(PdfName.Perms, new PdfLiteral(StreamUtil.CreateEscapedString(aes256Perms))); encryptionDictionary.Put(PdfName.R, new PdfNumber(isPdf2 ? rAes256Pdf2 : rAes256)); encryptionDictionary.Put(PdfName.V, new PdfNumber(vAes256)); PdfDictionary stdcf = new PdfDictionary(); stdcf.Put(PdfName.Length, new PdfNumber(32)); if (!encryptMetadata) { encryptionDictionary.Put(PdfName.EncryptMetadata, PdfBoolean.FALSE); } if (embeddedFilesOnly) { stdcf.Put(PdfName.AuthEvent, PdfName.EFOpen); encryptionDictionary.Put(PdfName.EFF, PdfName.StdCF); encryptionDictionary.Put(PdfName.StrF, PdfName.Identity); encryptionDictionary.Put(PdfName.StmF, PdfName.Identity); } else { stdcf.Put(PdfName.AuthEvent, PdfName.DocOpen); encryptionDictionary.Put(PdfName.StrF, PdfName.StdCF); encryptionDictionary.Put(PdfName.StmF, PdfName.StdCF); } stdcf.Put(PdfName.CFM, PdfName.AESV3); PdfDictionary cf = new PdfDictionary(); cf.Put(PdfName.StdCF, stdcf); encryptionDictionary.Put(PdfName.CF, cf); }
private PdfArray GetEncodedRecipients() { PdfArray EncodedRecipients = new PdfArray(); byte[] cms; for (int i = 0; i < recipients.Count; i++) { try { cms = GetEncodedRecipient(i); EncodedRecipients.Add(new PdfLiteral(StreamUtil.CreateEscapedString(cms))); } catch (GeneralSecurityException) { EncodedRecipients = null; // break was added while porting to itext7 break; } catch (System.IO.IOException) { EncodedRecipients = null; // break was added while porting to itext7 break; } } return(EncodedRecipients); }