交换公共密钥作为序列化对象

| 如何将公钥交换到客户处。我已经使用私钥通过RSA算法对文档(文本文件)进行了加密,然后使用序列化将公钥作为java.security.Key对象存储在文件中。我想了解序列化公钥对象的完整性这是安全的选择,也可以使用其他任何选项。     
已邀请:
公钥通常只是作为文本交换。然后将其导入密钥库。确切的执行方法取决于实现方式(我一直使用PGP)。 我不会将密钥公开为java.security.Key的序列化形式,因为它不是真正的标准。它简单形式的关键是互换的标准形式。 在公开下载密钥时:它是公开的,因此入侵者无法通过下载密钥来做任何事情。唯一可能出错的是,有人可能会伪造您的服务器并托管其他密钥。然后使用该密钥的私钥签名并声明您是您。当然,如果您邮寄给某人,您可能会遇到同样的问题。但是,至少您会知道将其邮寄给谁。 最安全的方法是将密钥散布到外部。就像在USB记忆棒上一样。 根据您的原因,我认为您可以承担风险。     
Joeri已就安全性方面回答了-我对此无话可说。 您可能遇到的主要问题是在库版本之间更改序列化表示形式,这对于使用Java序列化可能是一个潜在问题。 当然,还有其他方法可以做到这一点。 RSA公钥应具有行业标准编码,您可以使用“ 0”方法进行访问。这将为您提供一个字节数组,您可以将“ 1”更改为“ 2”。因此,这真的很容易。     

要回复问题请先登录注册