keycloak
静的公開メンバ関数 | 静的関数 | 静的非公開変数類 | 全メンバ一覧
org.keycloak.common.util.CRLUtils クラス
org.keycloak.common.util.CRLUtils 連携図
Collaboration graph

静的公開メンバ関数

static List< String > getCRLDistributionPoints (X509Certificate cert) throws IOException
 

静的関数

 [static initializer]
 

静的非公開変数類

static final String CRL_DISTRIBUTION_POINTS_OID = "2.5.29.31"
 

詳解

著者
Peter Nalyvayko
バージョン
Revision
1
から
10/31/2016

関数詳解

◆ [static initializer]()

org.keycloak.common.util.CRLUtils.[static initializer] ( )
inlinestaticpackage

◆ getCRLDistributionPoints()

static List<String> org.keycloak.common.util.CRLUtils.getCRLDistributionPoints ( X509Certificate  cert) throws IOException
inlinestatic

Retrieves a list of CRL distribution points from CRLDP v3 certificate extension See CRL validation

引数
cert
戻り値
例外
IOException
58  {
59  byte[] data = cert.getExtensionValue(CRL_DISTRIBUTION_POINTS_OID);
60  if (data == null) {
61  return Collections.emptyList();
62  }
63 
64  List<String> distributionPointUrls = new LinkedList<>();
65  DEROctetString octetString;
66  try (ASN1InputStream crldpExtensionInputStream = new ASN1InputStream(new ByteArrayInputStream(data))) {
67  octetString = (DEROctetString)crldpExtensionInputStream.readObject();
68  }
69  byte[] octets = octetString.getOctets();
70 
71  CRLDistPoint crlDP;
72  try (ASN1InputStream crldpInputStream = new ASN1InputStream(new ByteArrayInputStream(octets))) {
73  crlDP = CRLDistPoint.getInstance(crldpInputStream.readObject());
74  }
75 
76  for (DistributionPoint dp : crlDP.getDistributionPoints()) {
77  DistributionPointName dpn = dp.getDistributionPoint();
78  if (dpn != null && dpn.getType() == DistributionPointName.FULL_NAME) {
79  GeneralName[] names = GeneralNames.getInstance(dpn.getName()).getNames();
80  for (GeneralName gn : names) {
81  if (gn.getTagNo() == GeneralName.uniformResourceIdentifier) {
82  String url = DERIA5String.getInstance(gn.getName()).getString();
83  distributionPointUrls.add(url);
84  }
85  }
86  }
87  }
88 
89  return distributionPointUrls;
90  }
static final String CRL_DISTRIBUTION_POINTS_OID
Definition: CRLUtils.java:49

メンバ詳解

◆ CRL_DISTRIBUTION_POINTS_OID

final String org.keycloak.common.util.CRLUtils.CRL_DISTRIBUTION_POINTS_OID = "2.5.29.31"
staticprivate

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