class or interface expected error in java

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • supriyakhankar
    New Member
    • Nov 2011
    • 1

    class or interface expected error in java

    Hello friends,
    I want to implement the ECDH key exchange algorithm. I have the code but i am getting the error as class or interface expected. please help me.

    which packages i need to add and how to add new package.

    code is:

    package sun.security.ss l;
    package sun.security.ss l.JsseJce;

    import java.security.* ;
    // import java.security.i nterfaces.ECPub licKey;
    import java.security.i nterfaces;
    import java.security.s pec.*;

    import javax.crypto.Se cretKey;
    import javax.crypto.Ke yAgreement;
    import javax.crypto.sp ec.*;
    import java.lang.*;
    import java.lang.Objec t;
    /**
    * Helper class for the ECDH key exchange. It generates the appropriate
    * ephemeral keys as necessary and performs the actual shared secret derivation.
    *
    * @version 1.7, 05/05/07
    * @since 1.6
    * @author Andreas Sterbenz
    */
    final class ECDHCrypt {

    // our private key
    private PrivateKey privateKey;

    // our public key
    private ECPublicKey publicKey;

    // Called by ServerHandshake r for static ECDH
    ECDHCrypt(Priva teKey privateKey, PublicKey publicKey) {
    this .privateKey = privateKey;
    this .publicKey = (ECPublicKey) publicKey;
    }

    // Called by ServerHandshake r for ephemeral ECDH
    ECDHCrypt(Strin g curveName, SecureRandom random) {
    try {
    KeyPairGenerato r kpg = jsseJce.getKeyP airGenerator("E C");
    ECGenParameterS pec params = new ECGenParameterS pec(
    curveName);
    kpg.initialize( params, random);
    KeyPair kp = kpg.generateKey Pair();
    privateKey = kp.getPrivate() ;
    publicKey = (ECPublicKey) kp.getPublic();
    } catch (GeneralSecurit yException e) {
    throw new RuntimeExceptio n("Could not generate DH keypair",
    e);
    }
    }

    // Called by ClientHandshake r with params it received from the server
    ECDHCrypt(ECPar ameterSpec params, SecureRandom random) {
    try {
    KeyPairGenerato r kpg = JsseJce.getKeyP airGenerator("E C");
    kpg.initialize( params, random);
    KeyPair kp = kpg.generateKey Pair();
    privateKey = kp.getPrivate() ;
    publicKey = (ECPublicKey) kp.getPublic();
    } catch (GeneralSecurit yException e) {
    throw new RuntimeExceptio n("Could not generate DH keypair",
    e);
    }
    }

    /**
    * Gets the public key of this end of the key exchange.
    */
    PublicKey getPublicKey() {
    return publicKey;
    }

    // called by ClientHandshake r with either the server's static or ephemeral public key
    SecretKey getAgreedSecret (PublicKey peerPublicKey) {
    try {
    KeyAgreement ka = JsseJce.getKeyA greement("ECDH" );
    ka.init(private Key);
    ka.doPhase(peer PublicKey, true);
    return ka.generateSecr et("TlsPremaste rSecret");
    } catch (GeneralSecurit yException e) {
    throw new RuntimeExceptio n("Could not generate secret", e);
    }
    }

    // called by ServerHandshake r
    SecretKey getAgreedSecret (byte[] encodedPoint) {
    try {
    ECParameterSpec params = publicKey.getPa rams();
    ECPoint point = JsseJce.decodeP oint(encodedPoi nt, params
    .getCurve());
    KeyFactory kf = JsseJce.getKeyF actory("EC");
    ECPublicKeySpec spec = new ECPublicKeySpec (point, params);
    PublicKey peerPublicKey = kf.generatePubl ic(spec);
    return getAgreedSecret (peerPublicKey) ;
    } catch (GeneralSecurit yException e) {
    throw new RuntimeExceptio n("Could not generate secret", e);
    } catch (java.io.IOExce ption e) {
    throw new RuntimeExceptio n("Could not generate secret", e);
    }
    }

    }
Working...