Package com.nimbusds.jose

Source Code of com.nimbusds.jose.JWSObjectTest

package com.nimbusds.jose;


import com.nimbusds.jose.crypto.MACSigner;
import junit.framework.TestCase;

import com.nimbusds.jose.util.Base64URL;


/**
* Tests JWS object methods.
*
* @author Vladimir Dzhuvinov
* @version $version$ (2014-07-09)
*/
public class JWSObjectTest extends TestCase {


  public void testBase64URLConstructor()
    throws Exception {

    JWSHeader header = new JWSHeader(JWSAlgorithm.RS256);

    Base64URL firstPart = header.toBase64URL();
    Base64URL secondPart = new Base64URL("abc");
    Base64URL thirdPart = new Base64URL("def");

    JWSObject jws = new JWSObject(firstPart, secondPart, thirdPart);

    assertEquals(firstPart, jws.getHeader().toBase64URL());
    assertEquals(secondPart, jws.getPayload().toBase64URL());
    assertEquals(thirdPart, jws.getSignature());

    assertEquals(firstPart.toString() + ".abc.def", jws.serialize());
    assertEquals(firstPart.toString() + ".abc.def", jws.getParsedString());

    assertEquals(JWSObject.State.SIGNED, jws.getState());
  }


  public void testSignAndSerialize()
    throws Exception {

    JWSHeader header = new JWSHeader(JWSAlgorithm.HS256);

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

    Base64URL signingInput = Base64URL.encode(jwsObject.getSigningInput());

    assertTrue(signingInput.equals(Base64URL.encode(jwsObject.getSigningInput())));

    jwsObject.sign(new MACSigner("1234567890abc"));

    String output = jwsObject.serialize();

    assertEquals(output, jwsObject.serialize());
  }
}
TOP

Related Classes of com.nimbusds.jose.JWSObjectTest

TOP
Copyright © 2018 www.massapi.com. 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.