从公钥格式转换为字符串,反之亦然

时间:2011-05-19 06:06:17

标签: java android

您正在做简单的tcp客户端服务器程序。也正在使用chiper方法来加密数据传输。最初客户端将请求发送到服务器。在服务器端,它接受客户端,并将服务器的公钥发送给客户端。在客户端,它使用服务器的公钥并使用该密钥加密数据。这是面临的问题     发送服务器公钥,将公钥数据类型转换为字符串并发送它。但我无法将其转换为公钥数据类型。是否有任何inbuild方法将公钥转换为字符串,反之亦然?如何隐藏它...请指导我......

1 个答案:

答案 0 :(得分:6)

您可以使用PublicKeys方法“getEncoded”,它为您提供PublicKey的X509编码表示(Byte [])。然后可以使用套接字连接发送此数组。

您也可以通过以下编码生成公钥:

KeyFactory rsaKeyFac = KeyFactory.getInstance("RSA");
X509EncodedKeySpec keySpec = new X509EncodedKeySpec(key);  
RSAPublicKey rsaPubKey = (RSAPublicKey)rsaKeyFac.generatePublic(keySpec);
return new PublicKeyImpl(rsaPubKey);