gpt4 book ai didi

android - 在 MQTT Android 连接中实现 SSL

转载 作者:行者123 更新时间:2023-11-30 03:50:43 30 4
gpt4 key购买 nike

我有一个关于在 Android 环境中使用 MQTT 协议(protocol)的问题。我们正在开发一个 Android 应用程序并使用 com.ibm.micro.client.mqttv3_7.5.0.0.jar MQTT 客户端库来向 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 文件根本不安全。我的问题是,是否有任何其他替代方案可以在不将 .keystore 文件存储在设备的内部或外部存储器中的情况下实现 SSL 连接?

最佳答案

在更高版本的 android 中,您可以使用 KeyChain 访问设备的 keystore 提供对私钥的访问。对于使用设备信任库的信任库工作正常,Android 默认使用它进行 SSL 连接。 IBM 也有一个 messaging community其中包含有关在移动设备上使用其库的信息。

关于android - 在 MQTT Android 连接中实现 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14199334/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com