我正在制作一个具有密钥交换算法的套接字程序。 该算法与Web浏览器和Web服务器之间的SSL密钥交换非常相似。 这些是该算法中的步骤。
在此步骤中,我有一个错误。
因为从客户端收到的密钥服务器的类型不是RSA公钥,而是字节数组。
如何将字节数组更改为RSA公钥?
还是还有其他恢复RSA公钥的方法?像Java中的Key Factory方法一样?
答案 0 :(得分:0)
有X509EncodedKeySpec
可以用于"RSA"
的{{1}}实例。这需要一个字节数组,该字节数组被编码为X.509证书中的SubjectPublicKeyInfo(因此具有名称)。
还有其他方式编码公共密钥。最基本的编码之一是PKCS#1兼容密钥格式。您将看到如何处理这类密钥here,因为它不直接支持用Java对其进行解码。