1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.opensaml.xml.security.x509;
18
19 import java.util.ArrayList;
20 import java.util.Collections;
21 import java.util.HashSet;
22 import java.util.List;
23 import java.util.Set;
24
25 import org.opensaml.xml.security.CriteriaSet;
26 import org.opensaml.xml.security.SecurityException;
27
28
29
30
31
32 public class StaticPKIXValidationInformationResolver implements PKIXValidationInformationResolver {
33
34
35 private List<PKIXValidationInformation> pkixInfo;
36
37
38 private Set<String> trustedNames;
39
40
41
42
43
44
45
46 public StaticPKIXValidationInformationResolver(List<PKIXValidationInformation> info, Set<String> names) {
47 if (info != null) {
48 pkixInfo = new ArrayList<PKIXValidationInformation>(info);
49 } else {
50 pkixInfo = Collections.EMPTY_LIST;
51 }
52
53 if (names != null) {
54 trustedNames = new HashSet<String>(names);
55 } else {
56 trustedNames = Collections.EMPTY_SET;
57 }
58 }
59
60
61 public Set<String> resolveTrustedNames(CriteriaSet criteriaSet) throws SecurityException,
62 UnsupportedOperationException {
63
64 return trustedNames;
65 }
66
67
68 public boolean supportsTrustedNameResolution() {
69 return true;
70 }
71
72
73 public Iterable<PKIXValidationInformation> resolve(CriteriaSet criteria) throws SecurityException {
74 return pkixInfo;
75 }
76
77
78 public PKIXValidationInformation resolveSingle(CriteriaSet criteria) throws SecurityException {
79 if (!pkixInfo.isEmpty()) {
80 return pkixInfo.get(0);
81 }
82 return null;
83 }
84
85 }