我的.key文件如: -----开始RSA私钥----- MIIEpAIBAAKCAQEA1j6eGXbHpqigZ1K // wnuyr5v / L2jFm7dzTtHJx8ZoMQ4CbsG
我的.pem文件如: -----开始证书----- MIIE4zCCA8ugAwIBAgIDBOziMA0GCSqGSIb3DQEBBQUAMDwxCzAJBgNVBAYTAlVT
我不知道在这里验证了多少步骤。我只想创建一个到IP和端口的ssl套接字,并在该套接字中发送/接收数据。 我试图使用键盘,但也许我不太了解它,我总是出错。
请给我一个指南或示例代码。
非常感谢。
答案 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中的说明创建连接。