Ejemplo n.º 1
0
 /** Sets the encryption options for this document. The userPassword and the
  *  ownerPassword can be null or have zero length. In this case the ownerPassword
  *  is replaced by a random string. The open permissions for the document can be
  *  AllowPrinting, AllowModifyContents, AllowCopy, AllowModifyAnnotations,
  *  AllowFillIn, AllowScreenReaders, AllowAssembly and AllowDegradedPrinting.
  *  The permissions can be combined by ORing them.
  * @param userPassword the user password. Can be null or empty
  * @param ownerPassword the owner password. Can be null or empty
  * @param permissions the user permissions
  * @param strength128Bits <code>true</code> for 128 bit key length, <code>false</code> for 40 bit key length
  * @throws DocumentException if anything was already written to the output
  */
 public void SetEncryption(byte[] userPassword, byte[] ownerPassword, int permissions, bool strength128Bits)
 {
     if (stamper.append)
     {
         throw new DocumentException("Append mode does not support changing the encryption status.");
     }
     if (stamper.ContentWritten)
     {
         throw new DocumentException("Content was already written to the output.");
     }
     stamper.SetEncryption(userPassword, ownerPassword, permissions, strength128Bits);
 }