如何使用.key和.pem文件在Android中创建套接字SSL?

时间:2012-07-09 07:52:24

标签: android sockets ssl

我的.key文件如: -----开始RSA私钥----- MIIEpAIBAAKCAQEA1j6eGXbHpqigZ1K // wnuyr5v / L2jFm7dzTtHJx8ZoMQ4CbsG

我的.pem文件如: -----开始证书----- MIIE4zCCA8ugAwIBAgIDBOziMA0GCSqGSIb3DQEBBQUAMDwxCzAJBgNVBAYTAlVT

我不知道在这里验证了多少步骤。我只想创建一个到IP和端口的ssl套接字,并在该套接字中发送/接收数据。 我试图使用键盘,但也许我不太了解它,我总是出错。

请给我一个指南或示例代码。

非常感谢。

2 个答案:

答案 0 :(得分:9)

我假设.key.pem文件代表您必须用于执行HTTPS客户端身份验证的客户端证书。不幸的是,Java / Android更喜欢不同的格式,因此我建议您将这两个文件导入BKS文件。

使用Portecle GUI创建BKS文件并导入现有的.key + .pem文件非常简单。启动Portecle后,选择文件 - >新密钥库 - > BKS 。之后您可以执行工具 - >导入密钥对并选择.pem文件。之后Portecle会要求您选择.key文件。

最后保存使用您选择的密码保护的密钥存储区。

现在可以在Android应用中使用已创建的BKS文件。例如,请参阅此问题中发布的代码:Using client/server certificates for two way authentication SSL socket on Android

更新2015-06-30 :以上说明仅适用于Portecle 1.6及之前版本。使用1.7和1.8版,您无法创建Android兼容的密钥库。在Portecle 1.9中,使用格式BKS-V1代替。

答案 1 :(得分:0)

创建SSL连接时,您只需要套接字即可与服务器建立连接,并将其作为受信任的来源启用。为此,您需要拥有X509格式的SSL证书,然后按照this article中的说明创建连接。

这是a guide on generating X.509 certificates