congrats Icon
New! Announcing Tabnine Chat Beta
Learn More
Tabnine Logo
KeyAgreement
Code IndexAdd Tabnine to your IDE (free)

How to use
KeyAgreement
in
javax.crypto

Best Java code snippets using javax.crypto.KeyAgreement (Showing top 20 results out of 783)

Refine searchRefine arrow

  • KeyPairGenerator
  • KeyPair
  • KeyFactory
origin: jenkinsci/jenkins

public KeyAgreement diffieHellman(boolean side, int keySize) throws IOException, GeneralSecurityException {
  KeyPair keyPair;
  PublicKey otherHalf;
  if (side) {
    AlgorithmParameterGenerator paramGen = AlgorithmParameterGenerator.getInstance("DH");
    paramGen.init(keySize);
    KeyPairGenerator dh = KeyPairGenerator.getInstance("DH");
    dh.initialize(paramGen.generateParameters().getParameterSpec(DHParameterSpec.class));
    keyPair = dh.generateKeyPair();
    // send a half and get a half
    writeKey(keyPair.getPublic());
    otherHalf = KeyFactory.getInstance("DH").generatePublic(readKey());
  } else {
    otherHalf = KeyFactory.getInstance("DH").generatePublic(readKey());
    KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("DH");
    keyPairGen.initialize(((DHPublicKey) otherHalf).getParams());
    keyPair = keyPairGen.generateKeyPair();
    // send a half and get a half
    writeKey(keyPair.getPublic());
  }
  KeyAgreement ka = KeyAgreement.getInstance("DH");
  ka.init(keyPair.getPrivate());
  ka.doPhase(otherHalf, true);
  return ka;
}
origin: apache/geode

 private static byte[] generateSecret(String dhSKAlgo, PrivateKey privateKey,
   PublicKey otherPublicKey) throws Exception {
  KeyAgreement ka = KeyAgreement.getInstance("DH");
  ka.init(privateKey);
  ka.doPhase(otherPublicKey, true);

  int keysize = getKeySize(dhSKAlgo);
  int blocksize = getBlockSize(dhSKAlgo);

  if (keysize == -1 || blocksize == -1) {
   SecretKey sKey = ka.generateSecret(dhSKAlgo);
   return sKey.getEncoded();
  } else {
   return ka.generateSecret();
  }
 }
}
origin: hierynomus/sshj

@Override
void computeK(byte[] f) throws GeneralSecurityException {
  final KeyFactory keyFactory = SecurityUtils.getKeyFactory("DH");
  final PublicKey yourPubKey = keyFactory.generatePublic(new DHPublicKeySpec(new BigInteger(f), p, g));
  agreement.doPhase(yourPubKey, true);
  setK(new BigInteger(1, agreement.generateSecret()));
}
origin: hierynomus/sshj

@Override
public void init(AlgorithmParameterSpec params, Factory<Random> randomFactory) throws GeneralSecurityException {
  if (!(params instanceof DHParameterSpec)) {
    throw new SSHRuntimeException("Wrong algorithm parameters for Diffie Hellman");
  }
  this.p = ((DHParameterSpec) params).getP();
  this.g = ((DHParameterSpec) params).getG();
  generator.initialize(params);
  final KeyPair kp = generator.generateKeyPair();
  agreement.init(kp.getPrivate());
  setE(((javax.crypto.interfaces.DHPublicKey) kp.getPublic()).getY().toByteArray());
}
origin: org.apache.kerby/kerb-crypto

public DHPublicKey init(DHParameterSpec dhParamSpec) throws Exception {
  dhParameterSpec = dhParamSpec;
  // The client creates its own DH key pair, using the DH parameters from above.
  KeyPairGenerator clientKpairGen = KeyPairGenerator.getInstance("DH");
  clientKpairGen.initialize(dhParamSpec);
  KeyPair clientKpair = clientKpairGen.generateKeyPair();
  // The client creates and initializes its DH KeyAgreement object.
  clientKeyAgree = KeyAgreement.getInstance("DH");
  clientKeyAgree.init(clientKpair.getPrivate());
  // The client encodes its public key, and sends it over to the server.
  return (DHPublicKey) clientKpair.getPublic();
}
origin: vngx/vngx-jsch

@Override
public byte[] getK() throws Exception {
  if( _K == null ) {
    KeyFactory myKeyFac = KeyFactory.getInstance("DH");
    PublicKey yourPubKey = myKeyFac.generatePublic(new DHPublicKeySpec(_f, _p, _g));
    _keyAgreement.doPhase(yourPubKey, true);
    byte[] mySharedSecret = _keyAgreement.generateSecret();
    _K = new BigInteger(mySharedSecret);
    //_KArray = _K.toByteArray();	// TODO Why assign twice?
    _KArray = mySharedSecret;
  }
  return _KArray;
}
origin: wildfly/wildfly

protected void handleSecretKeyRequest(PublicKey dh_public_key, Address sender) throws Exception {
  KeyPair    kp=key_pair_gen.generateKeyPair();
  PrivateKey private_key=kp.getPrivate();
  PublicKey  public_key_rsp=kp.getPublic(); // sent back as part of the response
  byte[]     version;
  byte[]     encrypted_secret_key;
  log.debug("%s: received public key %s.. from %s", local_addr, print16(dh_public_key), sender);
  synchronized(this) {
    key_agreement.init(private_key);
    key_agreement.doPhase(dh_public_key, true);
    // Diffie-Hellman secret session key, to encrypt secret key
    byte[] secret_session_key=key_agreement.generateSecret();
    SecretKey hashed_session_key=hash(secret_session_key);
    Cipher encrypter=Cipher.getInstance(secret_key_algorithm);
    encrypter.init(Cipher.ENCRYPT_MODE, hashed_session_key);
    Tuple<SecretKey,byte[]> tuple=(Tuple<SecretKey,byte[]>)up_prot.up(new Event(Event.GET_SECRET_KEY));
    SecretKey secret_key=tuple.getVal1();
    version=tuple.getVal2();
    encrypted_secret_key=encrypter.doFinal(secret_key.getEncoded());
  }
  log.debug("%s: sending public key rsp %s.. to %s", local_addr, print16(public_key_rsp), sender);
  // send response to sender with public_key_rsp, encrypted secret key and secret key version
  Message rsp=new Message(sender)
   .putHeader(id, DhHeader.createSecretKeyResponse(public_key_rsp.getEncoded(),
                           encrypted_secret_key, version));
  down_prot.down(rsp);
}
origin: SeanDragon/protools

KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);
PublicKey pubKey = keyFactory.generatePublic(x509KeySpec);
PrivateKey priKey = keyFactory.generatePrivate(pkcs8KeySpec);
KeyAgreement keyAgree = KeyAgreement.getInstance(keyFactory.getAlgorithm());
keyAgree.init(priKey);
keyAgree.doPhase(pubKey, true);
SecretKey secretKey = keyAgree.generateSecret(SECRET_KEY_ALGORITHM);
origin: stackoverflow.com

 KeyPairGenerator eckpg = KeyPairGenerator.getInstance("EC");
ECGenParameterSpec p256 = new ECGenParameterSpec("secp256r1");
eckpg.initialize(p256);
KeyPair doubleUseKeyPair = eckpg.generateKeyPair();
KeyAgreement ecdh = KeyAgreement.getInstance("ECDH");
ecdh.init(doubleUseKeyPair.getPrivate());
// ...

Signature ecdsa = Signature.getInstance("SHA256withECDSA");
ecdsa.initSign(doubleUseKeyPair.getPrivate());
// ...

System.out.println(eckpg.getProvider());
System.out.println(ecdh.getProvider());
System.out.println(ecdsa.getProvider());
origin: apache/geode

KeyFactory keyFact = KeyFactory.getInstance("DH");
pubKey = keyFact.generatePublic(x509KeySpec);
KeyAgreement ka = KeyAgreement.getInstance("DH");
ka.init(dhPrivateKey);
ka.doPhase(pubKey, true);
 SecretKey sKey = ka.generateSecret(skAlgo);
 decrypt = Cipher.getInstance(skAlgo);
 decrypt.init(Cipher.DECRYPT_MODE, sKey);
 String algoStr = getDhAlgoStr(skAlgo);
 byte[] sKeyBytes = ka.generateSecret();
 SecretKeySpec sks = new SecretKeySpec(sKeyBytes, 0, keysize, algoStr);
 IvParameterSpec ivps = new IvParameterSpec(sKeyBytes, keysize, blocksize);
origin: apache/directory-kerby

public void doPhase(byte[] serverPubKeyEnc) throws Exception {
  /*
   * The client uses the server's public key for the first (and only) phase
   * of its version of the DH protocol.  Before it can do so, it has to
   * instantiate a DH public key from the server's encoded key material.
   */
  KeyFactory clientKeyFac = KeyFactory.getInstance("DH");
  X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(serverPubKeyEnc);
  PublicKey serverPubKey = clientKeyFac.generatePublic(x509KeySpec);
  clientKeyAgree.doPhase(serverPubKey, true);
}
origin: org.mule.jsch/jsch

public void init() throws Exception{
 myKpairGen=KeyPairGenerator.getInstance("DH");
 myKeyAgree=KeyAgreement.getInstance("DH");
}
public byte[] getE() throws Exception{
origin: blockchain/thunder

public static ECDHKeySet getSharedSecret (ECKey keyServer, ECKey keyClient) {
  try {
    ECPrivateKeySpec specPrivate = new ECPrivateKeySpec(keyServer.getPrivKey(), ecParameters);
    ECPublicKeySpec specPublic = new ECPublicKeySpec(new ECPoint(keyClient.getPubKeyPoint().getXCoord().toBigInteger(), keyClient.getPubKeyPoint()
        .getYCoord().toBigInteger()), ecParameters);
    ECPrivateKey privateKey = (ECPrivateKey) kf.generatePrivate(specPrivate);
    ECPublicKey publicKey = (ECPublicKey) kf.generatePublic(specPublic);
    JCEECPrivateKey ecPrivKey = new JCEECPrivateKey(privateKey);
    JCEECPublicKey ecPubKey = new JCEECPublicKey(publicKey);
    KeyAgreement aKeyAgree = KeyAgreement.getInstance("ECDH");
    aKeyAgree.init(ecPrivKey);
    aKeyAgree.doPhase(ecPubKey, true);
    return new ECDHKeySet(aKeyAgree.generateSecret(), keyServer.getPubKey(), keyClient.getPubKey());
  } catch (Exception e) {
    throw new RuntimeException(e);
  }
}
origin: org.snmp4j/snmp4j

public static KeyAgreement getInitializedKeyAgreement(KeyPair keyPair) {
  KeyAgreement keyAgreement = null;
  try {
    keyAgreement = KeyAgreement.getInstance(DIFFIE_HELLMAN);
    keyAgreement.init(keyPair.getPrivate());
    return keyAgreement;
  } catch (NoSuchAlgorithmException e) {
    throw new RuntimeException(e);
  } catch (InvalidKeyException e) {
    throw new RuntimeException(e);
  }
}
origin: ethereum/ethereumj

public BigInteger keyAgreement(ECPoint otherParty) {
  if (privKey == null) {
    throw new MissingPrivateKeyException();
  } else if (privKey instanceof BCECPrivateKey) {
    final ECDHBasicAgreement agreement = new ECDHBasicAgreement();
    agreement.init(new ECPrivateKeyParameters(((BCECPrivateKey) privKey).getD(), CURVE));
    return agreement.calculateAgreement(new ECPublicKeyParameters(otherParty, CURVE));
  } else {
    try {
      final KeyAgreement agreement = ECKeyAgreement.getInstance(this.provider);
      agreement.init(this.privKey);
      agreement.doPhase(
        ECKeyFactory.getInstance(this.provider)
          .generatePublic(new ECPublicKeySpec(otherParty, CURVE_SPEC)),
          /* lastPhase */ true);
      return new BigInteger(1, agreement.generateSecret());
    } catch (IllegalStateException | InvalidKeyException | InvalidKeySpecException ex) {
      throw new RuntimeException("ECDH key agreement failure", ex);
    }
  }
}
origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsch

public void init(int size) throws Exception{
 myKeyAgree = KeyAgreement.getInstance("ECDH");
 KeyPairGenECDSA kpair = new KeyPairGenECDSA();
 kpair.init(size);
 publicKey = kpair.getPublicKey();
 byte[] r = kpair.getR();
 byte[] s = kpair.getS();
 Q_array = toPoint(r, s);
 myKeyAgree.init(kpair.getPrivateKey());
}
origin: ethereum/ethereumj

public static KeyAgreement getInstance(final String provider) throws NoSuchProviderException {
 try {
  return KeyAgreement.getInstance(ALGORITHM, provider);
 } catch (NoSuchAlgorithmException ex) {
  throw new AssertionError(algorithmAssertionMsg, ex);
 }
}
origin: cn.t/security-util

public static KeyAgreement generateKeyAgreement(PrivateKey privateKey, PublicKey publicKey) throws NoSuchAlgorithmException, InvalidKeyException {
  KeyAgreement keyAgreement = KeyAgreement.getInstance(AlgorithmName.DH);
  keyAgreement.init(privateKey);
  keyAgreement.doPhase(publicKey, true);
  return keyAgreement;
}
origin: com.madgag.spongycastle/bctls-jdk15on

public SecretKey calculateKeyAgreement(String agreementAlgorithm, PrivateKey privateKey, PublicKey publicKey, String secretAlgorithm)
  throws GeneralSecurityException
{
  KeyAgreement agreement = helper.createKeyAgreement(agreementAlgorithm);
  agreement.init(privateKey);
  agreement.doPhase(publicKey, true);
  return agreement.generateSecret(secretAlgorithm);
}
origin: wildfly/wildfly

protected void handleSecretKeyResponse(PublicKey dh_public_key, byte[] encrypted_secret_key,
                    byte[] version, Address sender) throws Exception {
  Tuple<SecretKey,byte[]> tuple=null;
  log.debug("%s: received public key rsp %s.. from %s", local_addr, print16(dh_public_key), sender);
  synchronized(this) {
    key_agreement.doPhase(dh_public_key, true);
    // Diffie-Hellman secret session key, to decrypt secret key
    byte[] secret_session_key=key_agreement.generateSecret();
    SecretKey hashed_session_key=hash(secret_session_key);
    Cipher encrypter=Cipher.getInstance(secret_key_algorithm);
    encrypter.init(Cipher.DECRYPT_MODE, hashed_session_key);
    byte[] secret_key=encrypter.doFinal(encrypted_secret_key); // <-- this is the shared group key
    SecretKey sk=new SecretKeySpec(secret_key, secret_key_algorithm);
    tuple=new Tuple<>(sk, version);
    dh_key=null;
  }
  log.debug("%s: sending up secret key (version: %s)", local_addr, Util.byteArrayToHexString(version));
  up_prot.up(new Event(Event.SET_SECRET_KEY, tuple));
}
javax.cryptoKeyAgreement

Javadoc

This class provides the functionality for a key exchange protocol. This enables two or more parties to agree on a secret key for symmetric cryptography.

Most used methods

  • getInstance
    Create a new KeyAgreement for the specified algorithm from the specified provider.
  • generateSecret
    Generates the shared secret and stores it into the buffer sharedSecred at offset.
  • doPhase
    Does the next (or the last) phase of the key agreement, using the specified key.
  • init
    Initializes this KeyAgreement with the specified key, algorithm parameters and randomness source.
  • <init>
    Creates a new KeyAgreement instance.
  • getProvider
    Returns the provider for this KeyAgreement instance.

Popular in Java

  • Reactive rest calls using spring rest template
  • setRequestProperty (URLConnection)
  • compareTo (BigDecimal)
  • findViewById (Activity)
  • Component (java.awt)
    A component is an object having a graphical representation that can be displayed on the screen and t
  • PrintStream (java.io)
    Fake signature of an existing Java class.
  • BigInteger (java.math)
    An immutable arbitrary-precision signed integer.FAST CRYPTOGRAPHY This implementation is efficient f
  • Random (java.util)
    This class provides methods that return pseudo-random values.It is dangerous to seed Random with the
  • Callable (java.util.concurrent)
    A task that returns a result and may throw an exception. Implementors define a single method with no
  • StringUtils (org.apache.commons.lang)
    Operations on java.lang.String that arenull safe. * IsEmpty/IsBlank - checks if a String contains
  • Best plugins for Eclipse
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now