From 6b9def07d12bcdaf1b1e1cb5ab79550a4b673825 Mon Sep 17 00:00:00 2001 From: Matthias Valvekens Date: Mon, 30 Aug 2021 13:51:34 +0200 Subject: [PATCH] Integrate itext-saslprep Note: trying to build this branch on Jenkins / TC is pointless, due to missing dependencies. RES-427 --- pom.xml | 5 +++++ src/main/java/com/itextpdf/rups/model/PdfFile.java | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 38a4a03b..f7fe3f7e 100644 --- a/pom.xml +++ b/pom.xml @@ -86,6 +86,11 @@ dom4j ${dom4j.version} + + com.itextpdf + itext-saslprep + 1.0.0 + com.itextpdf pdftest diff --git a/src/main/java/com/itextpdf/rups/model/PdfFile.java b/src/main/java/com/itextpdf/rups/model/PdfFile.java index 18ebfb21..2a44445e 100644 --- a/src/main/java/com/itextpdf/rups/model/PdfFile.java +++ b/src/main/java/com/itextpdf/rups/model/PdfFile.java @@ -48,6 +48,7 @@ This file is part of the iText (R) project. import com.itextpdf.kernel.pdf.PdfReader; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.kernel.pdf.ReaderProperties; +import com.itextpdf.passwordprep.PdfPasswordUtil; import javax.swing.*; import java.io.*; @@ -137,8 +138,8 @@ public void selectInitialValue() { pane.createDialog(null, "Enter the User or Owner Password of this PDF file").setVisible(true); - // TODO RES-427: SASLprep & truncate this - return new String(passwordField.getPassword()).getBytes(StandardCharsets.UTF_8); + String passwordString = new String(passwordField.getPassword()); + return PdfPasswordUtil.preparePasswordForOpen(passwordString); } /**