试试这个:
// key pair is in 'kp'KeyFactory kf = KeyFactory.getInstance("RSA");RSAPrivateCrtKeySpec ks = kf.getKeySpec( kp.getPrivate(), RSAPrivateCrtKeySpec.class);System.out.println("<RSAKeyValue>");System.out.println(" <Modulus>" + ks.getModulus() + "</Modulus>");System.out.println(" <Exponent>" + ks.getPublicExponent() + "</Exponent>");System.out.println(" <P>" + ks.getPrimeP() + "</P>");System.out.println(" <Q>" + ks.getPrimeQ() + "</Q>");System.out.println(" <DP>" + ks.getPrimeExponentP() + "</DP>");System.out.println(" <DQ>" + ks.getPrimeExponentQ() + "</DQ>");System.out.println(" <InverseQ>" + ks.getCrtCoefficient() + "</InverseQ>");System.out.println(" <D>" + ks.getPrivateExponent() + "</D>");System.out.println("</RSAKeyValue>");这将对所有内部使用“ CRT”表示形式并允许导出的RSA密钥对起作用。在默认情况下,JDK将使用您显示的代码生成密钥对。
(在这里我打印出密钥,
System.out而不是将其写入文件中,但是您明白了。)



