gpt4 book ai didi

Android Keystore KeyPairGeneratorSpec 我从哪里获得 X500Principal

转载 作者:行者123 更新时间:2023-11-29 19:13:43 25 4
gpt4 key购买 nike

我正在构建一个 keystore ,我将在其中隐藏我的授权和刷新 token 。我使用的是 API 19。查看 KeyPairGeneratorSpec 的示例。大多数示例使用虚拟证书 (X500Principal)。我对证书的工作不多。我不确定我从哪里得到这个“主题”。这是生成签名 APK 时使用的证书吗?即https://developer.android.com/studio/publish/app-signing.html
还是从像 CA 这样的组织那里获得证书?

也就是说,一旦我有了这些数据,我该如何将其转换到这台 X500 中?如何将数据映射到 x500?

由于我公司处理应用程序签名的方式,前者会有问题。我不确定我能否访问它。

关注

KeyPairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(this)
.setAlias(k)
.setSubject(new X500Principal("CN=Sample Name, O=Android Authority"))
.setSerialNumber(BigInteger.ONE)
.setStartDate(start.getTime())
.setEndDate(end.getTime())
.build();
KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA", "AndroidKeyStore");

最佳答案

为您的 .apk 签名以在 Google Play 商店中分发和使用 AndroidKeyStore 加密敏感用户数据是截然不同的。前者在您的开发机器(即您的笔记本电脑或台式电脑)上使用 Java Key Store (jks) 进行,而另一个在安装了您的应用程序的手机上进行。

您无需为 X500Principal 获取证书颁发机构.您引用的示例代码是正确的,您只需将其替换为例如您的应用程序名称和组织:

new X500Principal("CN=StarWind, O=StarWindOrganization"); 

如果您想了解不同缩写的含义,请参阅 Wikipedia entry for Lightweight Directory Access Protocol但仅举个例子,“CN”表示“通用名称”,“O”表示组织。您在此处提供的属性只是为了形成一个唯一的条目,就像您在 Java 中形成一个唯一的包名称一样,例如 com.starwind.myapp

如果您发现它令人困惑,您可以看看 Scytale这是 Android KeyStore 的包装器。即使您最终没有使用该库,其中的代码对于了解如何使用 KeyStore 也非常有用。

关于Android Keystore KeyPairGeneratorSpec 我从哪里获得 X500Principal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44320812/

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