我有一家公司的多个应用程序。对于SSO问题,我需要在每个应用程序中使用相同的KeyPair集(包括私钥)。如果是IOS,KeyChain可以在一个证书的所有应用之间共享密钥,而无需用户参与。但是在android的情况下,我们必须以以下方式安装此KeyChain:
BufferedInputStream bis = new BufferedInputStream(getAssets().open(
PKCS12_FILENAME));
byte[] keychain = new byte[bis.available()];
bis.read(keychain);
Intent installIntent = KeyChain.createInstallIntent();
installIntent.putExtra(KeyChain.EXTRA_PKCS12, keychain);
installIntent.putExtra(KeyChain.EXTRA_NAME, DEFAULT_ALIAS);
startActivityForResult(installIntent, INSTALL_KEYCHAIN_CODE);
系统应用程序使用InstallIntent并与用户交互以询问密码并显示其他几个对话框。这种方式是不可接受的。还有其他共享KeyPair的方法吗?或者,也许您在SSO方面拥有类似的经验,不仅与令牌共享有关,而且与privateKey有关?我将不胜感激任何建议