|
@@ -15,7 +15,7 @@
|
|
*/
|
|
*/
|
|
package org.springframework.security.crypto.keygen;
|
|
package org.springframework.security.crypto.keygen;
|
|
|
|
|
|
-import java.util.Base64;
|
|
|
|
|
|
+import org.springframework.security.crypto.codec.Base64;
|
|
|
|
|
|
/**
|
|
/**
|
|
* A StringKeyGenerator that generates base64-encoded String keys. Delegates to a
|
|
* A StringKeyGenerator that generates base64-encoded String keys. Delegates to a
|
|
@@ -28,7 +28,6 @@ import java.util.Base64;
|
|
public class Base64StringKeyGenerator implements StringKeyGenerator {
|
|
public class Base64StringKeyGenerator implements StringKeyGenerator {
|
|
private static final int DEFAULT_KEY_LENGTH = 32;
|
|
private static final int DEFAULT_KEY_LENGTH = 32;
|
|
private final BytesKeyGenerator keyGenerator;
|
|
private final BytesKeyGenerator keyGenerator;
|
|
- private final Base64.Encoder encoder;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* Creates an instance with keyLength of 32 bytes and standard Base64 encoding.
|
|
* Creates an instance with keyLength of 32 bytes and standard Base64 encoding.
|
|
@@ -43,37 +42,16 @@ public class Base64StringKeyGenerator implements StringKeyGenerator {
|
|
* @param keyLength the key length in bytes
|
|
* @param keyLength the key length in bytes
|
|
*/
|
|
*/
|
|
public Base64StringKeyGenerator(int keyLength) {
|
|
public Base64StringKeyGenerator(int keyLength) {
|
|
- this(Base64.getEncoder(), keyLength);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * Creates an instance with keyLength of 32 bytes and the provided encoder.
|
|
|
|
- * @param encoder the encoder to use
|
|
|
|
- */
|
|
|
|
- public Base64StringKeyGenerator(Base64.Encoder encoder) {
|
|
|
|
- this(encoder, DEFAULT_KEY_LENGTH);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * Creates an instance with the provided key length and encoder.
|
|
|
|
- * @param encoder the encoder to use
|
|
|
|
- * @param keyLength the key length to use
|
|
|
|
- */
|
|
|
|
- public Base64StringKeyGenerator(Base64.Encoder encoder, int keyLength) {
|
|
|
|
- if(encoder == null) {
|
|
|
|
- throw new IllegalArgumentException("encode cannot be null");
|
|
|
|
- }
|
|
|
|
if(keyLength < DEFAULT_KEY_LENGTH) {
|
|
if(keyLength < DEFAULT_KEY_LENGTH) {
|
|
throw new IllegalArgumentException("keyLength must be greater than or equal to" + DEFAULT_KEY_LENGTH);
|
|
throw new IllegalArgumentException("keyLength must be greater than or equal to" + DEFAULT_KEY_LENGTH);
|
|
}
|
|
}
|
|
- this.encoder = encoder;
|
|
|
|
this.keyGenerator = KeyGenerators.secureRandom(keyLength);
|
|
this.keyGenerator = KeyGenerators.secureRandom(keyLength);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public String generateKey() {
|
|
public String generateKey() {
|
|
byte[] key = this.keyGenerator.generateKey();
|
|
byte[] key = this.keyGenerator.generateKey();
|
|
- byte[] base64EncodedKey = this.encoder.encode(key);
|
|
|
|
|
|
+ byte[] base64EncodedKey = Base64.encode(key);
|
|
return new String(base64EncodedKey);
|
|
return new String(base64EncodedKey);
|
|
}
|
|
}
|
|
}
|
|
}
|