keycloak
静的公開メンバ関数 | 静的非公開メンバ関数 | 全メンバ一覧
org.keycloak.jose.jws.crypto.HashProvider クラス
org.keycloak.jose.jws.crypto.HashProvider 連携図
Collaboration graph

静的公開メンバ関数

static String oidcHash (String jwtAlgorithmName, String input)
 
static String oidcHash (Algorithm jwtAlgorithm, String input)
 

静的非公開メンバ関数

static byte [] digest (String algorithm, String input)
 
static String getJavaDigestAlgorithm (String alg)
 

詳解

著者
Marek Posolda

関数詳解

◆ digest()

static byte [] org.keycloak.jose.jws.crypto.HashProvider.digest ( String  algorithm,
String  input 
)
inlinestaticprivate
39  {
40  String digestAlg = getJavaDigestAlgorithm(algorithm);
41 
42  try {
43  MessageDigest md = MessageDigest.getInstance(digestAlg);
44  md.update(input.getBytes("UTF-8"));
45  return md.digest();
46  } catch (Exception e) {
47  throw new RuntimeException(e);
48  }
49  }
static String getJavaDigestAlgorithm(String alg)
Definition: HashProvider.java:50

◆ getJavaDigestAlgorithm()

static String org.keycloak.jose.jws.crypto.HashProvider.getJavaDigestAlgorithm ( String  alg)
inlinestaticprivate
50  {
51  switch (alg) {
52  case "RS256":
53  return "SHA-256";
54  case "RS384":
55  return "SHA-384";
56  case "RS512":
57  return "SHA-512";
58  default:
59  throw new IllegalArgumentException("Not an RSA Algorithm");
60  }
61  }

◆ oidcHash() [1/2]

static String org.keycloak.jose.jws.crypto.HashProvider.oidcHash ( String  jwtAlgorithmName,
String  input 
)
inlinestatic
31  {
32  byte[] digest = digest(jwtAlgorithmName, input);
33 
34  int hashLength = digest.length / 2;
35  byte[] hashInput = Arrays.copyOf(digest, hashLength);
36 
37  return Base64Url.encode(hashInput);
38  }
static byte [] digest(String algorithm, String input)
Definition: HashProvider.java:39

◆ oidcHash() [2/2]

static String org.keycloak.jose.jws.crypto.HashProvider.oidcHash ( Algorithm  jwtAlgorithm,
String  input 
)
inlinestatic
64  {
65  return oidcHash(jwtAlgorithm.name(), input);
66  }
static String oidcHash(String jwtAlgorithmName, String input)
Definition: HashProvider.java:31

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