41 import java.util.List; |
41 import java.util.List; |
42 import java.util.Locale; |
42 import java.util.Locale; |
43 |
43 |
44 public final class MacCertificate { |
44 public final class MacCertificate { |
45 private final String certificate; |
45 private final String certificate; |
46 private final boolean verbose; |
|
47 |
46 |
48 public MacCertificate(String certificate) { |
47 public MacCertificate(String certificate) { |
49 this.certificate = certificate; |
48 this.certificate = certificate; |
50 this.verbose = false; |
|
51 } |
|
52 |
|
53 public MacCertificate(String certificate, boolean verbose) { |
|
54 this.certificate = certificate; |
|
55 this.verbose = verbose; |
|
56 } |
49 } |
57 |
50 |
58 public boolean isValid() { |
51 public boolean isValid() { |
59 return verifyCertificate(this.certificate, verbose); |
52 return verifyCertificate(this.certificate); |
60 } |
53 } |
61 |
54 |
62 private static File findCertificate(String certificate, boolean verbose) { |
55 private static File findCertificate(String certificate) { |
63 File result = null; |
56 File result = null; |
64 |
57 |
65 List<String> args = new ArrayList<>(); |
58 List<String> args = new ArrayList<>(); |
66 args.add("security"); |
59 args.add("security"); |
67 args.add("find-certificate"); |
60 args.add("find-certificate"); |
112 } |
105 } |
113 |
106 |
114 return result; |
107 return result; |
115 } |
108 } |
116 |
109 |
117 private static boolean verifyCertificate( |
110 private static boolean verifyCertificate(String certificate) { |
118 String certificate, boolean verbose) { |
|
119 boolean result = false; |
111 boolean result = false; |
120 |
112 |
121 try { |
113 try { |
122 File file = null; |
114 File file = null; |
123 Date certificateDate = null; |
115 Date certificateDate = null; |
124 |
116 |
125 try { |
117 try { |
126 file = findCertificate(certificate, verbose); |
118 file = findCertificate(certificate); |
127 |
119 |
128 if (file != null) { |
120 if (file != null) { |
129 certificateDate = findCertificateDate( |
121 certificateDate = findCertificateDate( |
130 file.getCanonicalPath(), verbose); |
122 file.getCanonicalPath()); |
131 } |
123 } |
132 } |
124 } |
133 finally { |
125 finally { |
134 if (file != null) { |
126 if (file != null) { |
135 file.delete(); |
127 file.delete(); |