gpt4 book ai didi

android - encode() 私钥在 "AndroidKeyStore"返回 null

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:01:25 27 4
gpt4 key购买 nike

对于 Android 4.3,此代码返回 null。

KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
keyStore.load(null);
keyStore.setKeyEntry(alias, privateKey, null, certificateChain);
PrivateKeyEntry entry=(PrivateKeyEntry)keyStore.getEntry(alias, new PasswordProtection(password));
assert(entry.getPrivateKey().getEncoded()!=null);

如何获得私钥的编码版本?

或者,是否可以将私钥处理程序传输到另一个应用程序?

谢谢

最佳答案

Android KeyChain API 阻止您获取编码的私钥。

请参阅 OpenSSLRSAPrivateKey.java 的第 158 行的方法

@Override
public final BigInteger getPrivateExponent() {
if (key.isEngineBased()) {
throw new UnsupportedOperationException("private exponent cannot be extracted");
}

但使用 KeyChain API 的好处是它提供了系统范围的凭证存储。任何应用程序都应该能够通过其别名检索 key 对和证书。引用KeyStore文档。

关于android - encode() 私钥在 "AndroidKeyStore"返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22664809/

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