我用的是bouncycastle的provider。下面的代码是可以的
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PublicKey;
import java.security.PrivateKey;KeyPairGenerator kg = KeyPairGenerator.getInstance("RSA");
kg.initialize(1024);
KeyPair k = kg.generateKeyPair();
PublicKey pK = k.getPublic();
PrivateKey sK = k.getPrivate();但是也有问题,用Cipher加密时用
byte[] update(byte[]),然后void doFinal()
编译可以通过但是运行时会产生NonePointException
用void doFinal(byte[])就可以,
还有:
Cipher rsaCipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
rsaCipher.init(Cipher.ENCRYPT_MODE,Key.getPublic());

FileInputStream in = new FileInputStream(args[1]);
FileOutputStream out = new FileOutputStream(args[2]);
CipherOutputStream cout = new CipherOutputStream(out,rsaCipher);

int b = 0;
while((b = in.read()) != -1){
    System.out.print((char)b);
    cout.write(b);
}
cout.close();
in.close();在cout.close()处产生NonePointException请教高手  急~