我正在构建一个Android应用程序,将需要基于证书的身份验证。我不太熟悉Java/Kotlin编程范例。
证书将通过两种方式之一颁发,通过应用程序接口(由我控制)或通过设备管理工具,如MobiControl (这是目前唯一的,但我们可能必须使用其他设备管理工具)。
我需要一种方法来安全地存储证书,但以一种我们可以使用设备管理套件自动部署它们的方式,它们将无限期地存在。证书存储是否足够?https://developer.android.com/reference/java/security/cert/CertStore
在unix中,我会将它们存储在/etc/ssl/certs中,但我不知道这是否是一种有效的Android方法。
发布于 2019-08-27 02:00:18
如果应用程序想要存储仅由该应用程序使用的客户端证书,我强烈建议使用AndroidKeyStore system。另请参见this blog entry。
如果设备支持,私钥是加密存储的,并且不能被应用程序访问(只使用)。如果应用程序本身不能提取私钥,但是它可以使用私钥,例如使用java Cipher实例对数据进行签名或解密。
此外,您可以只设置一个标志,即使用证书需要设备身份验证(例如通过指纹),然后应用程序才能使用它。
https://stackoverflow.com/questions/57661796
复制相似问题