【发布时间】:2019-02-12 01:00:25
【问题描述】:
我正在尝试从 Android 手机连接到用 Python 实现的 SSL 服务器。我自签了一个证书server.crt,并想在 Android 应用程序中使用此证书。
如何在 Java 中做到这一点?在 Python 中,这可以通过以下方式完成:
sock = socket.socket(socket.AF_INET6)
context = ssl.create_default_context(ssl.Purpose.SERVER_AUTH, cafile = 'server.crt')
conn = context.wrap_socket(sock, server_hostname = HOST)
conn.connect((HOST, PORT))
我当前的 Java 代码如下所示:
SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault();
SSLSocket sslsocket = (SSLSocket) factory.createSocket(HOST, PORT);
如何扩展它以使其使用证书?提前致谢!
【问题讨论】:
-
这篇文章描述了如何这样做:nelenkov.blogspot.com/2011/12/…
标签: java sockets android-studio ssl ssl-certificate