【发布时间】:2014-05-01 18:14:46
【问题描述】:
我目前正在开发一个与远程机器上的服务器进程通信的 Android 应用程序。 Android客户端和服务器的安装包都需要加密签名;具有 Java 密钥库文件 (JKS) 的 Android 客户端和具有来自密钥环文件的 PGP 密钥的服务器。如果可能的话,我想通过使用相同的密钥对两个包进行签名来减少依赖关系,但是两个签名工具都不支持相反的文件格式。
是否可以将 PGP 密钥环文件转换为 JKS 文件?或者,是否可以将 JKS 文件转换为 PGP 密钥环文件?如果有,怎么做?
编辑澄清:这里的想法是使用单个加密密钥作为两个不同签名工具的输入。这些工具彼此不了解;这只是他们的一些随机密钥。我不想使用 PGP 对 Android 包进行签名,也不想使用 Android 的签名工具对服务器安装包进行签名,因为两者都会使最终用户无法读取输出。
【问题讨论】:
-
但是您并不想要其他格式的(假设:RSA)密钥。我假设您还想使用 JKS 密钥生成 PGP 签名或使用 PGP 密钥生成 Android 签名。它们实际上并不使用相同的结构,是吗?
-
嗯,文件格式明显不同,但用于对内容进行签名的基本算法应该与 PGP 或 Android 签名相同。或者这就是我的理解。
-
即使他们使用(或支持)相同的签名方案(例如具有相同哈希的概率签名方案的 RSA),如果仍然无法为具有其他?我知道这似乎是一个好主意,但在实践中构建这样一个跨系统解决方案似乎并不值得付出努力,而是仅使用两个(不兼容的)密钥。
-
我认为我们没有正确理解对方。编辑了原始问题以使其更加清晰。
标签: java android encryption cryptography pgp