Java 在文件上写入公钥并使用objectInputStream读取

Java 在文件上写入公钥并使用objectInputStream读取,java,exception,encryption,objectoutputstream,Java,Exception,Encryption,Objectoutputstream,我需要在文件中保存公钥,然后读取。 因此,我主要通过以下步骤来实现: KeyPair keyPair = kpg.generateKeyPair(); PrivateKey privateKey = keyPair.getPrivate(); PublicKey publicKey = keyPair.getPublic(); 然后使用objectOutputStream保存 现在,我用包含该键的文件创建一个objetInputStream。 现在我在做: PublicKey pub = (P

我需要在文件中保存公钥,然后读取。 因此,我主要通过以下步骤来实现:

KeyPair keyPair = kpg.generateKeyPair();
PrivateKey privateKey = keyPair.getPrivate();
PublicKey publicKey = keyPair.getPublic();
然后使用objectOutputStream保存

现在,我用包含该键的文件创建一个objetInputStream。 现在我在做:

PublicKey pub = (PublicKey)pReader.readObject();
我得到一个例外:

 java.lang.ClassCastException: sun.security.rsa.RSAPrivateCrtKeyImpl cannot be cast to java.security.PublicKey.

谢谢

显然,您必须保存私钥,而不是公钥。

谢谢,是的,我交换了参数