Android 環境でのMQTTプロトコルの使用に関して質問があります。Android デバイスにプッシュ通知を送信するために、Android アプリケーションを開発し、com.ibm.micro.client.mqttv3_7.5.0.0.jar MQTT クライアント ライブラリーを使用しています。私の質問は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 接続を実装する他の方法はありますか?