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

静的公開メンバ関数

static X509Certificate decodeCertificate (String cert)
 
static PublicKey decodePublicKey (String pem)
 
static PrivateKey decodePrivateKey (String pem)
 
static String encodeKey (Key key)
 
static String encodeCertificate (Certificate certificate)
 
static String removeBeginEnd (String pem)
 

静的関数

 [static initializer]
 

非公開メンバ関数

 PemUtils ()
 

静的非公開メンバ関数

static String encode (Object obj)
 
static byte [] pemToDer (String pem) throws IOException
 

詳解

Utility classes to extract PublicKey, PrivateKey, and X509Certificate from openssl generated PEM files

著者
Bill Burke
バージョン
Revision
1

構築子と解体子

◆ PemUtils()

org.keycloak.common.util.PemUtils.PemUtils ( )
inlineprivate
44  {
45  }

関数詳解

◆ [static initializer]()

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

◆ decodeCertificate()

static X509Certificate org.keycloak.common.util.PemUtils.decodeCertificate ( String  cert)
inlinestatic

Decode a X509 Certificate from a PEM string

引数
cert
戻り値
例外
Exception
54  {
55  if (cert == null) {
56  return null;
57  }
58 
59  try {
60  byte[] der = pemToDer(cert);
61  ByteArrayInputStream bis = new ByteArrayInputStream(der);
62  return DerUtils.decodeCertificate(bis);
63  } catch (Exception e) {
64  throw new PemException(e);
65  }
66  }
static byte [] pemToDer(String pem)
Definition: PemUtils.java:147

◆ decodePrivateKey()

static PrivateKey org.keycloak.common.util.PemUtils.decodePrivateKey ( String  pem)
inlinestatic

Decode a Private Key from a PEM string

引数
pem
戻り値
例外
Exception
95  {
96  if (pem == null) {
97  return null;
98  }
99 
100  try {
101  byte[] der = pemToDer(pem);
102  return DerUtils.decodePrivateKey(der);
103  } catch (Exception e) {
104  throw new PemException(e);
105  }
106  }
static byte [] pemToDer(String pem)
Definition: PemUtils.java:147

◆ decodePublicKey()

static PublicKey org.keycloak.common.util.PemUtils.decodePublicKey ( String  pem)
inlinestatic

Decode a Public Key from a PEM string

引数
pem
戻り値
例外
Exception
75  {
76  if (pem == null) {
77  return null;
78  }
79 
80  try {
81  byte[] der = pemToDer(pem);
82  return DerUtils.decodePublicKey(der);
83  } catch (Exception e) {
84  throw new PemException(e);
85  }
86  }
static byte [] pemToDer(String pem)
Definition: PemUtils.java:147

◆ encode()

static String org.keycloak.common.util.PemUtils.encode ( Object  obj)
inlinestaticprivate
129  {
130  if (obj == null) {
131  return null;
132  }
133 
134  try {
135  StringWriter writer = new StringWriter();
136  PEMWriter pemWriter = new PEMWriter(writer);
137  pemWriter.writeObject(obj);
138  pemWriter.flush();
139  pemWriter.close();
140  String s = writer.toString();
141  return PemUtils.removeBeginEnd(s);
142  } catch (Exception e) {
143  throw new PemException(e);
144  }
145  }
PemUtils()
Definition: PemUtils.java:44

◆ encodeCertificate()

static String org.keycloak.common.util.PemUtils.encodeCertificate ( Certificate  certificate)
inlinestatic

Encode a X509 Certificate to a PEM string

引数
certificate
戻り値
125  {
126  return encode(certificate);
127  }
static String encode(Object obj)
Definition: PemUtils.java:129

◆ encodeKey()

static String org.keycloak.common.util.PemUtils.encodeKey ( Key  key)
inlinestatic

Encode a Key to a PEM string

引数
key
戻り値
例外
Exception
115  {
116  return encode(key);
117  }
static String encode(Object obj)
Definition: PemUtils.java:129

◆ pemToDer()

static byte [] org.keycloak.common.util.PemUtils.pemToDer ( String  pem) throws IOException
inlinestaticprivate
147  {
148  pem = removeBeginEnd(pem);
149  return Base64.decode(pem);
150  }
static String removeBeginEnd(String pem)
Definition: PemUtils.java:152

◆ removeBeginEnd()

static String org.keycloak.common.util.PemUtils.removeBeginEnd ( String  pem)
inlinestatic
152  {
153  pem = pem.replaceAll("-----BEGIN (.*)-----", "");
154  pem = pem.replaceAll("-----END (.*)----", "");
155  pem = pem.replaceAll("\r\n", "");
156  pem = pem.replaceAll("\n", "");
157  return pem.trim();
158  }

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