keycloak
公開メンバ関数 | 静的公開メンバ関数 | 全メンバ一覧
org.keycloak.jose.jws.crypto.RSAProvider クラス
org.keycloak.jose.jws.crypto.RSAProvider の継承関係図
Inheritance graph
org.keycloak.jose.jws.crypto.RSAProvider 連携図
Collaboration graph

公開メンバ関数

boolean verify (JWSInput input, String key)
 

静的公開メンバ関数

static String getJavaAlgorithm (Algorithm alg)
 
static Signature getSignature (Algorithm alg)
 
static byte [] sign (byte[] data, Algorithm algorithm, PrivateKey privateKey)
 
static boolean verifyViaCertificate (JWSInput input, String cert)
 
static boolean verify (JWSInput input, PublicKey publicKey)
 

詳解

著者
Bill Burke
バージョン
Revision
1

関数詳解

◆ getJavaAlgorithm()

static String org.keycloak.jose.jws.crypto.RSAProvider.getJavaAlgorithm ( Algorithm  alg)
inlinestatic
35  {
36  switch (alg) {
37  case RS256:
38  return "SHA256withRSA";
39  case RS384:
40  return "SHA384withRSA";
41  case RS512:
42  return "SHA512withRSA";
43  default:
44  throw new IllegalArgumentException("Not an RSA Algorithm");
45  }
46  }

◆ getSignature()

static Signature org.keycloak.jose.jws.crypto.RSAProvider.getSignature ( Algorithm  alg)
inlinestatic
48  {
49  try {
50  return Signature.getInstance(getJavaAlgorithm(alg));
51  } catch (Exception e) {
52  throw new RuntimeException(e);
53  }
54  }
static String getJavaAlgorithm(Algorithm alg)
Definition: RSAProvider.java:35

◆ sign()

static byte [] org.keycloak.jose.jws.crypto.RSAProvider.sign ( byte []  data,
Algorithm  algorithm,
PrivateKey  privateKey 
)
inlinestatic
56  {
57  try {
58  Signature signature = getSignature(algorithm);
59  signature.initSign(privateKey);
60  signature.update(data);
61  return signature.sign();
62  } catch (Exception e) {
63  throw new RuntimeException(e);
64  }
65  }
static Signature getSignature(Algorithm alg)
Definition: RSAProvider.java:48

◆ verify() [1/2]

static boolean org.keycloak.jose.jws.crypto.RSAProvider.verify ( JWSInput  input,
PublicKey  publicKey 
)
inlinestatic
77  {
78  try {
79  Signature verifier = getSignature(input.getHeader().getAlgorithm());
80  verifier.initVerify(publicKey);
81  verifier.update(input.getEncodedSignatureInput().getBytes("UTF-8"));
82  return verifier.verify(input.getSignature());
83  } catch (Exception e) {
84  return false;
85  }
86 
87  }
static Signature getSignature(Algorithm alg)
Definition: RSAProvider.java:48

◆ verify() [2/2]

boolean org.keycloak.jose.jws.crypto.RSAProvider.verify ( JWSInput  input,
String  key 
)
inline

org.keycloak.jose.jws.crypto.SignatureProviderを実装しています。

90  {
91  return verifyViaCertificate(input, key);
92  }
static boolean verifyViaCertificate(JWSInput input, String cert)
Definition: RSAProvider.java:67

◆ verifyViaCertificate()

static boolean org.keycloak.jose.jws.crypto.RSAProvider.verifyViaCertificate ( JWSInput  input,
String  cert 
)
inlinestatic
67  {
68  X509Certificate certificate = null;
69  try {
70  certificate = PemUtils.decodeCertificate(cert);
71  } catch (Exception e) {
72  throw new RuntimeException(e);
73  }
74  return verify(input, certificate.getPublicKey());
75  }
static boolean verify(JWSInput input, PublicKey publicKey)
Definition: RSAProvider.java:77

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