fazendo pdf como senha protegida com java

Quero criar um PDF existente como protegido por senha para o qual estou usando o itext. Estou seguindo este URL

http://howtodoinjava.com/2014/07/29/create-pdf-files-in-java-itext-tutorial/

Eu desenvolvi um programa que enviará o correio com o PDF como anexo. Abaixo está o código em que estou criando o arquivo PDF como protegido por senha.

No momento, o arquivo PDF está anexado no correio, mas quando estou tentando abri-lo, recebo um erro que está danificado.

O que estou fazendo de errado no código abaixo?

//  attachment part
MimeBodyPart attachPart = new MimeBodyPart();
String filename = "c:\\SettingupRulesin outlook2003.pdf";

//OutputStream file = new FileOutputStream(new File("PasswordProtected.pdf"));
final OutputStream os = new FileOutputStream(filename);
com.itextpdf.text.Document doc = new com.itextpdf.text.Document();
PdfWriter writer = PdfWriter.getInstance(doc, os);
writer.setEncryption(USER_PASSWORD.getBytes(),
                     OWNER_PASSWORD.getBytes(), PdfWriter.ALLOW_PRINTING,
                     PdfWriter.ENCRYPTION_AES_128); 

os.close();


DataSource source = new FileDataSource(filename);
attachPart.setDataHandler(new DataHandler(source));
attachPart.setFileName(filename);

questionAnswers(0)

yourAnswerToTheQuestion