Java 尝试在Android中使用自签名证书的异常

Java 尝试在Android中使用自签名证书的异常,java,android,ssl,self-signed,Java,Android,Ssl,Self Signed,我试图从文件中加载并使用自签名、动态生成的PEM(或DER)X.509证书,并使用该证书通过HTTPClient或HttpsURLConnection加载内容,以便将其注入WebView。 我搜索了如何使用带有自定义证书的WebView,但显然只有完全忽略SSL错误的可能性(这不是我想要做的-我正在寻找证书验证) 按照这样的思路编码,我总是会从关键函数中得到例外:TrustManagerFactory、KeyStore和CertificateFactory 对于TrustManagerFact

我试图从文件中加载并使用自签名、动态生成的PEM(或DER)X.509证书,并使用该证书通过HTTPClient或HttpsURLConnection加载内容,以便将其注入WebView。 我搜索了如何使用带有自定义证书的WebView,但显然只有完全忽略SSL错误的可能性(这不是我想要做的-我正在寻找证书验证)

按照这样的思路编码,我总是会从关键函数中得到例外:TrustManagerFactory、KeyStore和CertificateFactory


对于TrustManagerFactory:

String tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
TrustManagerFactory tmf = TrustManagerFactory.getInstance(tmfAlgorithm);

-> Unhandled exception type NoSuchAlgorithmException in getInstance()
对于KeyStore,我尝试了教程中的语法以及文档中描述的语法:

String keyStoreType = KeyStore.getDefaultType();
KeyStore keyStore = KeyStore.getInstance(keyStoreType);

-> Unhandled exception type KeyStoreException in getInstance()

对于CertificateFactory:

CertificateFactory cf = CertificateFactory.getInstance("X.509");

-> Unhandled exception type CertificateException

总之,我不能使用该作业所需的任何函数,因为即使我使用默认教程代码(根据文档,该代码仍然有效),它们都会出现异常

切换IDE(使用ADT尝试了Android Studio和Eclipse),从OpenJDK切换到Oracle JDK,在这里似乎没有任何帮助。 此外,StackOverflow和Net上的类似问题都是通过使用一个或多个函数来回答的,所以它们对我没有帮助


如果有人知道我做错了什么,我会很高兴得到任何帮助

这些看起来像是编译错误,表明您应该通过在代码中编写异常处理程序来处理这些异常。如果您在运行时看到名为“Unhandled exception type CertificateException”的内容和其他内容,请粘贴引发异常的更完整的代码列表以及完整的堆栈跟踪。这些实际上是IDE在编译时引发的错误。我不知道异常处理在Java中是强制性的-我将使用周围的try/catch块重试。非常感谢。
CertificateFactory cf = CertificateFactory.getInstance("X.509");

-> Unhandled exception type CertificateException