1   /*
2    * $Id: PGPSecurityProviderTestCase.java 7976 2007-08-21 14:26:13Z dirk.olmes $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  
11  package org.mule.extras.pgp;
12  
13  import org.mule.tck.AbstractMuleTestCase;
14  import org.mule.umo.security.UMOAuthentication;
15  
16  import java.io.FileInputStream;
17  import java.net.URL;
18  
19  import cryptix.message.Message;
20  import cryptix.message.MessageFactory;
21  
22  public class PGPSecurityProviderTestCase extends AbstractMuleTestCase
23  {
24      private PGPSecurityProvider securityProvider;
25  
26      private Message message;
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          securityProvider = new PGPSecurityProvider();
44          securityProvider.setKeyManager(keyM);
45  
46          securityProvider.initialise();
47  
48          MessageFactory mf = MessageFactory.getInstance("OpenPGP");
49  
50          url = Thread.currentThread().getContextClassLoader().getResource("./signed.asc");
51  
52          FileInputStream in = new FileInputStream(url.getFile());
53  
54          message = (Message)mf.generateMessages(in).iterator().next();
55      }
56  
57      /*
58       * (non-Javadoc)
59       * 
60       * @see org.mule.tck.AbstractMuleTestCase#tearDown()
61       */
62      protected void doTearDown() throws Exception
63      {
64          securityProvider = null;
65          message = null;
66      }
67  
68      public void testAuthenticate()
69      {
70          try
71          {
72              UMOAuthentication auth = new PGPAuthentication("Mule client <mule_client@mule.com>", message);
73  
74              auth = securityProvider.authenticate(auth);
75  
76              assertTrue(auth.isAuthenticated());
77          }
78          catch (Exception e)
79          {
80              e.printStackTrace();
81              assertTrue(false);
82          }
83      }
84  }