Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fafe5ac8 authored by Ying Wang's avatar Ying Wang Committed by Gerrit Code Review
Browse files

Merge "Signapk.java: hide the password"

parents 168357ae 22717f9f
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder;
import org.bouncycastle.operator.jcajce.JcaDigestCalculatorProviderBuilder;
import org.bouncycastle.util.encoders.Base64;

import java.io.Console;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -166,18 +167,17 @@ class SignApk {
    }

    /**
     * Reads the password from stdin and returns it as a string.
     * Reads the password from console and returns it as a string.
     *
     * @param keyFile The file containing the private key.  Used to prompt the user.
     */
    private static String readPassword(File keyFile) {
        // TODO: use Console.readPassword() when it's available.
        System.out.print("Enter password for " + keyFile + " (password will not be hidden): ");
        System.out.flush();
        BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
        try {
            return stdin.readLine();
        } catch (IOException ex) {
        Console console;
        char[] pwd;
        if((console = System.console()) != null &&
           (pwd = console.readPassword("[%s]", "Enter password for " + keyFile)) != null){
            return String.valueOf(pwd);
        } else {
            return null;
        }
    }