gpt4 book ai didi

android - 如何将 key 保存到 keystore ?

转载 作者:太空狗 更新时间:2023-10-29 14:51:33 32 4
gpt4 key购买 nike

是的,这是 this question副本 .然而,答案是错误且具有误导性。答案建议将 key 写入其他应用程序可以访问该文件的文件。如果我没记错的话,keystore 的目的是generate and store private keys that can only be seen by your app ,所以我什至不确定为什么在那个问题中接受了答案。

另一个问题is about encryption and decryption但并不是真正将数据保存到 keystore 。

这里还有一个might be what I'm looking for但如果我没记错的话,CipherOutputStream 类似于 FileOutputStream 但它会在写入数据之前先加密数据。来自文档:

This class wraps an output stream and a cipher so that write methods send the data through the cipher before writing them to the underlying output stream.

我在这里想知道的不是使用 keytool 生成的那个(我猜它是不同的,除非我错了)而是在 android 4.3 中介绍的那个.无论哪种方式,我都想学习以编程方式将私钥保存在 keystore 中。

附加信息

好的,所以我发现您可以在调用 KeyPairGenerator 后自动生成 key ,如 this app 中所示.但我想做的是在我的服务器中生成一个 key (因为我的应用程序处于离线状态并且偶尔会在线连接),然后将该 key 作为条目保存在 keystore 中。我现在的问题是创建条目然后保存它。这样做的原因是,我想为我的应用程序创建一个像 api key 一样的 key 。如果我使用 keystore 生成的 key ,每次为不同的设备创建它都会有所不同。

最佳答案

For ages the keytool application shipped as part of Java could provide all the functionality to generate a private key and certificate sign request from a Java keystore, but the most basic function, importing a preexisting private key and certificate generated externally, remained overlooked.

This is fixed in Java 6, at long last.

The solution is to convert your existing certificate and key into a PKCS12 file, and then use the keytool functionality to merge one keystore with another one. Java 6 can treat a PKCS12 file as a keystore, so putting this together, you get this:

keytool -importkeystore -deststorepass changeit -destkeypass changeit
-destkeystore my-keystore.jks -srckeystore cert-and-key.p12 -srcstoretype PKCS12 -srcstorepass cert-and-key-password -alias 1

Refer this page for more details

关于android - 如何将 key 保存到 keystore ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34783416/

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