mirror of https://github.com/jwtk/jjwt.git
tests
This commit is contained in:
parent
f1e1eecc25
commit
e8ba6192f3
|
@ -22,6 +22,8 @@ import javax.crypto.SecretKey;
|
|||
import javax.crypto.spec.SecretKeySpec;
|
||||
import java.security.Key;
|
||||
import java.security.SecureRandom;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
|
||||
public abstract class MacProvider extends SignatureProvider {
|
||||
|
||||
|
@ -44,6 +46,20 @@ public abstract class MacProvider extends SignatureProvider {
|
|||
return generateKey(SignatureAlgorithm.HS512);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a collection of new secure-random 512 bit secret key suitable for creating and verifying HMAC signatures. This is a
|
||||
* convenience method that immediately delegates to {@link #generateKey(SignatureAlgorithm)} using {@link
|
||||
* SignatureAlgorithm#HS512} as the method argument.
|
||||
*
|
||||
* @return a new secure-random 512 bit secret key suitable for creating and verifying HMAC signatures.
|
||||
* @see #generateKey(SignatureAlgorithm)
|
||||
* @see #generateKey(SignatureAlgorithm, SecureRandom)
|
||||
* @since 0.5
|
||||
*/
|
||||
public static Collection<SecretKey> generateKeys(int howMany) {
|
||||
return generateKeys(SignatureAlgorithm.HS512, howMany);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a new secure-random secret key of a length suitable for creating and verifying HMAC signatures
|
||||
* according to the specified {@code SignatureAlgorithm} using JJWT's default {@link
|
||||
|
@ -62,6 +78,27 @@ public abstract class MacProvider extends SignatureProvider {
|
|||
return generateKey(alg, SignatureProvider.DEFAULT_SECURE_RANDOM);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a new secure-random secret key of a length suitable for creating and verifying HMAC signatures
|
||||
* according to the specified {@code SignatureAlgorithm} using JJWT's default {@link
|
||||
* SignatureProvider#DEFAULT_SECURE_RANDOM SecureRandom instance}. This is a convenience method that immediately
|
||||
* delegates to {@link #generateKey(SignatureAlgorithm, SecureRandom)}.
|
||||
*
|
||||
* @param alg the desired signature algorithm
|
||||
* @return a new secure-random secret key of a length suitable for creating and verifying HMAC signatures according
|
||||
* to the specified {@code SignatureAlgorithm} using JJWT's default {@link SignatureProvider#DEFAULT_SECURE_RANDOM
|
||||
* SecureRandom instance}.
|
||||
* @see #generateKey()
|
||||
* @see #generateKey(SignatureAlgorithm, SecureRandom)
|
||||
* @since 0.5
|
||||
*/
|
||||
public static Collection<SecretKey> generateKeys(SignatureAlgorithm alg, int howMany) {
|
||||
Collection<SecretKey> keys = new ArrayList<SecretKey>();
|
||||
for (int i=0;i<howMany;i++)
|
||||
keys.add(generateKey(alg, SignatureProvider.DEFAULT_SECURE_RANDOM));
|
||||
return keys;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a new secure-random secret key of a length suitable for creating and verifying HMAC signatures
|
||||
* according to the specified {@code SignatureAlgorithm} using the specified SecureRandom number generator. This
|
||||
|
|
|
@ -24,7 +24,7 @@ class DefaultSignatureValidatorFactoryTest {
|
|||
@Test
|
||||
void testNoneAlgorithm() {
|
||||
try {
|
||||
new DefaultSignatureValidatorFactory().createSignatureValidator(SignatureAlgorithm.NONE, MacProvider.generateKey())
|
||||
new DefaultSignatureValidatorFactory().createSignatureValidator(SignatureAlgorithm.NONE, MacProvider.generateKeys(1))
|
||||
fail()
|
||||
} catch (IllegalArgumentException iae) {
|
||||
assertEquals iae.message, "The 'NONE' algorithm cannot be used for signing."
|
||||
|
|
Loading…
Reference in New Issue