keycloak-service
公開メンバ関数 | 静的公開変数類 | 限定公開メンバ関数 | 静的関数 | 静的非公開変数類 | 全メンバ一覧
org.keycloak.keys.GeneratedAesKeyProviderFactory クラス
org.keycloak.keys.GeneratedAesKeyProviderFactory の継承関係図
Inheritance graph
org.keycloak.keys.GeneratedAesKeyProviderFactory 連携図
Collaboration graph

公開メンバ関数

GeneratedAesKeyProvider create (KeycloakSession session, ComponentModel model)
 
boolean createFallbackKeys (KeycloakSession session, KeyUse keyUse, String algorithm)
 
String getHelpText ()
 
List< ProviderConfigProperty > getConfigProperties ()
 
String getId ()
 
void validateConfiguration (KeycloakSession session, RealmModel realm, ComponentModel model) throws ComponentValidationException
 

静的公開変数類

static final String ID = "aes-generated"
 

限定公開メンバ関数

Logger logger ()
 
int getDefaultKeySize ()
 

静的関数

 [static initializer]
 

静的非公開変数類

static final Logger logger = Logger.getLogger(GeneratedAesKeyProviderFactory.class)
 
static final String HELP_TEXT = "Generates AES secret key"
 
static final ProviderConfigProperty AES_KEY_SIZE_PROPERTY
 
static final int DEFAULT_AES_KEY_SIZE = 16
 
static final List< ProviderConfigProperty > CONFIG_PROPERTIES
 

詳解

著者
Marek Posolda

関数詳解

◆ [static initializer]()

org.keycloak.keys.GeneratedAesKeyProviderFactory.[static initializer] ( )
inlinestaticpackage

◆ create()

GeneratedAesKeyProvider org.keycloak.keys.GeneratedAesKeyProviderFactory.create ( KeycloakSession  session,
ComponentModel  model 
)
inline
59  {
60  return new GeneratedAesKeyProvider(model);
61  }

◆ createFallbackKeys()

boolean org.keycloak.keys.GeneratedAesKeyProviderFactory.createFallbackKeys ( KeycloakSession  session,
KeyUse  keyUse,
String  algorithm 
)
inline
64  {
65  if (keyUse.equals(KeyUse.ENC) && algorithm.equals(Algorithm.AES)) {
66  RealmModel realm = session.getContext().getRealm();
67 
68  ComponentModel generated = new ComponentModel();
69  generated.setName("fallback-" + algorithm);
70  generated.setParentId(realm.getId());
71  generated.setProviderId(ID);
72  generated.setProviderType(KeyProvider.class.getName());
73 
74  MultivaluedHashMap<String, String> config = new MultivaluedHashMap<>();
75  config.putSingle(Attributes.PRIORITY_KEY, "-100");
76  generated.setConfig(config);
77 
78  realm.addComponentModel(generated);
79 
80  return true;
81  } else {
82  return false;
83  }
84  }
static final String ID
Definition: GeneratedAesKeyProviderFactory.java:40

◆ getConfigProperties()

List<ProviderConfigProperty> org.keycloak.keys.GeneratedAesKeyProviderFactory.getConfigProperties ( )
inline
92  {
93  return CONFIG_PROPERTIES;
94  }
static final List< ProviderConfigProperty > CONFIG_PROPERTIES
Definition: GeneratedAesKeyProviderFactory.java:54

◆ getDefaultKeySize()

int org.keycloak.keys.GeneratedAesKeyProviderFactory.getDefaultKeySize ( )
inlineprotected
107  {
108  return DEFAULT_AES_KEY_SIZE;
109  }
static final int DEFAULT_AES_KEY_SIZE
Definition: GeneratedAesKeyProviderFactory.java:46

◆ getHelpText()

String org.keycloak.keys.GeneratedAesKeyProviderFactory.getHelpText ( )
inline
87  {
88  return HELP_TEXT;
89  }
static final String HELP_TEXT
Definition: GeneratedAesKeyProviderFactory.java:42

◆ getId()

String org.keycloak.keys.GeneratedAesKeyProviderFactory.getId ( )
inline
97  {
98  return ID;
99  }
static final String ID
Definition: GeneratedAesKeyProviderFactory.java:40

◆ logger()

Logger org.keycloak.keys.GeneratedAesKeyProviderFactory.logger ( )
inlineprotected
102  {
103  return logger;
104  }
Logger logger()
Definition: GeneratedAesKeyProviderFactory.java:102

◆ validateConfiguration()

void org.keycloak.keys.AbstractGeneratedSecretKeyProviderFactory< T extends KeyProvider >.validateConfiguration ( KeycloakSession  session,
RealmModel  realm,
ComponentModel  model 
) throws ComponentValidationException
inlineinherited
35  {
36  ConfigurationValidationHelper validation = SecretKeyProviderUtils.validateConfiguration(model);
37  validation.checkList(Attributes.SECRET_SIZE_PROPERTY, false);
38 
39  int size = model.get(Attributes.SECRET_SIZE_KEY, getDefaultKeySize());
40 
41  if (!(model.contains(Attributes.SECRET_KEY))) {
42  generateSecret(model, size);
43  logger().debugv("Generated secret for {0}", realm.getName());
44  } else {
45  int currentSize = Base64Url.decode(model.get(Attributes.SECRET_KEY)).length;
46  if (currentSize != size) {
47  generateSecret(model, size);
48  logger().debugv("Secret size changed, generating new secret for {0}", realm.getName());
49  }
50  }
51  }
void generateSecret(ComponentModel model, int size)
Definition: AbstractGeneratedSecretKeyProviderFactory.java:53

メンバ詳解

◆ AES_KEY_SIZE_PROPERTY

final ProviderConfigProperty org.keycloak.keys.GeneratedAesKeyProviderFactory.AES_KEY_SIZE_PROPERTY
staticprivate

◆ CONFIG_PROPERTIES

final List<ProviderConfigProperty> org.keycloak.keys.GeneratedAesKeyProviderFactory.CONFIG_PROPERTIES
staticprivate
初期値:
= SecretKeyProviderUtils.configurationBuilder()
.build()

◆ DEFAULT_AES_KEY_SIZE

final int org.keycloak.keys.GeneratedAesKeyProviderFactory.DEFAULT_AES_KEY_SIZE = 16
staticprivate

◆ HELP_TEXT

final String org.keycloak.keys.GeneratedAesKeyProviderFactory.HELP_TEXT = "Generates AES secret key"
staticprivate

◆ ID

final String org.keycloak.keys.GeneratedAesKeyProviderFactory.ID = "aes-generated"
static

◆ logger

final Logger org.keycloak.keys.GeneratedAesKeyProviderFactory.logger = Logger.getLogger(GeneratedAesKeyProviderFactory.class)
staticprivate

このクラス詳解は次のファイルから抽出されました: