1
2
3
4
5
6
7
8
9
10
11 package org.mule.module.pgp;
12
13 import org.mule.tck.AbstractMuleTestCase;
14
15 import java.net.URL;
16 import java.security.NoSuchAlgorithmException;
17
18 import javax.crypto.Cipher;
19
20 public abstract class AbstractEncryptionStrategyTestCase extends AbstractMuleTestCase
21 {
22 protected KeyBasedEncryptionStrategy kbStrategy;
23 protected PGPKeyRing keyManager;
24
25 protected static boolean isCryptographyExtensionInstalled()
26 {
27
28 try
29 {
30 int maxKeyLength = Cipher.getMaxAllowedKeyLength("DES/CBC/PKCS5Padding");
31
32 return maxKeyLength == Integer.MAX_VALUE;
33 }
34 catch (NoSuchAlgorithmException e)
35 {
36 throw new AssertionError(e);
37 }
38 }
39
40 @Override
41 protected boolean isDisabledInThisEnvironment()
42 {
43 return (isCryptographyExtensionInstalled() == false);
44 }
45
46 @Override
47 protected void doSetUp() throws Exception
48 {
49 PGPKeyRingImpl keyM = new PGPKeyRingImpl();
50 ClassLoader loader = Thread.currentThread().getContextClassLoader();
51
52 URL url = loader.getResource("./serverPublic.gpg");
53 keyM.setPublicKeyRingFileName(url.getFile());
54
55 url = loader.getResource("./serverPrivate.gpg");
56 keyM.setSecretKeyRingFileName(url.getFile());
57
58 keyM.setSecretAliasId("0x6168F39C");
59 keyM.setSecretPassphrase("TestingPassphrase");
60 keyM.initialise();
61
62 kbStrategy = new KeyBasedEncryptionStrategy();
63 kbStrategy.setKeyManager(keyM);
64 kbStrategy.setCredentialsAccessor(new FakeCredentialAccessor());
65 kbStrategy.initialise();
66
67 keyManager = keyM;
68 }
69
70 @Override
71 protected void doTearDown() throws Exception
72 {
73 kbStrategy = null;
74 keyManager = null;
75 }
76 }
77
78