View Javadoc

1   package com.atlassian.security.auth.trustedapps;
2   
3   import java.security.KeyPair;
4   import java.security.NoSuchAlgorithmException;
5   import java.security.NoSuchProviderException;
6   import java.util.HashMap;
7   import java.util.Map;
8   
9   /**
10   * Default implementation.
11   */
12  public class DefaultTrustedApplicationsManager implements TrustedApplicationsManager
13  {
14      protected final CurrentApplication application;
15      protected final Map trustedApps;
16  
17      public DefaultTrustedApplicationsManager(CurrentApplication application, Map trustedApps)
18      {
19          Null.not("application", application);
20          Null.not("trustedApps", trustedApps);
21  
22          this.application = application;
23          this.trustedApps = trustedApps;
24      }
25  
26      // ////CLOVER:OFF
27      public DefaultTrustedApplicationsManager()
28      {
29          this(new BouncyCastleEncryptionProvider());
30      }
31  
32      // /CLOVER:ON
33  
34      public DefaultTrustedApplicationsManager(EncryptionProvider encryptionProvider)
35      {
36          try
37          {
38              KeyPair keyPair = encryptionProvider.generateNewKeyPair();
39              Null.not("keyPair", keyPair);
40  
41              application = new DefaultCurrentApplication(encryptionProvider, keyPair.getPublic(), keyPair.getPrivate(), encryptionProvider.generateUID());
42              trustedApps = new HashMap();
43          }
44          catch (NoSuchAlgorithmException e)
45          {
46              throw new AssertionError(e);
47          }
48          catch (NoSuchProviderException e)
49          {
50              throw new AssertionError(e);
51          }
52      }
53  
54      public CurrentApplication getCurrentApplication()
55      {
56          return application;
57      }
58  
59      public TrustedApplication getTrustedApplication(String id)
60      {
61          return (TrustedApplication) trustedApps.get(id);
62      }
63  }