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

公開メンバ関数

KeyProvider create (KeycloakSession session, ComponentModel model)
 
void validateConfiguration (KeycloakSession session, RealmModel realm, ComponentModel model) throws ComponentValidationException
 
String getHelpText ()
 
List< ProviderConfigPropertygetConfigProperties ()
 
String getId ()
 
default ProviderType create (KeycloakSession session)
 
default boolean createFallbackKeys (KeycloakSession session, KeyUse keyUse, String algorithm)
 
default void init (Config.Scope config)
 
default void postInit (KeycloakSessionFactory factory)
 
default void close ()
 
default void onCreate (KeycloakSession session, RealmModel realm, ComponentModel model)
 
default void onUpdate (KeycloakSession session, RealmModel realm, ComponentModel oldModel, ComponentModel newModel)
 
default void preRemove (KeycloakSession session, RealmModel realm, ComponentModel model)
 
default List< ProviderConfigPropertygetCommonProviderConfigProperties ()
 
default Map< String, Object > getTypeMetadata ()
 
default int order ()
 

静的公開メンバ関数

static final ProviderConfigurationBuilder configurationBuilder ()
 

静的公開変数類

static final String ID = "rsa"
 

静的非公開変数類

static final String HELP_TEXT = "RSA key provider that can optionally generated a self-signed certificate"
 
static final List< ProviderConfigPropertyCONFIG_PROPERTIES
 

詳解

著者
Stian Thorgersen

関数詳解

◆ close()

default void org.keycloak.keys.KeyProviderFactory< T extends KeyProvider >.close ( )
inlineinherited

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

47  {
48  }

◆ configurationBuilder()

static final ProviderConfigurationBuilder org.keycloak.keys.AbstractRsaKeyProviderFactory.configurationBuilder ( )
inlinestaticinherited
32  {
33  return ProviderConfigurationBuilder.create()
34  .property(Attributes.PRIORITY_PROPERTY)
35  .property(Attributes.ENABLED_PROPERTY)
36  .property(Attributes.ACTIVE_PROPERTY)
37  .property(Attributes.RS_ALGORITHM_PROPERTY);
38  }

◆ create() [1/2]

default ProviderType org.keycloak.component.ComponentFactory< CreatedType, ProviderType extends Provider >.create ( KeycloakSession  session)
inlineinherited

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

38  {
39  return null;
40  }

◆ create() [2/2]

KeyProvider org.keycloak.keys.ImportedRsaKeyProviderFactory.create ( KeycloakSession  session,
ComponentModel  model 
)
inline

org.keycloak.keys.KeyProviderFactory< T extends KeyProvider >を実装しています。

51  {
52  return new ImportedRsaKeyProvider(session.getContext().getRealm(), model);
53  }

◆ createFallbackKeys()

default boolean org.keycloak.keys.KeyProviderFactory< T extends KeyProvider >.createFallbackKeys ( KeycloakSession  session,
KeyUse  keyUse,
String  algorithm 
)
inlineinherited

org.keycloak.keys.GeneratedRsaKeyProviderFactory, org.keycloak.keys.GeneratedEcdsaKeyProviderFactoryで実装されています。

34  {
35  return false;
36  }

◆ getCommonProviderConfigProperties()

default List<ProviderConfigProperty> org.keycloak.component.ComponentFactory< CreatedType, ProviderType extends Provider >.getCommonProviderConfigProperties ( )
inlineinherited

These are config properties that are common across all implementation of this component type

戻り値

org.keycloak.storage.UserStorageProviderFactory< T extends UserStorageProvider >, org.keycloak.storage.client.ClientStorageProviderFactory< T extends ClientStorageProvider >で実装されています。

100  {
101  return Collections.EMPTY_LIST;
102  }

◆ getConfigProperties()

List<ProviderConfigProperty> org.keycloak.keys.ImportedRsaKeyProviderFactory.getConfigProperties ( )
inline

org.keycloak.provider.ConfiguredProviderを実装しています。

103  {
104  return CONFIG_PROPERTIES;
105  }
static final List< ProviderConfigProperty > CONFIG_PROPERTIES
Definition: ImportedRsaKeyProviderFactory.java:45

◆ getHelpText()

String org.keycloak.keys.ImportedRsaKeyProviderFactory.getHelpText ( )
inline

org.keycloak.provider.ConfiguredProviderを実装しています。

98  {
99  return HELP_TEXT;
100  }
static final String HELP_TEXT
Definition: ImportedRsaKeyProviderFactory.java:43

◆ getId()

String org.keycloak.keys.ImportedRsaKeyProviderFactory.getId ( )
inline

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

108  {
109  return ID;
110  }
static final String ID
Definition: ImportedRsaKeyProviderFactory.java:41

◆ getTypeMetadata()

default Map<String, Object> org.keycloak.component.ComponentFactory< CreatedType, ProviderType extends Provider >.getTypeMetadata ( )
inlineinherited

This is metadata about this component type. Its really configuration information about the component type and not an individual instance

戻り値

org.keycloak.storage.UserStorageProviderFactory< T extends UserStorageProvider >, org.keycloak.storage.client.ClientStorageProviderFactory< T extends ClientStorageProvider >で実装されています。

111  {
112  return Collections.EMPTY_MAP;
113 
114  }

◆ init()

default void org.keycloak.keys.KeyProviderFactory< T extends KeyProvider >.init ( Config.Scope  config)
inlineinherited

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

39  {
40  }

◆ onCreate()

default void org.keycloak.component.ComponentFactory< CreatedType, ProviderType extends Provider >.onCreate ( KeycloakSession  session,
RealmModel  realm,
ComponentModel  model 
)
inlineinherited

◆ onUpdate()

default void org.keycloak.component.ComponentFactory< CreatedType, ProviderType extends Provider >.onUpdate ( KeycloakSession  session,
RealmModel  realm,
ComponentModel  oldModel,
ComponentModel  newModel 
)
inlineinherited

Called after the component is updated.

引数
session
realm
oldModelold saved model
newModelnew configuration

org.keycloak.storage.ldap.LDAPStorageProviderFactory, org.keycloak.federation.kerberos.KerberosFederationProviderFactoryで実装されています。

78  {
79 
80  }

◆ order()

default int org.keycloak.provider.ProviderFactory< T extends Provider >.order ( )
inlineinherited

◆ postInit()

default void org.keycloak.keys.KeyProviderFactory< T extends KeyProvider >.postInit ( KeycloakSessionFactory  factory)
inlineinherited

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

43  {
44  }

◆ preRemove()

default void org.keycloak.component.ComponentFactory< CreatedType, ProviderType extends Provider >.preRemove ( KeycloakSession  session,
RealmModel  realm,
ComponentModel  model 
)
inlineinherited

Called before the component is removed.

引数
session
realm
modelmodel of the component, which is going to be removed

org.keycloak.storage.ldap.LDAPStorageProviderFactory, org.keycloak.federation.kerberos.KerberosFederationProviderFactoryで実装されています。

90  {
91 
92  }

◆ validateConfiguration()

void org.keycloak.keys.ImportedRsaKeyProviderFactory.validateConfiguration ( KeycloakSession  session,
RealmModel  realm,
ComponentModel  model 
) throws ComponentValidationException
inline

org.keycloak.component.ComponentFactory< CreatedType, ProviderType extends Provider >を実装しています。

56  {
57  super.validateConfiguration(session, realm, model);
58 
59  ConfigurationValidationHelper.check(model)
60  .checkSingle(Attributes.PRIVATE_KEY_PROPERTY, true)
61  .checkSingle(Attributes.CERTIFICATE_PROPERTY, false);
62 
63  KeyPair keyPair;
64  try {
65  PrivateKey privateKey = PemUtils.decodePrivateKey(model.get(Attributes.PRIVATE_KEY_KEY));
66  PublicKey publicKey = KeyUtils.extractPublicKey(privateKey);
67  keyPair = new KeyPair(publicKey, privateKey);
68  } catch (Throwable t) {
69  throw new ComponentValidationException("Failed to decode private key", t);
70  }
71 
72  if (model.contains(Attributes.CERTIFICATE_KEY)) {
73  Certificate certificate = null;
74  try {
75  certificate = PemUtils.decodeCertificate(model.get(Attributes.CERTIFICATE_KEY));
76  } catch (Throwable t) {
77  throw new ComponentValidationException("Failed to decode certificate", t);
78  }
79 
80  if (certificate == null) {
81  throw new ComponentValidationException("Failed to decode certificate");
82  }
83 
84  if (!certificate.getPublicKey().equals(keyPair.getPublic())) {
85  throw new ComponentValidationException("Certificate does not match private key");
86  }
87  } else {
88  try {
89  Certificate certificate = CertificateUtils.generateV1SelfSignedCertificate(keyPair, realm.getName());
90  model.put(Attributes.CERTIFICATE_KEY, PemUtils.encodeCertificate(certificate));
91  } catch (Throwable t) {
92  throw new ComponentValidationException("Failed to generate self-signed certificate");
93  }
94  }
95  }

メンバ詳解

◆ CONFIG_PROPERTIES

final List<ProviderConfigProperty> org.keycloak.keys.ImportedRsaKeyProviderFactory.CONFIG_PROPERTIES
staticprivate
初期値:
= AbstractRsaKeyProviderFactory.configurationBuilder()
.property(Attributes.PRIVATE_KEY_PROPERTY)
.property(Attributes.CERTIFICATE_PROPERTY)
.build()

◆ HELP_TEXT

final String org.keycloak.keys.ImportedRsaKeyProviderFactory.HELP_TEXT = "RSA key provider that can optionally generated a self-signed certificate"
staticprivate

◆ ID

final String org.keycloak.keys.ImportedRsaKeyProviderFactory.ID = "rsa"
static

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