java的签名
gucr 2002-11-15 04:18:09 在使用java 的程序中验证签名时,需要读入公钥的文件,生成PUBLICKEY的对象.
现在我使用的是别人提供的一个文本文件,在读入字节流,生成PublicKey的时候总是抱错,是因为无法将字节流转造型为PublicKey.
下面是我写的那段代码:
1.String keyPath = "d:\\ccbpk.txt";
2. java.io.FileInputStream fileCert = new java.io.FileInputStream(keyPath);
3. byte[] pub = new byte[fileCert.available()];
4. fileCert.read(pub);
5.java.io.ObjectInputStream in=new java.io.ObjectInputStream(new java.io.ByteArrayInputStream(pub));
6.PublicKey pubkey=(PublicKey)in.readObject();
7.byte[] bobEncodedPubKey=pubkey.getEncoded();
8.X509EncodedKeySpec bobPubKeySpec = new X509EncodedKeySpec(pubk);
9.System.out.println(bobPubKeySpec.getFormat());
10.KeyFactory keyFactory = KeyFactory.getInstance("RSA");
11.PublicKey bobPubKey = keyFactory.generatePublic(bobPubKeySpec);
程序总在第5行报错,因为给的文件是个文本文件,我不知道如何将字节流造型为PublicKey的对象,请高手指点迷津!