Package javax.crypto.spec

Examples of javax.crypto.spec.DHParameterSpec


  public void test(TestHarness harness)
  {
    try
      {
        // Alice side
        DHParameterSpec spec1 = new DHParameterSpec(skip1024Modulus, skip1024Base);
        harness.verbose("*** Generating Alice's Diffie-Hellman key-pair");
        KeyPairGenerator aliceKPG = KeyPairGenerator.getInstance("DH");
        aliceKPG.initialize(spec1);
        KeyPair aliceKP = aliceKPG.generateKeyPair();

        harness.verbose("*** Initializing Alice's Diffie-Hellman key-agreement");
        KeyAgreement aliceKA = KeyAgreement.getInstance("DH");
        aliceKA.init(aliceKP.getPrivate());

        harness.verbose("*** Alice sends Bob her encoded key...");
        byte[] alicePubKEnc = aliceKP.getPublic().getEncoded();

        // Bob side
        KeyFactory bobKF = KeyFactory.getInstance("DH");
        X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(alicePubKEnc);
        PublicKey alicePubK = bobKF.generatePublic(x509KeySpec);

        // Bob gets the DH parameters associated with Alice's public key.
        // He MUST use the same parameters when generating his own key-pair
        DHParameterSpec spec2 = ((DHPublicKey) alicePubK).getParams();
        harness.verbose("*** Generating Bob's Diffie-Hellman key-pair");
        KeyPairGenerator bobKPG = KeyPairGenerator.getInstance("DH");
        bobKPG.initialize(spec2);
        KeyPair bobKP = bobKPG.generateKeyPair();

View Full Code Here


    }
   
    /* Initialize key pair generator with prime, generator and keysize */
    try{
      keyPairGenerator.initialize(
        new DHParameterSpec(prime, generator, keysize)
      );
    }
    catch(InvalidAlgorithmParameterException e){
      System.err.println("Invalid parameter spec: " + e.getMessage());
     
View Full Code Here

     * @throws InvalidAlgorithmParameterException
     */
    public KeyPair createKeys() throws NoSuchAlgorithmException, InvalidAlgorithmParameterException, InvalidKeySpecException {
        // initialize the parameter spec
        DHPublicKey publicKey = (DHPublicKey) this.getValueLinkPublicKey();
        DHParameterSpec dhParamSpec = publicKey.getParams();
        //Debug.log(dhParamSpec.getP().toString() + " / " + dhParamSpec.getG().toString(), module);

        // create the public/private key pair using parameters defined by valuelink
        KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DH");
        keyGen.initialize(dhParamSpec);
View Full Code Here

        // read the valuelink public key
        String publicValue = (String) props.get("payment.valuelink.publicValue");
        byte[] publicKeyBytes = StringUtil.fromHexString(publicValue);

        // initialize the parameter spec
        DHParameterSpec dhParamSpec = this.getDHParameterSpec();

        // load the valuelink public key
        KeyFactory keyFactory = KeyFactory.getInstance("DH");
        BigInteger publicKeyInt = new BigInteger(publicKeyBytes);
        DHPublicKeySpec dhPublicSpec = new DHPublicKeySpec(publicKeyInt, dhParamSpec.getP(), dhParamSpec.getG());
        PublicKey vlPublic = keyFactory.generatePublic(dhPublicSpec);

        return vlPublic;
    }
View Full Code Here

     */
    public PrivateKey getPrivateKey() throws InvalidKeySpecException, NoSuchAlgorithmException {
        byte[] privateKeyBytes = this.getPrivateKeyBytes();

        // initialize the parameter spec
        DHParameterSpec dhParamSpec = this.getDHParameterSpec();

        // load the private key
        KeyFactory keyFactory = KeyFactory.getInstance("DH");
        BigInteger privateKeyInt = new BigInteger(privateKeyBytes);
        DHPrivateKeySpec dhPrivateSpec = new DHPrivateKeySpec(privateKeyInt, dhParamSpec.getP(), dhParamSpec.getG());
        PrivateKey privateKey = keyFactory.generatePrivate(dhPrivateSpec);

        return privateKey;
    }
View Full Code Here

        byte[] primeByte = StringUtil.fromHexString(primeHex);
        BigInteger prime = new BigInteger(1, primeByte); // force positive (unsigned)
        BigInteger generator = new BigInteger(genString);

        // initialize the parameter spec
        DHParameterSpec dhParamSpec = new DHParameterSpec(prime, generator, 1024);

        return dhParamSpec;
    }
View Full Code Here

            {
                DHParameter dhP = new DHParameter((ASN1Sequence)aIn.readObject());

                if (dhP.getL() != null)
                {
                    currentSpec = new DHParameterSpec(dhP.getP(), dhP.getG(), dhP.getL().intValue());
                }
                else
                {
                    currentSpec = new DHParameterSpec(dhP.getP(), dhP.getG());
                }
            }
            catch (ClassCastException e)
            {
                throw new IOException("Not a valid DH Parameter encoding.");
View Full Code Here

            {
                return currentSpec;
            }
            else if (paramSpec == DHParameterSpec.class)
            {
                return new DHParameterSpec(currentSpec.getP(), currentSpec.getG());
            }

            throw new InvalidParameterSpecException("unknown parameter spec passed to ElGamal parameters object.");
        }
View Full Code Here

            {
                this.currentSpec = (ElGamalParameterSpec)paramSpec;
            }
            else
            {
                DHParameterSpec s = (DHParameterSpec)paramSpec;
               
                this.currentSpec = new ElGamalParameterSpec(s.getP(), s.getG());
            }
        }
View Full Code Here

     * @throws InvalidAlgorithmParameterException
     */
    public KeyPair createKeys() throws NoSuchAlgorithmException, InvalidAlgorithmParameterException, InvalidKeySpecException {
        // initialize the parameter spec
        DHPublicKey publicKey = (DHPublicKey) this.getValueLinkPublicKey();
        DHParameterSpec dhParamSpec = publicKey.getParams();
        //Debug.log(dhParamSpec.getP().toString() + " / " + dhParamSpec.getG().toString(), module);

        // create the public/private key pair using parameters defined by valuelink
        KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DH");
        keyGen.initialize(dhParamSpec);
View Full Code Here

TOP

Related Classes of javax.crypto.spec.DHParameterSpec

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.