用户在 SD 卡上保存了一个 .p12 文件(例如他的 S/MIME 证书)。我想将此证书(或提取的私钥和公钥)加载到 AndroidKeyStore 中。
File file = new File(pathToP12File);
Certificate c = null; // TODO: convert file into something I can load into the keystore
KeyStore ks = KeyStore.getInstance("AndroidKeyStore");
ks.load(null);
ks.setCertificateEntry("myCertAlias", c);
Run Code Online (Sandbox Code Playgroud)
将文件转换为可以在密钥库中设置为证书条目的最佳方法是什么?
我尝试编写自己的loader-class来加载一个加密类.
因此我也覆盖了loader(ClassLoader paramClassLoader, File paramFile)调用的构造super(new URL[] { paramFile.toURI().toURL() }, paramClassLoader);.
调用".toUrl()"可以抛出一个MalformedURLException,所以编译以下代码......
public class loader extends URLClassLoader {
public static void main(String[] args)throws Exception{
Object localObject =
new loader(loader.class.getClassLoader(),
new File(loader.class.getProtectionDomain().getCodeSource()
.getLocation().getPath())
);
(...)
}
private loader(ClassLoader paramClassLoader, File paramFile){
super(new URL[] { paramFile.toURI().toURL() }, paramClassLoader);
if (paramClassLoader == null)
throw new IllegalArgumentException("Error loading class");
}
}
Run Code Online (Sandbox Code Playgroud)
错误:
loader.java:123: error: unreported exception MalformedURLException; must be caught or declared to be thrown
super(new URL[] { paramFile.toURI().toURL() …Run Code Online (Sandbox Code Playgroud)