小编IB'*_*B's的帖子

Android - 如何以编程方式在密钥库中存储证书?

我正在制作一个金融交易Android应用程序.它需要SSL身份验证,我成功完成了它(Android和Tomcat之间的握手).我使用keytool和openSSL生成服务器和客户端证书.Tomcat certifcate格式是JKS,而android formate是BKS.我将此BKS文件存储在Raw文件夹中,并按如下方式使用:

public class NetworkCallSecure extends AsyncTask<String, Void, String> {

ResponseListener responseListener;
Activity activity;
ResultCodes code;

public NetworkCallSecure(Activity activity, ResponseListener responseListener, ResultCodes code) {
    this.responseListener = responseListener;
    this.activity = activity;
    this.code = code;
}

@Override
protected String doInBackground(String... params) {

    try{

        System.setProperty("http.keepAlive", "false");
        HttpsURLConnection .setDefaultHostnameVerifier(new HostnameVerifier() {

                    public boolean verify(String hostname,
                                          SSLSession session) {
                        Log.d("HTTPS",hostname+":"+session);
                        return true;
                    }
                });

        char[] passwKey = "mypass".toCharArray();
        KeyStore ks = KeyStore.getInstance("BKS");
        InputStream in = activity.getResources().openRawResource(
                R.raw.client);
        InputStream is = activity.getResources().openRawResource(
                R.raw.client);
        ks.load(in, passwKey); …
Run Code Online (Sandbox Code Playgroud)

java ssl https android tomcat

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

标签 统计

android ×1

https ×1

java ×1

ssl ×1

tomcat ×1