Package java.security.interfaces

Examples of java.security.interfaces.ECPublicKey


    assertEquals("AAhRON2r9cqXX1hg-RoI6R1tX5p2rUAYdmpHZoC1XNM56KtscrX6zb" +
      "KipQrCW9CGZH3T4ubpnoTKLDYJ_fF3_rJt", jwk.getD().toString());

    // Convert to Java EC key object
    ECPublicKey ecPublicKey = jwk.toECPublicKey();
    ECPrivateKey ecPrivateKey = jwk.toECPrivateKey();

    jwk = new ECKey.Builder(ECKey.Curve.P_521, ecPublicKey).privateKey(ecPrivateKey).build();

    assertEquals("AHKZLLOsCOzz5cY97ewNUajB957y-C-U88c3v13nmGZx6sYl_oJXu9" +
View Full Code Here


       {
               return new X509EncodedKeySpec(key.getEncoded());
       }
       else if (spec.isAssignableFrom(java.security.spec.ECPublicKeySpec.class) && key instanceof ECPublicKey)
       {
           ECPublicKey k = (ECPublicKey)key;
           if (k.getParams() != null)
           {
               return new java.security.spec.ECPublicKeySpec(k.getW(), k.getParams());
           }
           else
           {
               ECParameterSpec implicitSpec = ProviderUtil.getEcImplicitlyCa();

               return new java.security.spec.ECPublicKeySpec(k.getW(), EC5Util.convertSpec(EC5Util.convertCurve(implicitSpec.getCurve(), implicitSpec.getSeed()), implicitSpec));
           }
       }
       else if (spec.isAssignableFrom(java.security.spec.ECPrivateKeySpec.class) && key instanceof ECPrivateKey)
       {
           ECPrivateKey k = (ECPrivateKey)key;

           if (k.getParams() != null)
           {
               return new java.security.spec.ECPrivateKeySpec(k.getS(), k.getParams());
           }
           else
           {
               ECParameterSpec implicitSpec = ProviderUtil.getEcImplicitlyCa();

               return new java.security.spec.ECPrivateKeySpec(k.getS(), EC5Util.convertSpec(EC5Util.convertCurve(implicitSpec.getCurve(), implicitSpec.getSeed()), implicitSpec));
           }
       }

       throw new RuntimeException("not implemented yet " + key + " " + spec);
    }
View Full Code Here

        return encodedPoint;
    }

    // Called by the client with its ephemeral public key.
    ECDHClientKeyExchange(PublicKey publicKey) {
        ECPublicKey ecKey = (ECPublicKey)publicKey;
        ECPoint point = ecKey.getW();
        ECParameterSpec params = ecKey.getParams();
        encodedPoint = JsseJce.encodePoint(point, params.getCurve());
    }
View Full Code Here

    private void serverKeyExchange(ECDH_ServerKeyExchange mesg) throws IOException {
        if (debug != null && Debug.isOn("handshake")) {
            mesg.print(System.out);
        }
        ECPublicKey key = mesg.getPublicKey();
        ecdh = new ECDHCrypt(key.getParams(), sslContext.getSecureRandom());
        ephemeralServerKey = key;
    }
View Full Code Here

          keyFab.generatePrivate(new PKCS8EncodedKeySpec(tmp));
          ECPrivateKeySpec ecPrivSpec = new ECPrivateKeySpec(ecPrivKey.getS(),
              ecPrivKey.getParams());
          keyFab.generatePrivate(ecPrivSpec);

          ECPublicKey ecPubKey = (ECPublicKey) ecKeyPair.getPublic();
          tmp = ecPubKey.getEncoded(); // dont modify tmp now - is used below
          keyFab.generatePublic(new X509EncodedKeySpec(tmp));
          ECPublicKeySpec ecPubSpec = new ECPublicKeySpec(ecPubKey.getW(),
              ecPubKey.getParams());
          keyFab.generatePublic(ecPubSpec);

          Signature ecdsa = Signature.getInstance(ecdsas[s], gooProv);
          ecdsa.initSign(ecPrivKey);
          ecdsa.update(tmp);
          byte[] sig = ecdsa.sign();
          ecdsa.initVerify(ecPubKey);
          ecdsa.update(tmp);
          if (!ecdsa.verify(sig))
            throw new RuntimeException("Signature not verified: "
                + keyLengths[i]);

          // Cross verify using NSS if present
          if (nssProv != null) {
            keyFab = KeyFactory.getInstance("EC", nssProv);

            // For some reason NSS doesnt seem to work for P-192 and P-224?!
            if (keyLengths[i] == 192 || keyLengths[i] == 224) continue;

            ECPrivateKey nssPrivKey = (ECPrivateKey) keyFab
                .generatePrivate(new PKCS8EncodedKeySpec(ecPrivKey.getEncoded()));
            ECPublicKey nssPubKey = (ECPublicKey) keyFab
                .generatePublic(new X509EncodedKeySpec(ecPubKey.getEncoded()));

            ecdsa = Signature.getInstance(ecdsas[s], nssProv);
            ecdsa.initVerify(nssPubKey);
            ecdsa.update(tmp);
View Full Code Here

    private void serverKeyExchange(ECDH_ServerKeyExchange mesg)
            throws IOException {
        if (debug != null && Debug.isOn("handshake")) {
            mesg.print(System.out);
        }
        ECPublicKey key = mesg.getPublicKey();
        ecdh = new ECDHCrypt(key.getParams(), sslContext.getSecureRandom());
        ephemeralServerKey = key;
    }
View Full Code Here

  public void testES256()
    throws Exception {

    // Create the public and private keys
    KeyPair keyPair = createECKeyPair(EC256SPEC);
    ECPublicKey publicKey = (ECPublicKey) keyPair.getPublic();
    ECPrivateKey privateKey = (ECPrivateKey) keyPair.getPrivate();

    // Creates initial unsigned JWS object
    JWSObject jwsObject = createInitialJWSObject(JWSAlgorithm.ES256);

    // Initialise signer
    JWSSigner signer = new ECDSASigner(privateKey.getS());

    jwsObject.sign(signer);

    assertEquals(JWSObject.State.SIGNED, jwsObject.getState());

    // Initialise verifier
    BigInteger x = publicKey.getW().getAffineX();
    BigInteger y = publicKey.getW().getAffineY();
    JWSVerifier verifier = new ECDSAVerifier(x, y);

    boolean verified = jwsObject.verify(verifier);

    assertTrue("EC256 signature verified", verified);
View Full Code Here

  public void testES384()
    throws Exception {

    // Create the public and private keys
    KeyPair keyPair = createECKeyPair(EC384SPEC);
    ECPublicKey publicKey = (ECPublicKey) keyPair.getPublic();
    ECPrivateKey privateKey = (ECPrivateKey) keyPair.getPrivate();

    // Creates initial unsigned JWS object
    JWSObject jwsObject = createInitialJWSObject(JWSAlgorithm.ES384);

    // Initialise signer
    JWSSigner signer = new ECDSASigner(privateKey.getS());

    jwsObject.sign(signer);

    assertEquals(JWSObject.State.SIGNED, jwsObject.getState());

    // Initialise verifier
    BigInteger x = publicKey.getW().getAffineX();
    BigInteger y = publicKey.getW().getAffineY();
    JWSVerifier verifier = new ECDSAVerifier(x, y);

    boolean verified = jwsObject.verify(verifier);

    assertTrue("EC384 signature verified", verified);
View Full Code Here

  public void testES512()
    throws Exception {

    // Create the public and private keys
    KeyPair keyPair = createECKeyPair(EC512SPEC);
    ECPublicKey publicKey = (ECPublicKey) keyPair.getPublic();
    ECPrivateKey privateKey = (ECPrivateKey) keyPair.getPrivate();

    // Creates initial unsigned JWS object
    JWSObject jwsObject = createInitialJWSObject(JWSAlgorithm.ES512);

    // Initialise signer
    JWSSigner signer = new ECDSASigner(privateKey.getS());

    jwsObject.sign(signer);

    assertEquals(JWSObject.State.SIGNED, jwsObject.getState());

    // Initialise verifier
    BigInteger x = publicKey.getW().getAffineX();
    BigInteger y = publicKey.getW().getAffineY();
    JWSVerifier verifier = new ECDSAVerifier(x, y);

    boolean verified = jwsObject.verify(verifier);

    assertTrue("EC512 signature verified", verified);
View Full Code Here

      customParam("exp", "2014-04-24").
      criticalParams(new HashSet<>(Arrays.asList("exp"))).
      build();

    KeyPair keyPair = createECKeyPair(EC512SPEC);
    ECPublicKey publicKey = (ECPublicKey) keyPair.getPublic();
    ECPrivateKey privateKey = (ECPrivateKey) keyPair.getPrivate();

    JWSObject jwsObject = new JWSObject(header, new Payload("Hello world!"));

    JWSSigner signer = new ECDSASigner(privateKey.getS());

    jwsObject.sign(signer);

    assertEquals(JWSObject.State.SIGNED, jwsObject.getState());

    BigInteger x = publicKey.getW().getAffineX();
    BigInteger y = publicKey.getW().getAffineY();
    JWSVerifier verifier = new ECDSAVerifier(x, y);
    verifier.getIgnoredCriticalHeaderParameters().add("exp");

    boolean verified = jwsObject.verify(verifier);
View Full Code Here

TOP

Related Classes of java.security.interfaces.ECPublicKey

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.