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

公開メンバ関数

 GeneratedEcdsaKeyProvider (RealmModel realm, ComponentModel model)
 
List< KeyWrapper > getKeys ()
 

限定公開メンバ関数

KeyWrapper loadKey (RealmModel realm, ComponentModel model)
 
KeyWrapper createKeyWrapper (KeyPair keyPair, String ecInNistRep)
 

静的非公開変数類

static final Logger logger = Logger.getLogger(GeneratedEcdsaKeyProvider.class)
 

詳解

構築子と解体子

◆ GeneratedEcdsaKeyProvider()

org.keycloak.keys.GeneratedEcdsaKeyProvider.GeneratedEcdsaKeyProvider ( RealmModel  realm,
ComponentModel  model 
)
inline
35  {
36  super(realm, model);
37  }
final ComponentModel model
Definition: AbstractEcdsaKeyProvider.java:35

関数詳解

◆ createKeyWrapper()

KeyWrapper org.keycloak.keys.AbstractEcdsaKeyProvider.createKeyWrapper ( KeyPair  keyPair,
String  ecInNistRep 
)
inlineprotectedinherited
58  {
59  KeyWrapper key = new KeyWrapper();
60 
61  key.setProviderId(model.getId());
62  key.setProviderPriority(model.get("priority", 0l));
63 
64  key.setKid(KeyUtils.createKeyId(keyPair.getPublic()));
65  key.setUse(KeyUse.SIG);
66  key.setType(KeyType.EC);
67  key.setAlgorithm(AbstractEcdsaKeyProviderFactory.convertECDomainParmNistRepToAlgorithm(ecInNistRep));
68  key.setStatus(status);
69  key.setSignKey(keyPair.getPrivate());
70  key.setVerifyKey(keyPair.getPublic());
71 
72  return key;
73  }
final KeyWrapper key
Definition: AbstractEcdsaKeyProvider.java:37
final KeyStatus status
Definition: AbstractEcdsaKeyProvider.java:33
final ComponentModel model
Definition: AbstractEcdsaKeyProvider.java:35

◆ getKeys()

List<KeyWrapper> org.keycloak.keys.AbstractEcdsaKeyProvider.getKeys ( )
inlineinherited
54  {
55  return Collections.singletonList(key);
56  }
final KeyWrapper key
Definition: AbstractEcdsaKeyProvider.java:37

◆ loadKey()

KeyWrapper org.keycloak.keys.GeneratedEcdsaKeyProvider.loadKey ( RealmModel  realm,
ComponentModel  model 
)
inlineprotected
40  {
41  String privateEcdsaKeyBase64Encoded = model.getConfig().getFirst(GeneratedEcdsaKeyProviderFactory.ECDSA_PRIVATE_KEY_KEY);
42  String publicEcdsaKeyBase64Encoded = model.getConfig().getFirst(GeneratedEcdsaKeyProviderFactory.ECDSA_PUBLIC_KEY_KEY);
43  String ecInNistRep = model.getConfig().getFirst(GeneratedEcdsaKeyProviderFactory.ECDSA_ELLIPTIC_CURVE_KEY);
44 
45  try {
46  PKCS8EncodedKeySpec privateKeySpec = new PKCS8EncodedKeySpec(Base64.decode(privateEcdsaKeyBase64Encoded));
47  KeyFactory kf = KeyFactory.getInstance("EC");
48  PrivateKey decodedPrivateKey = kf.generatePrivate(privateKeySpec);
49 
50  X509EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(Base64.decode(publicEcdsaKeyBase64Encoded));
51  PublicKey decodedPublicKey = kf.generatePublic(publicKeySpec);
52 
53  KeyPair keyPair = new KeyPair(decodedPublicKey, decodedPrivateKey);
54 
55  return createKeyWrapper(keyPair, ecInNistRep);
56  } catch (Exception e) {
57  logger.warnf("Exception at decodeEcdsaPublicKey. %s", e.toString());
58  return null;
59  }
60 
61  }
static final Logger logger
Definition: GeneratedEcdsaKeyProvider.java:33
final ComponentModel model
Definition: AbstractEcdsaKeyProvider.java:35
KeyWrapper createKeyWrapper(KeyPair keyPair, String ecInNistRep)
Definition: AbstractEcdsaKeyProvider.java:58

メンバ詳解

◆ logger

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

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