Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android使用自签名证书连接到服务器_Java_Android_Ssl_Self Signed - Fatal编程技术网

Java Android使用自签名证书连接到服务器

Java Android使用自签名证书连接到服务器,java,android,ssl,self-signed,Java,Android,Ssl,Self Signed,编辑:“下面的代码工作正常,没有错误,没有异常” 我知道关于这个话题有大量的问题,也知道谷歌会想出很多博客。我已经通读了它们,并设法提出了我将要解释的内容。我的疑问在于“我的方法正确吗?它有任何副作用吗?”以及另一个在我解释我的方法时最好提出的问题 我将这种方法建立在以下基础上 以下是我的另一个问题: InputStream caInput = new BufferedInputStream(new FileInputStream("PATH_TO_CERT.crt")); 您可以看到,该方法

编辑:“下面的代码工作正常,没有错误,没有异常”

我知道关于这个话题有大量的问题,也知道谷歌会想出很多博客。我已经通读了它们,并设法提出了我将要解释的内容。我的疑问在于“我的方法正确吗?它有任何副作用吗?”以及另一个在我解释我的方法时最好提出的问题

我将这种方法建立在以下基础上

以下是我的另一个问题:

InputStream caInput = new BufferedInputStream(new FileInputStream("PATH_TO_CERT.crt"));

您可以看到,该方法强制我将certificate.crt预加载到res文件夹中的原始文件中。是否有一种方法(我已经查找了,但找到了0个答案)连接到服务器并下载所述certificate.crt并将其保存到用户无法访问的私人文件夹中?

您可以在此处找到您的问题的完整解决方案:@我的名字是,我没有问题。我的代码工作得很好,它或多或少与您的代码相同(加载本地证书、创建密钥库、将其交给trustmanager等等)。我的问题是,这种方法是否正确,是否有一种方法不将证书作为原始资源,而是动态下载它。Joy您解决了这个问题吗?“我正面临着与您完全相同的问题。”佩德罗特伦遗憾地说,我没有找到一种动态下载证书的方法。在发出apk之前,必须将其预加载到res文件夹中。这就是你要问的吗?@Joy谢谢你的回答。。现在我正在原始文件夹上预加载一个bks密钥库。但我并不完全满意,因为我们在证书轮换方面会有问题。希望能找到更好的解决办法。
InputStream caInput = new BufferedInputStream(new FileInputStream("PATH_TO_CERT.crt"));