我正在使用一个椭圆曲线的加密voip应用程序,其值是biginteger类型,我必须将公钥发送给另一台主机,但是在精确发送这种类型时遇到了问题。
2。我尝试了一些方法,但是仍然有错误,这是我的代码的一部分。
OutputStream o = client.getOutputStream();
InputStream inp = client.getInputStream();
EllipticCurveAlgorithm algorithm = new EllipticCurveAlgorithm();
PointProccessor processor = new PointProccessor();
BigInteger pri = new BigInteger("1234567898514546");
Point pub = processor.multiply(pri, algorithm.base);
ObjectOutputStream os = new ObjectOutputStream(o);
os.writeObject(pub.getX());
os.writeObject(pub.getY());
ObjectInputStream ois = new ObjectInputStream(inp);
BigInteger px = (BigInteger)ois.readObject();
BigInteger py = (BigInteger)ois.readObject();
3。此代码的错误是这样。
java.io.StreamCorruptedException: invalid stream header: FF7FFF7F
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:808)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:301)
at chat.VOIPClientEC.run(VOIPClient.java:681)
4。我希望任何人都能帮助我,并建议我其他解决方案。