相关疑难解决方法(0)

Android客户端上的SSL相互身份验证FAIL接受服务器证书,但服务器未获得客户端证书

我正在尝试在Linux服务器和Android APP之间建立一个相互认证的SSL.到目前为止,我已经能够让应用程序使用服务器证书通过SSL进行通信,但是一旦我将服务器设置为仅接受客户端证书就停止工作.服务器配置似乎没问题,但我有点卡住了.我最好的猜测是客户端证书没有正确呈现给服务器,但不知道如何测试它.我尝试在我的OS X钥匙串中使用.pem作为客户端,但浏览器似乎不能使用该证书.然后,服务器证书再次完美,因为我可以实现https连接,APP接受我的未签名服务器证书.

我正在使用的代码是各种教程的组合,答案这是我收藏的主要内容:

这是我用于连接的两个主要类:1)此类处理JSON解析并执行请求

package edu.hci.additional;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.List;

import android.content.Context;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URLEncodedUtils;
import org.json.JSONException;
import org.json.JSONObject;

import android.util.Log;

public class JSONParser {

    static InputStream is = null;
    static JSONObject jObj = null;
    static String json = "";

    // constructor
    public JSONParser() {

    }

    // function get json from url
    // …
Run Code Online (Sandbox Code Playgroud)

java ssl https android mutual-authentication

6
推荐指数
1
解决办法
2065
查看次数

我如何保护私有API

我正在开发一个REST API,供我正在编写的移动应用程序使用,主要用于与数据库通信.

移动应用程序调用以下URL:

example.com/mobileapi/getinfo
Run Code Online (Sandbox Code Playgroud)

并且每次呼叫都携带一定的POST负载.

我不担心用户身份验证等.

但是,我担心的是,如果有人使用移动应用程序以及Fiddler或Wireshark等网络监控工具,他们可以记录所有被调用的URL以及所有POST参数.这将是创建自己的使用我的API的应用程序的足够信息.

我怎么能阻止这个?我考虑将密钥硬编码到我的应用程序中,并将其作为POST参数包含在每个请求中,但这也是可见的.

security api rest

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

标签 统计

android ×1

api ×1

https ×1

java ×1

mutual-authentication ×1

rest ×1

security ×1

ssl ×1