有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

作为序列化对象的公钥java交换

如何将公钥交换到客户端。我使用RSA算法通过私钥对文档(文本文件)进行了加密,然后将公钥存储为java。安全使用序列化在文件中设置密钥对象。我想知道序列化公钥对象的完整性,无论它是安全的选项还是任何其他可用选项


共 (2) 个答案

  1. # 1 楼答案

    乔里已经回答了安全方面的问题——我没有什么要补充的

    您可能会遇到的主要问题是在库版本之间更改序列化表示,这对于任何Java序列化的使用都是一个潜在问题

    当然还有其他方法。RSA公钥应该具有行业标准编码,您可以使用getEncoded()方法访问该编码。这将为您提供一个字节数组,您可以将其write转换为FileOutputStream。所以这真的很容易

  2. # 2 楼答案

    公钥通常只是作为一段文本进行交换。然后将其导入密钥库。具体的方法取决于实现(我一直使用PGP)

    我不会将密钥公开为java的序列化形式。安全因为它不是真正的标准。它的简单形式的关键是交换的标准形式

    公开密钥作为下载:它是公开的,所以入侵者下载密钥是无能为力的。唯一可能出错的是,有人可能会伪造您的服务器并托管不同的密钥。然后用那把钥匙的私钥签名,声称自己就是你。当然,如果你把它寄给别人,你也可能有同样的问题。但至少你会知道你把它寄给了谁

    最安全的方法是把钥匙放在外面。就像在U盘上一样

    根据你的原因,我认为你可以承受风险