主要用于数字签名: 
1.存储密钥对 
首先使用KeyPairGeneration产生密钥对: 
        KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");         keyGen.initialize(1024);         KeyPair keyPair = keyGen.genKeyPair();         privateKey = keyPair.getPrivate();         publicKey = keyPair.getPublic(); 
  
将密钥存储为文件的方法: 
        FileOutputStream fs = new FileOutputStream(fileName);         fs.write(privateKey.getEncoded());         fs.close(); 
2.加载密钥对 
假设公钥文件为public.dat、private.dat 
首先读取公钥文件: 
        //read public key         FileInputStream fsPublicKey = new FileInputStream(publicKeyFile);         BufferedInputStream bfsPublicKey = new BufferedInputStream(fsPublicKey);         byte[] bytePublicKey = new byte[bfsPublicKey.available()];         bfsPublicKey.read(bytePublicKey);         bfsPublicKey.close(); 
使用KeyFactory产生公钥 
        //build public key         X509EncodedKeySpec  pubKeySpec = new X509EncodedKeySpec(                 byteEncodedPublicKey);         KeyFactory keyFactory = KeyFactory.getInstance("RSA");         PublicKey pubKey = keyFactory.generatePublic(pubKeySpec); 
  
主意,私钥的的处理和公钥相同,唯一不同的是私钥的KeySpec不同。私钥应使用PKCS8EncodedKeySpec 
   
 
  |