gpt4 book ai didi

java - Android 从设备设置安装自签名证书 SSL VS 以编程方式安装

转载 作者:太空宇宙 更新时间:2023-11-03 14:05:02 27 4
gpt4 key购买 nike

我关注了this guide在生成自签名 SSL 证书时,并且我成功制作了 .cer 和 .bks。然而:

使用设备设置安装 .cer 文件是否与使用 CODE 安装 .bks 文件相同?

我遇到了一个问题,我的手机浏览器可以毫无问题地接受我的网站。但是,当我运行我的应用程序以从同一 website/myservice.ASMX 的服务查询 soap 请求时,它会给出“主机名未验证”,如果使用 trustmaster“接受所有主机和证书”,我会收到错误消息405

代码访问网站:

    SoapObject Request = new SoapObject(NAMESPACE, method);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
PropertyInfo password = new PropertyInfo();
password.setName(ID);
password.setValue(pass);
password.setType(String.class);
Request.addProperty(password);
envelope.setOutputSoapObject(Request);
HttpTransportSE androidHttpsTransport = new HttpTransportSE("https://"+MAIN_REQUEST_URL+":"+sPORT+SERVICELOCATION);
makeFileOffline(androidHttpsTransport.getHost() +"\n"+ SERVICELOCATION,"AgriHTTP" );
try {

//FakeX509TrustManager.allowAllSSL();<< When enabled it gives 405

androidHttpsTransport.call(NAMESPACE+method, envelope);

SoapPrimitive resultsString = (SoapPrimitive) envelope.getResponse();

String webServiceResult = resultsString.toString();


} catch (IOException e) {

Log.d(e.toString(),"LogCat" );
e.printStackTrace();
} catch (XmlPullParserException e) {

e.printStackTrace();
}

最佳答案

通过“设置”安装的证书可以被 Android 设备本身和 Google 或系统制作的任何应用程序看到。但是您的应用程序看不到证书,这就是为什么您需要在自己的应用程序中通过代码导入或安装它。

关于java - Android 从设备设置安装自签名证书 SSL VS 以编程方式安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43785853/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com