在MQTT-Android连接中实现SSL

在MQTT-Android连接中实现SSL,android,ssl,mqtt,android-keystore,Android,Ssl,Mqtt,Android Keystore,我有一个关于在Android环境中使用MQTT协议的问题。我们正在开发一个Android应用程序,并使用com.ibm.micro.client.mqttv3_7.5.0.0.jarMQTT客户端库向Android设备发送推送通知。我的问题是关于SSL连接。在桌面应用程序中,我们将.keystore文件复制到适当的位置,并按如下方式引用它 public Properties getSSLSettings() { final Properties properties = new Prop

我有一个关于在Android环境中使用MQTT协议的问题。我们正在开发一个Android应用程序,并使用com.ibm.micro.client.mqttv3_7.5.0.0.jarMQTT客户端库向Android设备发送推送通知。我的问题是关于SSL连接。在桌面应用程序中,我们将.keystore文件复制到适当的位置,并按如下方式引用它

public Properties getSSLSettings() {
    final Properties properties = new Properties();
    properties.setProperty("com.ibm.ssl.keyStore",
        "C:/BKSKeystore/mqttclientkeystore.keystore");
    properties.setProperty("com.ibm.ssl.keyStoreType", "BKS");
    properties.setProperty("com.ibm.ssl.keyStorePassword", "passphrase");
    properties.setProperty("com.ibm.ssl.trustStore",
        "C:/BKSKeystore/mqttclienttrust.keystore");
    properties.setProperty("com.ibm.ssl.trustStoreType", "BKS");
    properties.setProperty("com.ibm.ssl.trustStorePassword", "passphrase ");

    return properties;
}

上面的代码非常适合获取SSL设置。我们也在Android中实现了这段代码,但很明显,在设备中保存.keystore文件是不安全的。我的问题是,有没有其他方法可以实现SSL连接而不在设备的内部或外部存储器中存储.keystore文件?

在更高版本的android中,您可以使用访问设备的keystore来访问私钥。对于信任存储,使用设备的信任存储可以正常工作,android默认情况下将其用于SSL连接。IBM也有一个数据库,其中有关于在移动设备上使用其库的信息。

在更高版本的android中,您可以使用访问设备的密钥库来提供对私钥的访问。对于信任存储,使用设备的信任存储可以正常工作,android默认情况下将其用于SSL连接。IBM也有一个数据库,其中有关于在移动设备上使用其库的信息