小编BSn*_*apZ的帖子

Android SSLSockets使用自签名证书

这是我最近一直在努力解决的一个问题,很大程度上是因为我觉得互联网上关于这个问题的信息几乎没有太大帮助.因为我刚刚找到了一个适合我的解决方案,我决定在这里发布问题和解决方案,希望能让互联网成为那些追随我的人的好地方!(希望这不会导致"无益"的内容!)

我有一个我一直在开发的Android应用程序.直到最近,我一直在使用ServerSockets和Sockets在我的应用程序和我的服务器之间进行通信.但是,通信确实需要是安全的,所以我一直在尝试将它们转换为SSLServerSockets和SSLSockets,这比我预期的要困难得多.

看到它只是一个原型,只使用自签名证书就没有(安全)伤害,这就是我正在做的事情.正如你可能已经猜到的那样,这就是问题所在.这就是我所做的,以及我遇到的问题.

我用以下命令生成了文件" mykeystore.jks ":

keytool -genkey -alias serverAlias -keyalg RSA -keypass MY_PASSWORD -storepass MY_PASSWORD -keystore mykeystore.jks
Run Code Online (Sandbox Code Playgroud)

这是服务器代码:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.InetAddress;
import javax.net.ssl.SSLServerSocket;
import javax.net.ssl.SSLServerSocketFactory;
import javax.net.ssl.SSLSocket;

/**
 * Server
 */
public class simplesslserver {
    // Global variables
    private static SSLServerSocketFactory ssf;
    private static SSLServerSocket ss;
    private static final int port = 8081;
    private static String address;

    /**
    * Main: Starts the server and waits for clients to connect. …
Run Code Online (Sandbox Code Playgroud)

java ssl android self-signed

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

标签 统计

android ×1

java ×1

self-signed ×1

ssl ×1