com.auth0.jwt.algorithms.Algorithm.ECDSA384()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(11.2k)|赞(0)|评价(0)|浏览(353)

本文整理了Java中com.auth0.jwt.algorithms.Algorithm.ECDSA384()方法的一些代码示例,展示了Algorithm.ECDSA384()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Algorithm.ECDSA384()方法的具体详情如下:
包路径:com.auth0.jwt.algorithms.Algorithm
类名称:Algorithm
方法名:ECDSA384

Algorithm.ECDSA384介绍

[英]Creates a new Algorithm instance using SHA384withECDSA. Tokens specify this as "ES384".
[中]使用SHA384withECDSA创建新的算法实例。令牌将其指定为“ES384”。

代码示例

代码示例来源:origin: auth0/java-jwt

/**
 * Creates a new Algorithm instance using SHA384withECDSA. Tokens specify this as "ES384".
 *
 * @param publicKey  the key to use in the verify instance.
 * @param privateKey the key to use in the signing instance.
 * @return a valid ECDSA384 Algorithm.
 * @throws IllegalArgumentException if the provided Key is null.
 */
public static Algorithm ECDSA384(ECPublicKey publicKey, ECPrivateKey privateKey) throws IllegalArgumentException {
  return ECDSA384(ECDSAAlgorithm.providerForKeys(publicKey, privateKey));
}

代码示例来源:origin: auth0/java-jwt

@Test
public void shouldCreateECDSA384AlgorithmWithPublicKey() throws Exception {
  ECKey key = mock(ECKey.class, withSettings().extraInterfaces(ECPublicKey.class));
  Algorithm algorithm = Algorithm.ECDSA384(key);
  assertThat(algorithm, is(notNullValue()));
  assertThat(algorithm, is(instanceOf(ECDSAAlgorithm.class)));
  assertThat(algorithm.getDescription(), is("SHA384withECDSA"));
  assertThat(algorithm.getName(), is("ES384"));
}

代码示例来源:origin: auth0/java-jwt

@Test
public void shouldCreateECDSA384AlgorithmWithPrivateKey() throws Exception {
  ECKey key = mock(ECKey.class, withSettings().extraInterfaces(ECPrivateKey.class));
  Algorithm algorithm = Algorithm.ECDSA384(key);
  assertThat(algorithm, is(notNullValue()));
  assertThat(algorithm, is(instanceOf(ECDSAAlgorithm.class)));
  assertThat(algorithm.getDescription(), is("SHA384withECDSA"));
  assertThat(algorithm.getName(), is("ES384"));
}

代码示例来源:origin: auth0/java-jwt

@Test
public void shouldFailECDSA384VerificationOnInvalidJOSESignature() throws Exception {
  exception.expect(SignatureVerificationException.class);
  exception.expectMessage("The Token's Signature resulted invalid when verified using the Algorithm: SHA384withECDSA");
  byte[] bytes = new byte[96];
  new SecureRandom().nextBytes(bytes);
  String signature = Base64.encodeBase64URLSafeString(bytes);
  String jwt = "eyJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJhdXRoMCJ9." + signature;
  Algorithm algorithm = Algorithm.ECDSA384((ECKey) readPublicKeyFromFile(INVALID_PUBLIC_KEY_FILE_384, "EC"));
  algorithm.verify(JWT.decode(jwt));
}

代码示例来源:origin: auth0/java-jwt

@Test
public void shouldFailECDSA384VerificationOnInvalidDERSignature() throws Exception {
  exception.expect(SignatureVerificationException.class);
  exception.expectMessage("The Token's Signature resulted invalid when verified using the Algorithm: SHA384withECDSA");
  byte[] bytes = new byte[96];
  new SecureRandom().nextBytes(bytes);
  bytes[0] = 0x30;
  String signature = Base64.encodeBase64URLSafeString(bytes);
  String jwt = "eyJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJhdXRoMCJ9." + signature;
  Algorithm algorithm = Algorithm.ECDSA384((ECKey) readPublicKeyFromFile(INVALID_PUBLIC_KEY_FILE_384, "EC"));
  algorithm.verify(JWT.decode(jwt));
}

代码示例来源:origin: auth0/java-jwt

@Test
public void shouldThrowECDSA384InstanceWithNullKeys() throws Exception {
  exception.expect(IllegalArgumentException.class);
  exception.expectMessage("Both provided Keys cannot be null.");
  Algorithm.ECDSA384(null, null);
}

代码示例来源:origin: auth0/java-jwt

@Test
public void shouldThrowECDSA384InstanceWithNullKeyProvider() throws Exception {
  exception.expect(IllegalArgumentException.class);
  exception.expectMessage("The Key Provider cannot be null.");
  ECDSAKeyProvider provider = null;
  Algorithm.ECDSA384(provider);
}

代码示例来源:origin: auth0/java-jwt

@Test
public void shouldDoECDSA384SigningWithProvidedPrivateKey() throws Exception {
  ECDSAKeyProvider provider = mock(ECDSAKeyProvider.class);
  PrivateKey privateKey = readPrivateKeyFromFile(PRIVATE_KEY_FILE_384, "EC");
  PublicKey publicKey = readPublicKeyFromFile(PUBLIC_KEY_FILE_384, "EC");
  when(provider.getPrivateKey()).thenReturn((ECPrivateKey) privateKey);
  when(provider.getPublicKeyById(null)).thenReturn((ECPublicKey) publicKey);
  Algorithm algorithm = Algorithm.ECDSA384(provider);
  
  String jwt = asJWT(algorithm, ES384Header, auth0IssPayload);
  assertSignaturePresent(jwt);
  algorithm.verify(JWT.decode(jwt));
}

代码示例来源:origin: auth0/java-jwt

@Test
public void shouldAcceptECDSA384Algorithm() throws Exception {
  String token = "eyJhbGciOiJFUzM4NCJ9.eyJpc3MiOiJhdXRoMCJ9.50UU5VKNdF1wfykY8jQBKpvuHZoe6IZBJm5NvoB8bR-hnRg6ti-CHbmvoRtlLfnHfwITa_8cJMy6TenMC2g63GQHytc8rYoXqbwtS4R0Ko_AXbLFUmfxnGnMC6v4MS_z";
  ECKey key = (ECKey) PemUtils.readPublicKeyFromFile(PUBLIC_KEY_FILE_EC_384, "EC");
  DecodedJWT jwt = JWT.require(Algorithm.ECDSA384(key))
      .build()
      .verify(token);
  assertThat(jwt, is(notNullValue()));
}

代码示例来源:origin: auth0/java-jwt

@Test
public void shouldDoECDSA384Signing() throws Exception {
  Algorithm algorithmSign = Algorithm.ECDSA384((ECKey) readPrivateKeyFromFile(PRIVATE_KEY_FILE_384, "EC"));
  Algorithm algorithmVerify = Algorithm.ECDSA384((ECKey) readPublicKeyFromFile(PUBLIC_KEY_FILE_384, "EC"));
  String jwt = asJWT(algorithmSign, ES384Header, auth0IssPayload);
  assertSignaturePresent(jwt);
  algorithmVerify.verify(JWT.decode(jwt));
}

代码示例来源:origin: auth0/java-jwt

@Test
public void shouldFailOnECDSA384SigningWhenProvidedPrivateKeyIsNull() throws Exception {
  exception.expect(SignatureGenerationException.class);
  exception.expectMessage("The Token's Signature couldn't be generated when signing using the Algorithm: SHA384withECDSA");
  exception.expectCause(isA(IllegalStateException.class));
  exception.expectCause(hasMessage(is("The given Private Key is null.")));
  ECDSAKeyProvider provider = mock(ECDSAKeyProvider.class);
  when(provider.getPrivateKey()).thenReturn(null);
  Algorithm algorithm = Algorithm.ECDSA384(provider);
  algorithm.sign(new byte[0], new byte[0]);
}

代码示例来源:origin: auth0/java-jwt

@Test
public void shouldPassECDSA384VerificationWithJOSESignature() throws Exception {
  String jwt = "eyJhbGciOiJFUzM4NCJ9.eyJpc3MiOiJhdXRoMCJ9.50UU5VKNdF1wfykY8jQBKpvuHZoe6IZBJm5NvoB8bR-hnRg6ti-CHbmvoRtlLfnHfwITa_8cJMy6TenMC2g63GQHytc8rYoXqbwtS4R0Ko_AXbLFUmfxnGnMC6v4MS_z";
  ECKey key = (ECKey) readPublicKeyFromFile(PUBLIC_KEY_FILE_384, "EC");
  Algorithm algorithm = Algorithm.ECDSA384(key);
  algorithm.verify(JWT.decode(jwt));
}

代码示例来源:origin: auth0/java-jwt

@Test
public void shouldFailECDSA384VerificationWhenProvidedPublicKeyIsNull() throws Exception {
  exception.expect(SignatureVerificationException.class);
  exception.expectMessage("The Token's Signature resulted invalid when verified using the Algorithm: SHA384withECDSA");
  exception.expectCause(isA(IllegalStateException.class));
  exception.expectCause(hasMessage(is("The given Public Key is null.")));
  ECDSAKeyProvider provider = mock(ECDSAKeyProvider.class);
  when(provider.getPublicKeyById("my-key-id")).thenReturn(null);
  String jwt = "eyJhbGciOiJFUzM4NCIsImtpZCI6Im15LWtleS1pZCJ9.eyJpc3MiOiJhdXRoMCJ9.9kjGuFTPx3ylfpqL0eY9H7TGmPepjQOBKI8UPoEvby6N7dDLF5HxLohosNxxFymNT7LzpeSgOPAB0wJEwG2Nl2ukgdUOpZOf492wog_i5ZcZmAykd3g1QH7onrzd69GU";
  Algorithm algorithm = Algorithm.ECDSA384(provider);
  algorithm.verify(JWT.decode(jwt));
}

代码示例来源:origin: auth0/java-jwt

@Test
public void shouldPassECDSA384VerificationWithJOSESignature() throws Exception {
  String jwt = "eyJhbGciOiJFUzM4NCJ9.eyJpc3MiOiJhdXRoMCJ9.50UU5VKNdF1wfykY8jQBKpvuHZoe6IZBJm5NvoB8bR-hnRg6ti-CHbmvoRtlLfnHfwITa_8cJMy6TenMC2g63GQHytc8rYoXqbwtS4R0Ko_AXbLFUmfxnGnMC6v4MS_z";
  ECKey key = (ECKey) readPublicKeyFromFile(PUBLIC_KEY_FILE_384, "EC");
  Algorithm algorithm = Algorithm.ECDSA384(key);
  algorithm.verify(JWT.decode(jwt));
}

代码示例来源:origin: auth0/java-jwt

@Test
public void shouldPassECDSA384VerificationWithJOSESignatureWithBothKeys() throws Exception {
  String jwt = "eyJhbGciOiJFUzM4NCJ9.eyJpc3MiOiJhdXRoMCJ9.50UU5VKNdF1wfykY8jQBKpvuHZoe6IZBJm5NvoB8bR-hnRg6ti-CHbmvoRtlLfnHfwITa_8cJMy6TenMC2g63GQHytc8rYoXqbwtS4R0Ko_AXbLFUmfxnGnMC6v4MS_z";
  Algorithm algorithm = Algorithm.ECDSA384((ECPublicKey) readPublicKeyFromFile(PUBLIC_KEY_FILE_384, "EC"), (ECPrivateKey) readPrivateKeyFromFile(PRIVATE_KEY_FILE_384, "EC"));
  algorithm.verify(JWT.decode(jwt));
}

代码示例来源:origin: auth0/java-jwt

@Test
public void shouldPassECDSA384VerificationWithJOSESignature() throws Exception {
  String token = "eyJhbGciOiJFUzM4NCJ9.eyJpc3MiOiJhdXRoMCJ9.50UU5VKNdF1wfykY8jQBKpvuHZoe6IZBJm5NvoB8bR-hnRg6ti-CHbmvoRtlLfnHfwITa_8cJMy6TenMC2g63GQHytc8rYoXqbwtS4R0Ko_AXbLFUmfxnGnMC6v4MS_z";
  ECKey key = (ECKey) readPublicKeyFromFile(PUBLIC_KEY_FILE_384, "EC");
  Algorithm algorithm = Algorithm.ECDSA384(key);
  JWTVerifier verifier = JWTVerifier.init(algorithm).withIssuer("auth0").build();
  concurrentVerify(verifier, token);
}

代码示例来源:origin: auth0/java-jwt

@Test
public void shouldThrowOnECDSA384VerificationWithDERSignature() throws Exception {
  exception.expect(SignatureVerificationException.class);
  exception.expectMessage("The Token's Signature resulted invalid when verified using the Algorithm: SHA384withECDSA");
  exception.expectCause(isA(SignatureException.class));
  exception.expectCause(hasMessage(is("Invalid JOSE signature format.")));
  String jwt = "eyJhbGciOiJFUzM4NCJ9.eyJpc3MiOiJhdXRoMCJ9.MGUCMQDnRRTlUo10XXB/KRjyNAEqm+4dmh7ohkEmbk2+gHxtH6GdGDq2L4Idua+hG2Ut+ccCMH8CE2v/HCTMuk3pzAtoOtxkB8rXPK2KF6m8LUuEdCqPwF2yxVJn8ZxpzAur+DEv8w==";
  ECKey key = (ECKey) readPublicKeyFromFile(PUBLIC_KEY_FILE_384, "EC");
  Algorithm algorithm = Algorithm.ECDSA384(key);
  algorithm.verify(JWT.decode(jwt));
}

代码示例来源:origin: auth0/java-jwt

@Test
public void shouldThrowOnECDSA384VerificationWithDERSignature() throws Exception {
  exception.expect(SignatureVerificationException.class);
  exception.expectMessage("The Token's Signature resulted invalid when verified using the Algorithm: SHA384withECDSA");
  exception.expectCause(isA(SignatureException.class));
  exception.expectCause(hasMessage(is("Invalid JOSE signature format.")));
  String jwt = "eyJhbGciOiJFUzM4NCJ9.eyJpc3MiOiJhdXRoMCJ9.MGUCMQDnRRTlUo10XXB/KRjyNAEqm+4dmh7ohkEmbk2+gHxtH6GdGDq2L4Idua+hG2Ut+ccCMH8CE2v/HCTMuk3pzAtoOtxkB8rXPK2KF6m8LUuEdCqPwF2yxVJn8ZxpzAur+DEv8w==";
  ECKey key = (ECKey) readPublicKeyFromFile(PUBLIC_KEY_FILE_384, "EC");
  Algorithm algorithm = Algorithm.ECDSA384(key);
  algorithm.verify(JWT.decode(jwt));
}

代码示例来源:origin: auth0/java-jwt

@Test
public void shouldFailECDSA384VerificationWhenUsingPrivateKey() throws Exception {
  exception.expect(SignatureVerificationException.class);
  exception.expectMessage("The Token's Signature resulted invalid when verified using the Algorithm: SHA384withECDSA");
  exception.expectCause(isA(IllegalStateException.class));
  exception.expectCause(hasMessage(is("The given Public Key is null.")));
  String jwt = "eyJhbGciOiJFUzM4NCJ9.eyJpc3MiOiJhdXRoMCJ9._k5h1KyO-NE0R2_HAw0-XEc0bGT5atv29SxHhOGC9JDqUHeUdptfCK_ljQ01nLVt2OQWT2SwGs-TuyHDFmhPmPGFZ9wboxvq_ieopmYqhQilNAu-WF-frioiRz9733fU";
  Algorithm algorithm = Algorithm.ECDSA384((ECKey) readPrivateKeyFromFile(PRIVATE_KEY_FILE_384, "EC"));
  algorithm.verify(JWT.decode(jwt));
}

代码示例来源:origin: auth0/java-jwt

@Test
public void shouldDoECDSA384SigningWithBothKeys() throws Exception {
  Algorithm algorithm = Algorithm.ECDSA384((ECPublicKey) readPublicKeyFromFile(PUBLIC_KEY_FILE_384, "EC"), (ECPrivateKey) readPrivateKeyFromFile(PRIVATE_KEY_FILE_384, "EC"));
  String jwt = asJWT(algorithm, ES384Header, auth0IssPayload);
  assertSignaturePresent(jwt);
  algorithm.verify(JWT.decode(jwt));
}

相关文章