keycloak-service
公開メンバ関数 | 静的公開メンバ関数 | 関数 | 非公開変数類 | 全メンバ一覧
org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.SubjectAltNameExtractor クラス
org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.SubjectAltNameExtractor の継承関係図
Inheritance graph
org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.SubjectAltNameExtractor 連携図
Collaboration graph

公開メンバ関数

Object extractUserIdentity (X509Certificate[] certs)
 

静的公開メンバ関数

static UserIdentityExtractor getPatternIdentityExtractor (String pattern, Function< X509Certificate[], String > func)
 
static UserIdentityExtractor getX500NameExtractor (ASN1ObjectIdentifier identifier, Function< X509Certificate[], X500Name > x500Name)
 
static SubjectAltNameExtractor getSubjectAltNameExtractor (int generalName)
 
static OrBuilder either (UserIdentityExtractor extractor)
 

関数

 SubjectAltNameExtractor (int generalName)
 

非公開変数類

final int generalName
 

詳解

Extracts the subject identifier from the subjectAltName extension.

構築子と解体子

◆ SubjectAltNameExtractor()

Creates a new instance

引数
generalNamean integer representing the general name. See X509Certificate#getSubjectAlternativeNames()
111  {
112  this.generalName = generalName;
113  }

関数詳解

◆ either()

static OrBuilder org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.either ( UserIdentityExtractor  extractor)
inlinestaticinherited
206  {
207  return new OrBuilder(extractor);
208  }

◆ extractUserIdentity()

Object org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.SubjectAltNameExtractor.extractUserIdentity ( X509Certificate []  certs)
inline
116  {
117  if (certs == null || certs.length == 0) {
118  throw new IllegalArgumentException();
119  }
120 
121  try {
122  Collection<List<?>> subjectAlternativeNames = certs[0].getSubjectAlternativeNames();
123 
124  if (subjectAlternativeNames == null) {
125  return null;
126  }
127 
128  Iterator<List<?>> iterator = subjectAlternativeNames.iterator();
129 
130  while (iterator.hasNext()) {
131  List<?> next = iterator.next();
132 
133  if (Integer.class.cast(next.get(0)) == generalName) {
134  return next.get(1);
135  }
136  }
137  } catch (CertificateParsingException cause) {
138  logger.errorf(cause, "Failed to obtain identity from subjectAltName extension");
139  }
140 
141  return null;
142  }
static final ServicesLogger logger
Definition: UserIdentityExtractor.java:45

◆ getPatternIdentityExtractor()

static UserIdentityExtractor org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.getPatternIdentityExtractor ( String  pattern,
Function< X509Certificate[], String >  func 
)
inlinestaticinherited
188  {
189  return new PatternMatcher(pattern, func);
190  }

◆ getSubjectAltNameExtractor()

static SubjectAltNameExtractor org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.getSubjectAltNameExtractor ( int  generalName)
inlinestaticinherited

Obtains the subjectAltName given a generalName.

引数
generalNamean integer representing the general name. See X509Certificate#getSubjectAlternativeNames()
戻り値
the value from the subjectAltName extension
202  {
203  return new SubjectAltNameExtractor(generalName);
204  }

◆ getX500NameExtractor()

static UserIdentityExtractor org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.getX500NameExtractor ( ASN1ObjectIdentifier  identifier,
Function< X509Certificate[], X500Name >  x500Name 
)
inlinestaticinherited
192  {
193  return new X500NameRDNExtractor(identifier, x500Name);
194  }

メンバ詳解

◆ generalName

final int org.keycloak.authentication.authenticators.x509.UserIdentityExtractor.SubjectAltNameExtractor.generalName
private

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