Package com.nimbusds.jose.util

Examples of com.nimbusds.jose.util.Base64URL


          break;
        case "x5u":
          header = header.x509CertURL(JSONObjectUtils.getURL(jsonObject, name));
          break;
        case "x5t":
          header = header.x509CertThumbprint(new Base64URL(JSONObjectUtils.getString(jsonObject, name)));
          break;
        case "x5t#S256":
          header = header.x509CertSHA256Thumbprint(new Base64URL(JSONObjectUtils.getString(jsonObject, name)));
          break;
        case "x5c":
          header = header.x509CertChain(X509CertChainUtils.parseX509CertChain(JSONObjectUtils.getJSONArray(jsonObject, name)));
          break;
        case "kid":
          header = header.keyID(JSONObjectUtils.getString(jsonObject, name));
          break;
        case "epk":
          header = header.ephemeralPublicKey(ECKey.parse(JSONObjectUtils.getJSONObject(jsonObject, name)));
          break;
        case "zip":
          header = header.compressionAlgorithm(new CompressionAlgorithm(JSONObjectUtils.getString(jsonObject, name)));
          break;
        case "apu":
          header = header.agreementPartyUInfo(new Base64URL(JSONObjectUtils.getString(jsonObject, name)));
          break;
        case "apv":
          header = header.agreementPartyVInfo(new Base64URL(JSONObjectUtils.getString(jsonObject, name)));
          break;
        case "p2s":
          header = header.pbes2Salt(new Base64URL(JSONObjectUtils.getString(jsonObject, name)));
          break;
        case "p2c":
          header = header.pbes2Count(JSONObjectUtils.getInt(jsonObject, name));
          break;
        case "iv":
          header = header.iv(new Base64URL(JSONObjectUtils.getString(jsonObject, name)));
          break;
        case "tag":
          header = header.authTag(new Base64URL(JSONObjectUtils.getString(jsonObject, name)));
          break;
        default:
          header = header.customParam(name, jsonObject.get(name));
          break;
      }
View Full Code Here


  public void testSerializeAndParsePublicJWKSet()
    throws Exception {

    ECKey ecKey = new ECKey(ECKey.Curve.P_256,
        new Base64URL("abc"),
        new Base64URL("def"),
        KeyUse.ENCRYPTION,
              null,
        JWEAlgorithm.ECDH_ES,
        "1234",
        null, null, null);

    RSAKey rsaKey = new RSAKey(new Base64URL("abc"),
        new Base64URL("def"),
        KeyUse.SIGNATURE,
              null,
        JWSAlgorithm.RS256,
        "5678",
        null, null, null);
View Full Code Here

    assertTrue(key instanceof OctetSequenceKey);
    assertEquals(KeyType.OCT, key.getKeyType());
    assertNull(key.getKeyUse());
    assertEquals(JWEAlgorithm.A128KW, key.getAlgorithm());
    assertNull(key.getKeyID());
    assertEquals(new Base64URL("GawgguFyGrWKav7AX4VKUg"), ((OctetSequenceKey)key).getKeyValue());

    // Second OCT key
    key = keyList.get(1);
    assertTrue(key instanceof OctetSequenceKey);
    assertEquals(KeyType.OCT, key.getKeyType());
    assertNull(key.getKeyUse());
    assertNull(key.getKeyOperations());
    assertNull(key.getAlgorithm());
    assertEquals("HMAC key used in JWS A.1 example", key.getKeyID());
    assertEquals(new Base64URL("AyM1SysPpbyDfgZld3umj1qzKObwVMkoqQ-EstJQLr_T-1qS0gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr1Z9CAow"), ((OctetSequenceKey)key).getKeyValue());
  }
View Full Code Here


  public void testOctJWKSetPublicExport()
    throws Exception {

    OctetSequenceKey oct1 = new OctetSequenceKey.Builder(new Base64URL("abc")).build();
    assertEquals("abc", oct1.getKeyValue().toString());

    OctetSequenceKey oct2 = new OctetSequenceKey.Builder(new Base64URL("def")).build();
    assertEquals("def", oct2.getKeyValue().toString());

    List<JWK> keyList = new LinkedList<>();
    keyList.add(oct1);
    keyList.add(oct2);
View Full Code Here


  public void testOctJWKSetToPublic()
    throws Exception {

    OctetSequenceKey oct1 = new OctetSequenceKey.Builder(new Base64URL("abc")).build();
    assertEquals("abc", oct1.getKeyValue().toString());

    OctetSequenceKey oct2 = new OctetSequenceKey.Builder(new Base64URL("def")).build();
    assertEquals("def", oct2.getKeyValue().toString());

    List<JWK> keyList = new LinkedList<>();
    keyList.add(oct1);
    keyList.add(oct2);
View Full Code Here

    JWKSelector selector = new JWKSelector();
    selector.setPublicOnly(true);

    List<JWK> keyList = new ArrayList<>();
    keyList.add(new RSAKey.Builder(new Base64URL("n"), new Base64URL("e")).keyID("1").algorithm(JWSAlgorithm.RS256).build());
    keyList.add(new OctetSequenceKey.Builder(new Base64URL("k")).build());

    JWKSet jwkSet = new JWKSet(keyList);

    List<JWK> matches = selector.select(jwkSet);
View Full Code Here

    selector.setAlgorithm(JWSAlgorithm.RS256);
    selector.setKeyID("1");
    selector.setPublicOnly(true);

    List<JWK> keyList = new ArrayList<>();
    keyList.add(new RSAKey.Builder(new Base64URL("n"), new Base64URL("e")).keyID("1").keyUse(KeyUse.SIGNATURE).algorithm(JWSAlgorithm.RS256).build());
    keyList.add(new RSAKey.Builder(new Base64URL("n"), new Base64URL("e")).keyID("2").algorithm(JWSAlgorithm.RS256).build());

    JWKSet jwkSet = new JWKSet(keyList);

    List<JWK> matches = selector.select(jwkSet);
View Full Code Here

    final AuthenticatedCipherText authCiphCEK;

    AlgFamily algFamily;

    Base64URL encryptedKey; // The second JWE part

    if (alg.equals(JWEAlgorithm.A128KW)) {

      if(kek.getEncoded().length != 16){
        throw new JOSEException("The Key Encryption Key (KEK) length must be 128 bits for A128KW encryption");
View Full Code Here

    Set<String> crit = new HashSet<>();
    crit.add("iat");
    crit.add("exp");
    crit.add("nbf");

    final Base64URL mod = new Base64URL("abc123");
    final Base64URL exp = new Base64URL("def456");
    final KeyUse use = KeyUse.ENCRYPTION;
    final String kid = "1234";

    RSAKey jwk = new RSAKey(mod, exp, use, null, JWEAlgorithm.RSA1_5, kid, null, null, null);

    List<Base64> certChain = new LinkedList<>();
    certChain.add(new Base64("asd"));
    certChain.add(new Base64("fgh"));
    certChain.add(new Base64("jkl"));

    JWSHeader h = new JWSHeader.Builder(JWSAlgorithm.RS256).
      type(new JOSEObjectType("JWT")).
      contentType("application/json").
      criticalParams(crit).
      jwkURL(new URL("https://example.com/jku.json")).
      jwk(jwk).
      x509CertURL(new URL("https://example/cert.b64")).
      x509CertThumbprint(new Base64URL("789iop")).
      x509CertSHA256Thumbprint(new Base64URL("789asd")).
      x509CertChain(certChain).
      keyID("1234").
      customParam("xCustom", "+++").
      build();


    Base64URL base64URL = h.toBase64URL();

    // Parse back
    h = JWSHeader.parse(base64URL);

    assertEquals(JWSAlgorithm.RS256, h.getAlgorithm());
    assertEquals(new JOSEObjectType("JWT"), h.getType());
    assertTrue(h.getCriticalParams().contains("iat"));
    assertTrue(h.getCriticalParams().contains("exp"));
    assertTrue(h.getCriticalParams().contains("nbf"));
    assertEquals(3, h.getCriticalParams().size());
    assertEquals("application/json", h.getContentType());
    assertEquals(new URL("https://example.com/jku.json"), h.getJWKURL());
    assertEquals("1234", h.getKeyID());

    jwk = (RSAKey)h.getJWK();
    assertNotNull(jwk);
    assertEquals(new Base64URL("abc123"), jwk.getModulus());
    assertEquals(new Base64URL("def456"), jwk.getPublicExponent());
    assertEquals(KeyUse.ENCRYPTION, jwk.getKeyUse());
    assertEquals(JWEAlgorithm.RSA1_5, jwk.getAlgorithm());
    assertEquals("1234", jwk.getKeyID());

    assertEquals(new URL("https://example/cert.b64"), h.getX509CertURL());
    assertEquals(new Base64URL("789iop"), h.getX509CertThumbprint());
    assertEquals(new Base64URL("789asd"), h.getX509CertSHA256Thumbprint());

    certChain = h.getX509CertChain();
    assertEquals(3, certChain.size());
    assertEquals(new Base64("asd"), certChain.get(0));
    assertEquals(new Base64("fgh"), certChain.get(1));
    assertEquals(new Base64("jkl"), certChain.get(2));

    assertEquals("+++", (String)h.getCustomParam("xCustom"));
    assertEquals(1, h.getCustomParams().size());

    assertEquals(base64URL, h.getParsedBase64URL());

    assertTrue(h.getIncludedParams().contains("alg"));
    assertTrue(h.getIncludedParams().contains("typ"));
    assertTrue(h.getIncludedParams().contains("cty"));
    assertTrue(h.getIncludedParams().contains("crit"));
    assertTrue(h.getIncludedParams().contains("jku"));
    assertTrue(h.getIncludedParams().contains("jwk"));
    assertTrue(h.getIncludedParams().contains("kid"));
    assertTrue(h.getIncludedParams().contains("x5u"));
    assertTrue(h.getIncludedParams().contains("x5t"));
    assertTrue(h.getIncludedParams().contains("x5c"));
    assertTrue(h.getIncludedParams().contains("xCustom"));
    assertEquals(12, h.getIncludedParams().size());

    // Test copy constructor
    h = new JWSHeader(h);

    assertEquals(JWSAlgorithm.RS256, h.getAlgorithm());
    assertEquals(new JOSEObjectType("JWT"), h.getType());
    assertTrue(h.getCriticalParams().contains("iat"));
    assertTrue(h.getCriticalParams().contains("exp"));
    assertTrue(h.getCriticalParams().contains("nbf"));
    assertEquals(3, h.getCriticalParams().size());
    assertEquals("application/json", h.getContentType());
    assertEquals(new URL("https://example.com/jku.json"), h.getJWKURL());
    assertEquals("1234", h.getKeyID());

    jwk = (RSAKey)h.getJWK();
    assertNotNull(jwk);
    assertEquals(new Base64URL("abc123"), jwk.getModulus());
    assertEquals(new Base64URL("def456"), jwk.getPublicExponent());
    assertEquals(KeyUse.ENCRYPTION, jwk.getKeyUse());
    assertEquals(JWEAlgorithm.RSA1_5, jwk.getAlgorithm());
    assertEquals("1234", jwk.getKeyID());

    assertEquals(new URL("https://example/cert.b64"), h.getX509CertURL());
    assertEquals(new Base64URL("789iop"), h.getX509CertThumbprint());
    assertEquals(new Base64URL("789asd"), h.getX509CertSHA256Thumbprint());

    certChain = h.getX509CertChain();
    assertEquals(3, certChain.size());
    assertEquals(new Base64("asd"), certChain.get(0));
    assertEquals(new Base64("fgh"), certChain.get(1));
View Full Code Here

  public void testParseBase64URLText()
    throws Exception {

    // Example header from JWS spec

    Base64URL in = new Base64URL("eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9");

    JWSHeader h = JWSHeader.parse(in);

    assertEquals(in, h.toBase64URL());
View Full Code Here

TOP

Related Classes of com.nimbusds.jose.util.Base64URL

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.