diff --git a/server-spi/src/main/java/org/keycloak/provider/ProviderConfigProperty.java b/server-spi/src/main/java/org/keycloak/provider/ProviderConfigProperty.java
index a6dbd77..c452e78 100755
--- a/server-spi/src/main/java/org/keycloak/provider/ProviderConfigProperty.java
+++ b/server-spi/src/main/java/org/keycloak/provider/ProviderConfigProperty.java
@@ -17,6 +17,7 @@
package org.keycloak.provider;
+import java.util.Arrays;
import java.util.List;
/**
@@ -62,6 +63,15 @@ public class ProviderConfigProperty {
this.defaultValue = defaultValue;
}
+ public ProviderConfigProperty(String name, String label, String helpText, String type, Object defaultValue, String... options) {
+ this.name = name;
+ this.label = label;
+ this.helpText = helpText;
+ this.type = type;
+ this.defaultValue = defaultValue;
+ this.options = Arrays.asList(options);
+ }
+
public ProviderConfigProperty(String name, String label, String helpText, String type, Object defaultValue, boolean secret) {
this(name, label, helpText, type, defaultValue);
this.secret = secret;
diff --git a/services/src/main/java/org/keycloak/keys/Attributes.java b/services/src/main/java/org/keycloak/keys/Attributes.java
index 758ec95..bc66dd3 100644
--- a/services/src/main/java/org/keycloak/keys/Attributes.java
+++ b/services/src/main/java/org/keycloak/keys/Attributes.java
@@ -19,9 +19,9 @@ package org.keycloak.keys;
import org.keycloak.provider.ProviderConfigProperty;
-import static org.keycloak.provider.ProviderConfigProperty.BOOLEAN_TYPE;
-import static org.keycloak.provider.ProviderConfigProperty.FILE_TYPE;
-import static org.keycloak.provider.ProviderConfigProperty.STRING_TYPE;
+import java.util.LinkedList;
+
+import static org.keycloak.provider.ProviderConfigProperty.*;
/**
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
@@ -44,6 +44,6 @@ public interface Attributes {
ProviderConfigProperty CERTIFICATE_PROPERTY = new ProviderConfigProperty(CERTIFICATE_KEY, "X509 Certificate", "X509 Certificate encoded in PEM format", FILE_TYPE, null);
String KEY_SIZE_KEY = "keySize";
- ProviderConfigProperty KEY_SIZE_PROPERTY = new ProviderConfigProperty(KEY_SIZE_KEY, "Keysize", "Size for the generated keys (1024, 2048 or 4096)", STRING_TYPE, null);
+ ProviderConfigProperty KEY_SIZE_PROPERTY = new ProviderConfigProperty(KEY_SIZE_KEY, "Keysize", "Size for the generated keys (1024, 2048 or 4096)", LIST_TYPE, "2048", "1024", "2048", "4096");
}