1
2
3
4
5
6
7
8
9
10
11 package org.mule.module.pgp;
12
13 import org.mule.tck.AbstractMuleTestCase;
14 import org.mule.util.FileUtils;
15
16 import java.io.FileInputStream;
17 import java.net.URL;
18
19 public class KeyBasedEncryptionStrategyTestCase extends AbstractMuleTestCase
20 {
21 private KeyBasedEncryptionStrategy kbStrategy;
22
23
24
25
26
27
28 protected void doSetUp() throws Exception
29 {
30 PGPKeyRingImpl keyM = new PGPKeyRingImpl();
31 URL url;
32
33 url = Thread.currentThread().getContextClassLoader().getResource("./serverPublic.gpg");
34 keyM.setPublicKeyRingFileName(url.getFile());
35
36 url = Thread.currentThread().getContextClassLoader().getResource("./serverPrivate.gpg");
37 keyM.setSecretKeyRingFileName(url.getFile());
38
39 keyM.setSecretAliasId("0x6168F39C");
40 keyM.setSecretPassphrase("TestingPassphrase");
41 keyM.initialise();
42
43 kbStrategy = new KeyBasedEncryptionStrategy();
44 kbStrategy.setKeyManager(keyM);
45 kbStrategy.initialise();
46 }
47
48
49
50
51
52
53 protected void doTearDown() throws Exception
54 {
55 kbStrategy = null;
56 }
57
58 public void testDecrypt() throws Exception
59 {
60 URL url = Thread.currentThread().getContextClassLoader().getResource("./encrypted-signed.asc");
61
62 int length = (int) FileUtils.newFile(url.getFile()).length();
63 byte[] msg = new byte[length];
64
65 FileInputStream in = new FileInputStream(url.getFile());
66 in.read(msg);
67 in.close();
68
69 String result = new String(kbStrategy.decrypt(msg, null));
70
71 System.out.println(result);
72
73 assertNotNull(result);
74 }
75
76 public void testEncrypt() throws Exception
77 {
78 String msg = "Test Message";
79 PGPCryptInfo cryptInfo = new PGPCryptInfo(kbStrategy.getKeyManager().getKeyBundle(
80 "Mule client <mule_client@mule.com>"), true);
81
82 String result = new String(kbStrategy.encrypt(msg.getBytes(), cryptInfo));
83
84 System.out.println(result);
85
86 assertNotNull(result);
87 }
88 }