相关疑难解决方法(0)

接受与自签名证书的HTTPS连接

我正在尝试使用HttpClientlib 进行HTTPS连接,但问题在于,由于证书未由Verisign,GlobalSIgn等公认的证书颁发机构(CA)签署,并列在Android受信任证书集上,我一直在javax.net.ssl.SSLException: Not trusted server certificate.

我已经看到了你只接受所有证书的解决方案,但如果我想询问用户该怎么办?

我想得到一个类似于浏览器的对话框,让用户决定是否继续.我最好使用与浏览器相同的证书库.有任何想法吗?

ssl https android ca httpclient

149
推荐指数
6
解决办法
28万
查看次数

Android上的自签名SSL接受

如何在Android上接受Java中的自签名证书?

代码示例将是完美的.

我在互联网上随处可见,虽然有些人声称已找到解决方案,但它要么不起作用,要么没有示例代码来支持它.

ssl android self-signed ssl-certificate

52
推荐指数
4
解决办法
8万
查看次数

自定义SSL处理在Android 2.2 FroYo上停止运行

对于我的应用程序Transdroid,我通过HTTP连接到远程服务器,并可选择通过HTTPS安全地连接.对于与HttpClient的这些HTTPS连接,我使用自定义SSL套接字工厂实现来确保自签名证书正常工作.基本上,我接受一切,并忽略任何证书的每一次检查.

这已经有一段时间了,但它不再适用于Android 2.2 FroYo.尝试连接时,它将返回一个异常:

java.io.IOException: SSL handshake failure: I/O error during system call, Broken pipe
Run Code Online (Sandbox Code Playgroud)

以下是我初始化HttpClient的方法:

    SchemeRegistry registry = new SchemeRegistry();
    registry.register(new Scheme("http", new PlainSocketFactory(), 80));
    registry.register(new Scheme("https", (trustAll ? new FakeSocketFactory() : SSLSocketFactory.getSocketFactory()), 443));
    client = new DefaultHttpClient(new ThreadSafeClientConnManager(httpParams, registry), httpParams);
Run Code Online (Sandbox Code Playgroud)

我使用了FakeSocketFactory和FakeTrustManager,其源代码可以在这里找到.

同样,我不明白为什么它突然停止工作,甚至错误'破管'的意思.我在Twitter上看到过Seesmic和Twidroid在FroYo上启用SSL时失败的消息,但我不确定它是否相关.

感谢您的任何指示/帮助!

ssl android android-2.2-froyo

38
推荐指数
1
解决办法
4万
查看次数

使用Java https错误上传到Imgur v3

我目前正在尝试使用他们当前的API v3上传到imgur,但我不断收到错误

错误:javax.net.ssl.SSLException:证书中的主机名不匹配:api.imgur.com!= imgur.com或imgur.com

错误是非常自我解释的,所以我想我会尝试使用http而不是我得到错误代码400与imgur.我不确定这是否意味着我尝试上传是错误的还是Imgur不喜欢SSL连接.

下面是我连接到Imgur的代码模块:

public String Imgur (String imageDir, String clientID) {
    //create needed strings
    String address = "https://api.imgur.com/3/image";

    //Create HTTPClient and post
    HttpClient client = new DefaultHttpClient();
    HttpPost post = new HttpPost(address);

    //create base64 image
    BufferedImage image = null;
    File file = new File(imageDir);

    try {
        //read image
        image = ImageIO.read(file);
        ByteArrayOutputStream byteArray = new ByteArrayOutputStream();
        ImageIO.write(image, "png", byteArray);
        byte[] byteImage = byteArray.toByteArray();
        String dataImage = new Base64().encodeAsString(byteImage);

        //add header
        post.addHeader("Authorization", "Client-ID" + clientID);
        //add image
        List<NameValuePair> …
Run Code Online (Sandbox Code Playgroud)

java https post imgur

5
推荐指数
1
解决办法
1322
查看次数