You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2020/08/07 17:11:21 UTC
svn commit: r1880686 -
/pdfbox/branches/2.0/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateSignature.java
Author: tilman
Date: Fri Aug 7 17:11:21 2020
New Revision: 1880686
URL: http://svn.apache.org/viewvc?rev=1880686&view=rev
Log:
PDFBOX-3017: DRY refactoring of keyStore loading
Modified:
pdfbox/branches/2.0/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateSignature.java
Modified: pdfbox/branches/2.0/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateSignature.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateSignature.java?rev=1880686&r1=1880685&r2=1880686&view=diff
==============================================================================
--- pdfbox/branches/2.0/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateSignature.java (original)
+++ pdfbox/branches/2.0/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateSignature.java Fri Aug 7 17:11:21 2020
@@ -30,7 +30,6 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.security.GeneralSecurityException;
import java.security.KeyStore;
-import java.security.KeyStoreException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
@@ -117,6 +116,7 @@ import org.junit.runners.Parameterized;
public class TestCreateSignature
{
private static CertificateFactory certificateFactory = null;
+ private static KeyStore keyStore = null;
private static final String inDir = "src/test/resources/org/apache/pdfbox/examples/signature/";
private static final String outDir = "target/test-output/";
private static final String keystorePath = inDir + "keystore.p12";
@@ -144,11 +144,13 @@ public class TestCreateSignature
Security.addProvider(SecurityProvider.getProvider());
certificateFactory = CertificateFactory.getInstance("X.509");
+ // load the keystore
+ keyStore = KeyStore.getInstance("PKCS12");
+ keyStore.load(new FileInputStream(keystorePath), password.toCharArray());
+
new File("target/test-output").mkdirs();
- KeyStore keystore = KeyStore.getInstance("PKCS12");
- keystore.load(new FileInputStream(keystorePath), password.toCharArray());
- certificate = keystore.getCertificateChain(keystore.aliases().nextElement())[0];
+ certificate = keyStore.getCertificateChain(keyStore.aliases().nextElement())[0];
tsa = System.getProperty("org.apache.pdfbox.examples.pdmodel.tsa");
}
@@ -167,12 +169,8 @@ public class TestCreateSignature
throws IOException, CMSException, OperatorCreationException, GeneralSecurityException,
TSPException, CertificateVerificationException
{
- // load the keystore
- KeyStore keystore = KeyStore.getInstance("PKCS12");
- keystore.load(new FileInputStream(keystorePath), password.toCharArray());
-
// sign PDF
- CreateSignature signing = new CreateSignature(keystore, password.toCharArray());
+ CreateSignature signing = new CreateSignature(keyStore, password.toCharArray());
signing.setExternalSigning(externallySign);
final String fileName = getOutputFileName("signed{0}.pdf");
@@ -229,15 +227,11 @@ public class TestCreateSignature
response.setMockResponseCode(200);
mockServer.setMockHttpServerResponses(response);
- // load the keystore
- KeyStore keystore = KeyStore.getInstance("PKCS12");
- keystore.load(new FileInputStream(keystorePath), password.toCharArray());
-
String inPath = inDir + "sign_me_tsa.pdf";
String outPath = outDir + getOutputFileName("signed{0}_tsa.pdf");
// sign PDF (will fail due to nonce and timestamp differing)
- CreateSignature signing1 = new CreateSignature(keystore, password.toCharArray());
+ CreateSignature signing1 = new CreateSignature(keyStore, password.toCharArray());
signing1.setExternalSigning(externallySign);
try
{
@@ -258,7 +252,7 @@ public class TestCreateSignature
return;
}
- CreateSignature signing2 = new CreateSignature(keystore, password.toCharArray());
+ CreateSignature signing2 = new CreateSignature(keyStore, password.toCharArray());
signing2.setExternalSigning(externallySign);
signing2.signDetached(new File(inPath), new File(outPath), tsa);
checkSignature(new File(inPath), new File(outPath), true);
@@ -333,14 +327,10 @@ public class TestCreateSignature
throws IOException, CMSException, OperatorCreationException, GeneralSecurityException,
TSPException, CertificateVerificationException
{
- // load the keystore
- KeyStore keystore = KeyStore.getInstance("PKCS12");
- keystore.load(new FileInputStream(keystorePath), password.toCharArray());
-
// sign PDF
String inPath = inDir + "sign_me_visible.pdf";
FileInputStream fis = new FileInputStream(jpegPath);
- CreateVisibleSignature signing = new CreateVisibleSignature(keystore, password.toCharArray());
+ CreateVisibleSignature signing = new CreateVisibleSignature(keyStore, password.toCharArray());
signing.setVisibleSignDesigner(inPath, 0, 0, -50, fis, 1);
signing.setVisibleSignatureProperties("name", "location", "Security", 0, 1, true);
signing.setExternalSigning(externallySign);
@@ -367,15 +357,11 @@ public class TestCreateSignature
throws IOException, CMSException, OperatorCreationException, GeneralSecurityException,
TSPException, CertificateVerificationException
{
- // load the keystore
- KeyStore keystore = KeyStore.getInstance("PKCS12");
- keystore.load(new FileInputStream(keystorePath), password.toCharArray());
-
// sign PDF
String inPath = inDir + "sign_me_visible.pdf";
File destFile;
- CreateVisibleSignature2 signing = new CreateVisibleSignature2(keystore, password.toCharArray());
+ CreateVisibleSignature2 signing = new CreateVisibleSignature2(keyStore, password.toCharArray());
Rectangle2D humanRect = new Rectangle2D.Float(100, 200, 150, 50);
signing.setImageFile(new File(jpegPath));
signing.setExternalSigning(externallySign);
@@ -391,7 +377,6 @@ public class TestCreateSignature
*
* @throws IOException
* @throws NoSuchAlgorithmException
- * @throws KeyStoreException
* @throws CertificateException
* @throws UnrecoverableKeyException
* @throws CMSException
@@ -401,7 +386,7 @@ public class TestCreateSignature
* @throws CertificateVerificationException
*/
@Test
- public void testPDFBox3978() throws IOException, NoSuchAlgorithmException, KeyStoreException,
+ public void testPDFBox3978() throws IOException, NoSuchAlgorithmException,
CertificateException, UnrecoverableKeyException,
CMSException, OperatorCreationException, GeneralSecurityException,
TSPException, CertificateVerificationException
@@ -415,15 +400,11 @@ public class TestCreateSignature
return;
}
- // load the keystore
- KeyStore keystore = KeyStore.getInstance("PKCS12");
- keystore.load(new FileInputStream(keystorePath), password.toCharArray());
-
// create file with empty signature
CreateEmptySignatureForm.main(new String[]{filename});
// sign PDF
- CreateSignature signing1 = new CreateSignature(keystore, password.toCharArray());
+ CreateSignature signing1 = new CreateSignature(keyStore, password.toCharArray());
signing1.setExternalSigning(false);
signing1.signDetached(new File(filename), new File(filenameSigned1));
@@ -436,7 +417,7 @@ public class TestCreateSignature
// do visual signing in the field
FileInputStream fis = new FileInputStream(jpegPath);
- CreateVisibleSignature signing2 = new CreateVisibleSignature(keystore, password.toCharArray());
+ CreateVisibleSignature signing2 = new CreateVisibleSignature(keyStore, password.toCharArray());
signing2.setVisibleSignDesigner(filenameSigned1, 0, 0, -50, fis, 1);
signing2.setVisibleSignatureProperties("name", "location", "Security", 0, 1, true);
signing2.setExternalSigning(true);
@@ -619,12 +600,8 @@ public class TestCreateSignature
CreateSimpleForm.main(new String[0]); // creates "target/SimpleForm.pdf"
- // load the keystore
- KeyStore keystore = KeyStore.getInstance("PKCS12");
- keystore.load(new FileInputStream(keystorePath), password.toCharArray());
-
// sign PDF
- CreateSignature signing = new CreateSignature(keystore, password.toCharArray());
+ CreateSignature signing = new CreateSignature(keyStore, password.toCharArray());
signing.setExternalSigning(externallySign);
final String fileNameSigned = getOutputFileName("SimpleForm_signed{0}.pdf");
@@ -954,10 +931,7 @@ public class TestCreateSignature
private byte[] signEncrypted(SecureRandom secureRandom, Date signingTime) throws Exception
{
- KeyStore keystore = KeyStore.getInstance("PKCS12");
- keystore.load(new FileInputStream(keystorePath), password.toCharArray());
-
- CreateSignature signing = new CreateSignature(keystore, password.toCharArray());
+ CreateSignature signing = new CreateSignature(keyStore, password.toCharArray());
signing.setExternalSigning(true);
File inFile = new File(inDir + "sign_me_protected.pdf");