Package com.nimbusds.jose

Examples of com.nimbusds.jose.JWSObject


    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


    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

    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

    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);

    assertTrue("Verified signature", verified);

    assertEquals("State check", JWSObject.State.VERIFIED, jwsObject.getState());
  }
View Full Code Here

    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);

    boolean verified = jwsObject.verify(verifier);

    assertFalse("Verified signature", verified);

    assertEquals("State check", JWSObject.State.SIGNED, jwsObject.getState());
  }
View Full Code Here

    JWSHeader header = JWSHeader.parse(b64header);

    assertEquals("ES256 alg check", JWSAlgorithm.ES256, header.getAlgorithm());

    JWSObject jwsObject = new JWSObject(header, payload);

    assertEquals("State check", JWSObject.State.UNSIGNED, jwsObject.getState());


    ECDSASigner signer = new ECDSASigner(new BigInteger(1, d));
    assertEquals("Private key check", new BigInteger(1, d), signer.getPrivateKey());

    jwsObject.sign(signer);

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


    ECDSAVerifier verifier = new ECDSAVerifier(new BigInteger(1, x), new BigInteger(1, y));
    assertEquals("X check", new BigInteger(1, x), verifier.getX());
    assertEquals("Y check", new BigInteger(1, y), verifier.getY());

    boolean verified = jwsObject.verify(verifier);

    assertTrue("Verified signature", verified);

    assertEquals("State check", JWSObject.State.VERIFIED, jwsObject.getState());
  }
View Full Code Here

  public void testParseAndVerify()
    throws Exception {

    String s = b64header.toString() + "." + payload.toBase64URL().toString() + "." + b64sig.toString();

    JWSObject jwsObject = JWSObject.parse(s);

    assertEquals(s, jwsObject.getParsedString());

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

    JWSVerifier verifier =  new ECDSAVerifier(new BigInteger(1, x), new BigInteger(1, y));

    boolean verified = jwsObject.verify(verifier);

    assertTrue("Signature check", verified);

    assertEquals("State check", JWSObject.State.VERIFIED, jwsObject.getState());
  }
View Full Code Here

   
    System.out.println("JWS header: " + header.toJSONObject());
   
   
    // Create JWS object
    JWSObject jwsObject = new JWSObject(header, payload);
   
   
    // Create HMAC signer
    String sharedKey = "a0a2abd8-6162-41c3-83d6-1cf559b46afc";
   
    System.out.println("HMAC key: " + sharedKey);
   
    JWSSigner signer = new MACSigner(sharedKey.getBytes());
   
    try {
      jwsObject.sign(signer);
     
    } catch (JOSEException e) {
   
      System.err.println("Couldn't sign JWS object: " + e.getMessage());
      return;
    }
   
   
    // Serialise JWS object to compact format
    String s = jwsObject.serialize();
   
    System.out.println("Serialised JWS object: " + s);
   
   
   
    // Parse back and check signature
   
    try {
      jwsObject = JWSObject.parse(s);
     
    } catch (ParseException e) {
   
      System.err.println("Couldn't parse JWS object: " + e.getMessage());
      return;
    }
   
    System.out.println("JWS object successfully parsed");
   
    JWSVerifier verifier = new MACVerifier(sharedKey.getBytes());
   
    boolean verifiedSignature = false;
   
    try {
      verifiedSignature = jwsObject.verify(verifier);
     
    } catch (JOSEException e) {
   
      System.err.println("Couldn't verify signature: " + e.getMessage());
    }
   
    if (verifiedSignature) {
   
      System.out.println("Verified JWS signature!");
    }
    else {
      System.out.println("Bad JWS signature!");
      return;
    }
   
   
    System.out.println("Recovered payload message: " + jwsObject.getPayload());
  }
View Full Code Here

  private static JWSObject createInitialJWSObject(final JWSAlgorithm alg) {

    JWSHeader header = new JWSHeader(alg);
    header.setContentType("text/plain");

    return new JWSObject(header, new Payload("Hello world!"));
  }
View Full Code Here

    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

TOP

Related Classes of com.nimbusds.jose.JWSObject

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.