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
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
27 public DefaultTrustedApplicationsManager()
28 {
29 this(new BouncyCastleEncryptionProvider());
30 }
31
32
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 }