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<String, TrustedApplication> trustedApps;
16
17 public DefaultTrustedApplicationsManager(final CurrentApplication application, final Map<String, TrustedApplication> 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(final EncryptionProvider encryptionProvider)
35 {
36 try
37 {
38 final KeyPair keyPair = encryptionProvider.generateNewKeyPair();
39 Null.not("keyPair", keyPair);
40
41 application = new DefaultCurrentApplication(encryptionProvider, keyPair.getPublic(), keyPair.getPrivate(),
42 encryptionProvider.generateUID());
43 trustedApps = new HashMap<String, TrustedApplication>();
44 }
45 catch (final NoSuchAlgorithmException e)
46 {
47 throw new AssertionError(e);
48 }
49 catch (final NoSuchProviderException e)
50 {
51 throw new AssertionError(e);
52 }
53 }
54
55 public CurrentApplication getCurrentApplication()
56 {
57 return application;
58 }
59
60 public TrustedApplication getTrustedApplication(final String id)
61 {
62 return trustedApps.get(id);
63 }
64 }