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

Reply via email to