Originally from jsch (jcraft.com) com/jcraft/jsch/jce/DH.java getE()
This function works in Sun's java, but on libgcj it fails. Here is a standalone sample that works in Sun's java: (I believe this used to work with gnu.crypto) gcj (GCC) 4.2.0 20060419 (experimental) gcj --main=Sec -o Sec Sec.java ./Sec java.security.InvalidAlgorithmParameterException: params at gnu.javax.crypto.jce.sig.DHKeyPairGeneratorSpi.initialize (libgcj.so.7) at java.security.KeyPairGenerator.initialize (libgcj.so.7) at Sec.main (Sec) ===== public class Sec { private static KeyPairGenerator myKpairGen; private static KeyAgreement myKeyAgree; private static BigInteger p; private static BigInteger g; private static BigInteger e; // my public key private static byte[] e_array; public static void main(String[] args) { try { myKpairGen = KeyPairGenerator.getInstance("DH"); myKeyAgree = KeyAgreement.getInstance("DH"); p = new BigInteger("1797693134862315907708391567937874531978602960487560117064444236841971802161585193689478337958649255415021805654 859805036464405481992391000507928770033558166392295531362390765087357599148225748625750074253020774477125895509579377784244424266173347276 29299387668709205606050270810842907692932019128194467627007"); g = new BigInteger("2"); DHParameterSpec dhSkipParamSpec = new DHParameterSpec(p, g); myKpairGen.initialize(dhSkipParamSpec); KeyPair myKpair = myKpairGen.generateKeyPair(); myKeyAgree.init(myKpair.getPrivate()); // BigInteger x=((javax.crypto.interfaces.DHPrivateKey)(myKpair.getPrivate())).getX(); byte[] myPubKeyEnc = myKpair.getPublic().getEncoded(); System.err.println(myPubKeyEnc); e = ((javax.crypto.interfaces.DHPublicKey) (myKpair.getPublic())).getY(); e_array = e.toByteArray(); } catch (Exception e) { e.printStackTrace(); } } } -- Summary: java.security.InvalidAlgorithmParameterException Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: r_ovidius at eml dot cc http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27228