gpt4 book ai didi

Android数字签名使用keystore证书

转载 作者:太空宇宙 更新时间:2023-11-03 14:03:51 24 4
gpt4 key购买 nike

瞄准

我开发了一个用于桌面的 JAVA 应用程序,用于通过访问 keystore (Windows-MY) 使用存储在 PC 中的 x509 证书对 PDF 和 XML 文件进行数字签名。我正在尝试通过访问 android keystore 在 Android 设备(手机/平板电脑)中开发相同的功能。

问题

X509 证书可以存储在 USB token 中,也可以在设置 > 用户凭据中直接从 SD 卡安装。我认为对于 USB token ,制造商应该支持 android 操作系统,否则它不会显示在 keystore 中。但是我在用户凭据中安装的证书呢?我不确定在这两种情况下使用哪个 keystore 。

我已经尝试了以下所有 keystore ,但没有成功。

 KeyStore.getInstance(KeyStore.getDefaultType());
KeyStore.getInstance("AndroidCAStore"); // returns only trusted ca certificates not the certificates in User Credentials
KeyStore.getInstance("AndroidKeyStore");
KeyStore.getInstance("BKS");

非常感谢任何帮助!

谢谢

最佳答案

安装在设备上的用户凭据可通过 Android KeyChain 获取,而不是 Android KeyStore

https://developer.android.com/reference/android/security/KeyChain.html

The KeyChain class provides access to private keys and their corresponding certificate chains in credential storage.

用法与 Windows-MY 略有不同,因为您需要让用户请求一个别名。使用choosePrivateKeyAlias提示用户输入签名证书,使用getPrivateKey恢复 key

关于Android数字签名使用keystore证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46378742/

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