< 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 >