인디노트

How to read p12 file from system in Java? 본문

소스 팁/Java, Android, Kotlin

How to read p12 file from system in Java?

인디개발자 2018. 5. 16. 07:56

I built a quick and dirty little class to show the opening of a relative .pfx (P12) that I created with keytools. Naturally, you can also look through different potential directories looking for the file, if there are a couple likely places for it to be.

The file structure looks like this:

./bin
./bin/Test.java
./bin/Test.class
./conf
./conf/myFile.pfx

Here's the test code:

import java.io.*;
import java.security.*;

class Test {
  public static void main(String[] args) {
    String pass = "password";
    try {
      File file = new File("../conf/myFile.pfx");
      InputStream stream = new FileInputStream(file);
      KeyStore store = KeyStore.getInstance("PKCS12");
      store.load(stream, pass.toCharArray());
      PrivateKey key = (PrivateKey)store.getKey("example", pass.toCharArray());
      System.out.println("Success");
    } catch (KeyStoreException kse) {
      System.err.println("Error getting the key");
    } catch (Exception e) {
      System.err.println("Error opening the key file");
      e.printStackTrace();
    }
  }
}


반응형
Comments