< prev index next >
src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacCertificate.java
Print this page
@@ -21,49 +21,40 @@
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-package jdk.jpackage.internal;
+package jdk.incubator.jpackage.internal;
-import java.io.BufferedOutputStream;
-import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
-import java.io.FileOutputStream;
import java.io.IOException;
-import java.io.InputStreamReader;
import java.io.PrintStream;
+import java.nio.file.StandardCopyOption;
+import java.nio.file.Files;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Locale;
-final class MacCertificate {
+public final class MacCertificate {
private final String certificate;
- private final boolean verbose;
- MacCertificate(String certificate) {
+ public MacCertificate(String certificate) {
this.certificate = certificate;
- this.verbose = false;
}
- MacCertificate(String certificate, boolean verbose) {
- this.certificate = certificate;
- this.verbose = verbose;
- }
-
- boolean isValid() {
- return verifyCertificate(this.certificate, verbose);
+ public boolean isValid() {
+ return verifyCertificate(this.certificate);
}
- private static File findCertificate(String certificate, boolean verbose) {
+ private static File findCertificate(String certificate) {
File result = null;
List<String> args = new ArrayList<>();
args.add("security");
args.add("find-certificate");
@@ -73,34 +64,25 @@
args.add("-p");
try (ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(baos)) {
ProcessBuilder security = new ProcessBuilder(args);
- IOUtils.exec(security, verbose, false, ps);
+ IOUtils.exec(security, false, ps);
File output = File.createTempFile("tempfile", ".tmp");
- PrintStream p = new PrintStream(
- new BufferedOutputStream(
- new FileOutputStream(output, true)));
- BufferedReader bfReader = new BufferedReader(
- new InputStreamReader(
- new ByteArrayInputStream(baos.toByteArray())));
- String line = null;
- while((line = bfReader.readLine()) != null){
- p.println(line);
- }
+ Files.copy(new ByteArrayInputStream(baos.toByteArray()),
+ output.toPath(), StandardCopyOption.REPLACE_EXISTING);
- p.close();
result = output;
}
catch (IOException ignored) {}
return result;
}
- private static Date findCertificateDate(String filename, boolean verbose) {
+ private static Date findCertificateDate(String filename) {
Date result = null;
List<String> args = new ArrayList<>();
args.add("/usr/bin/openssl");
args.add("x509");
@@ -110,37 +92,36 @@
args.add(filename);
try (ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(baos)) {
ProcessBuilder security = new ProcessBuilder(args);
- IOUtils.exec(security, verbose, false, ps);
+ IOUtils.exec(security, false, ps);
String output = baos.toString();
output = output.substring(output.indexOf("=") + 1);
DateFormat df = new SimpleDateFormat(
"MMM dd kk:mm:ss yyyy z", Locale.ENGLISH);
result = df.parse(output);
} catch (IOException | ParseException ex) {
- Log.debug(ex);
+ Log.verbose(ex);
}
return result;
}
- private static boolean verifyCertificate(
- String certificate, boolean verbose) {
+ private static boolean verifyCertificate(String certificate) {
boolean result = false;
try {
File file = null;
Date certificateDate = null;
try {
- file = findCertificate(certificate, verbose);
+ file = findCertificate(certificate);
if (file != null) {
certificateDate = findCertificateDate(
- file.getCanonicalPath(), verbose);
+ file.getCanonicalPath());
}
}
finally {
if (file != null) {
file.delete();
< prev index next >