code: public static void P12toPEM(File p12, String p12Password, File toPEM, String pemPassword) throws IOException
  	{
  		if (!p12.exists())
  			throw new IllegalArgumentException("p12 file does not exist: " + p12.getPath());
  
  		Execed openssl = Exec.utilityAs(null,
  		                                OPENSSL,
  		                                "pkcs12",
  		                                "-in",
  		                                p12.getPath(),
  		                                "-out",
  		                                toPEM.getPath(),
  		                                "-passin",
  		                                "pass:" + p12Password,
  		                                "-nodes");
  
  		int returnCode = openssl.waitForExit();
  
  		if (returnCode != 0)
  			throw new IllegalStateException("Unexpected openssl exit code " + returnCode + "; output:\n" +
  			                                openssl.getStandardOut());
  	}
docs: @param p12
  @param p12Password
  @param toPEM
  @param pemPassword
  
  @throws IOException
  if a catastrophic unexpected failure occurs during execution
  @throws IllegalArgumentException
  if the PKCS12 keystore doesn't exist
  @throws IllegalStateException
  if openssl exits with a failure condition