gluu
公開メンバ関数 | 静的公開メンバ関数 | 限定公開メンバ関数 | 非公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.xdi.oxauth.model.crypto.OxAuthCryptoProvider クラス
org.xdi.oxauth.model.crypto.OxAuthCryptoProvider の継承関係図
Inheritance graph
org.xdi.oxauth.model.crypto.OxAuthCryptoProvider 連携図
Collaboration graph

公開メンバ関数

 OxAuthCryptoProvider () throws Exception
 
 OxAuthCryptoProvider (String keyStoreFile, String keyStoreSecret, String dnName) throws Exception
 
JSONObject generateKey (SignatureAlgorithm signatureAlgorithm, Long expirationTime) throws Exception
 
String sign (String signingInput, String alias, String sharedSecret, SignatureAlgorithm signatureAlgorithm) throws Exception
 
boolean verifySignature (String signingInput, String encodedSignature, String alias, JSONObject jwks, String sharedSecret, SignatureAlgorithm signatureAlgorithm) throws Exception
 
boolean deleteKey (String alias) throws Exception
 
PublicKey getPublicKey (String alias)
 
PrivateKey getPrivateKey (String alias) throws UnrecoverableKeyException, NoSuchAlgorithmException, KeyStoreException
 
X509Certificate generateV3Certificate (KeyPair keyPair, String issuer, String signatureAlgorithm, Long expirationTime) throws CertIOException, OperatorCreationException, CertificateException
 
List< String > getKeyAliases () throws KeyStoreException
 
SignatureAlgorithm getSignatureAlgorithm (String alias) throws UnrecoverableKeyException, NoSuchAlgorithmException, KeyStoreException
 
String getKeyId (JSONWebKeySet jsonWebKeySet, SignatureAlgorithm signatureAlgorithm, Use use) throws Exception
 
JwksRequestParam getJwksRequestParam (JSONObject jwkJsonObject) throws JSONException
 
PublicKey getPublicKey (String alias, JSONObject jwks) throws Exception
 

静的公開メンバ関数

static JSONObject generateJwks (int keyRegenerationInterval, int idTokenLifeTime, AppConfiguration configuration) throws Exception
 

限定公開メンバ関数

void checkKeyExpiration (String alias, Long expirationTime)
 

非公開メンバ関数

String getJWKSValue (JSONObject jwks, String node) throws JSONException
 
void checkKeyExpiration (String alias)
 

非公開変数類

KeyStore keyStore
 
String keyStoreFile
 
String keyStoreSecret
 
String dnName
 

静的非公開変数類

static final Logger LOG = Logger.getLogger(OxAuthCryptoProvider.class)
 

詳解

著者
Javier Rojas Blum
Yuriy Movchan
バージョン
September 10, 2018

構築子と解体子

◆ OxAuthCryptoProvider() [1/2]

org.xdi.oxauth.model.crypto.OxAuthCryptoProvider.OxAuthCryptoProvider ( ) throws Exception
inline
71  {
72  this(null, null, null);
73  }

◆ OxAuthCryptoProvider() [2/2]

org.xdi.oxauth.model.crypto.OxAuthCryptoProvider.OxAuthCryptoProvider ( String  keyStoreFile,
String  keyStoreSecret,
String  dnName 
) throws Exception
inline
75  {
76  if (!Util.isNullOrEmpty(keyStoreFile) && !Util.isNullOrEmpty(keyStoreSecret) /* && !Util.isNullOrEmpty(dnName) */) {
79  this.dnName = dnName;
80 
81  keyStore = KeyStore.getInstance("JKS");
82  try {
83  File f = new File(keyStoreFile);
84  if (!f.exists()) {
85  keyStore.load(null, keyStoreSecret.toCharArray());
86  FileOutputStream fos = new FileOutputStream(keyStoreFile);
87  keyStore.store(fos, keyStoreSecret.toCharArray());
88  fos.close();
89  }
90  final InputStream is = new FileInputStream(keyStoreFile);
91  keyStore.load(is, keyStoreSecret.toCharArray());
92  } catch (Exception e) {
93  LOG.error(e.getMessage(), e);
94  }
95  }
96  }
String keyStoreFile
Definition: OxAuthCryptoProvider.java:67
String dnName
Definition: OxAuthCryptoProvider.java:69
static final Logger LOG
Definition: OxAuthCryptoProvider.java:64
String keyStoreSecret
Definition: OxAuthCryptoProvider.java:68
KeyStore keyStore
Definition: OxAuthCryptoProvider.java:66

関数詳解

◆ checkKeyExpiration() [1/2]

void org.xdi.oxauth.model.crypto.AbstractCryptoProvider.checkKeyExpiration ( String  alias,
Long  expirationTime 
)
inlineprotectedinherited
174  {
175  try {
176  Date expirationDate = new Date(expirationTime);
177  SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
178  Date today = new Date();
179  long DateDiff = expirationTime - today.getTime();
180  long expiresIn = DateDiff / (24 * 60 * 60 * 1000);
181  if (expiresIn <= 0) {
182  LOG.warn("\nWARNING! Expired Key with alias: " + alias
183  + "\n\tExpires On: " + ft.format(expirationDate)
184  + "\n\tToday's Date: " + ft.format(today));
185  } else if (expiresIn <= 100) {
186  LOG.warn("\nWARNING! Key with alias: " + alias
187  + "\n\tExpires In: " + expiresIn + " days"
188  + "\n\tExpires On: " + ft.format(expirationDate)
189  + "\n\tToday's Date: " + ft.format(today));
190  }
191  } catch (Exception e) {
192  e.printStackTrace();
193  }
194  }
static final Logger LOG
Definition: AbstractCryptoProvider.java:46

◆ checkKeyExpiration() [2/2]

void org.xdi.oxauth.model.crypto.OxAuthCryptoProvider.checkKeyExpiration ( String  alias)
inlineprivate
339  {
340  try {
341  Date expirationDate = ((X509Certificate) keyStore.getCertificate(alias)).getNotAfter();
342  checkKeyExpiration(alias, expirationDate.getTime());
343  } catch (KeyStoreException e) {
344  e.printStackTrace();
345  }
346  }
void checkKeyExpiration(String alias)
Definition: OxAuthCryptoProvider.java:339
KeyStore keyStore
Definition: OxAuthCryptoProvider.java:66

◆ deleteKey()

boolean org.xdi.oxauth.model.crypto.OxAuthCryptoProvider.deleteKey ( String  alias) throws Exception
inline
235  {
236  keyStore.deleteEntry(alias);
237  FileOutputStream stream = new FileOutputStream(keyStoreFile);
238  keyStore.store(stream, keyStoreSecret.toCharArray());
239  return true;
240  }
String keyStoreFile
Definition: OxAuthCryptoProvider.java:67
String keyStoreSecret
Definition: OxAuthCryptoProvider.java:68
KeyStore keyStore
Definition: OxAuthCryptoProvider.java:66

◆ generateJwks()

static JSONObject org.xdi.oxauth.model.crypto.AbstractCryptoProvider.generateJwks ( int  keyRegenerationInterval,
int  idTokenLifeTime,
AppConfiguration  configuration 
) throws Exception
inlinestaticinherited
88  {
89  JSONArray keys = new JSONArray();
90 
91  GregorianCalendar expirationTime = new GregorianCalendar(TimeZone.getTimeZone("UTC"));
92  expirationTime.add(GregorianCalendar.HOUR, keyRegenerationInterval);
93  expirationTime.add(GregorianCalendar.SECOND, idTokenLifeTime);
94 
95  AbstractCryptoProvider cryptoProvider = CryptoProviderFactory.getCryptoProvider(configuration);
96 
97  try {
98  keys.put(cryptoProvider.generateKey(SignatureAlgorithm.RS256, expirationTime.getTimeInMillis()));
99  } catch (Exception ex) {
100  }
101 
102  try {
103  keys.put(cryptoProvider.generateKey(SignatureAlgorithm.RS384, expirationTime.getTimeInMillis()));
104  } catch (Exception ex) {
105  }
106 
107  try {
108  keys.put(cryptoProvider.generateKey(SignatureAlgorithm.RS512, expirationTime.getTimeInMillis()));
109  } catch (Exception ex) {
110  }
111 
112  try {
113  keys.put(cryptoProvider.generateKey(SignatureAlgorithm.ES256, expirationTime.getTimeInMillis()));
114  } catch (Exception ex) {
115  }
116 
117  try {
118  keys.put(cryptoProvider.generateKey(SignatureAlgorithm.ES384, expirationTime.getTimeInMillis()));
119  } catch (Exception ex) {
120  }
121 
122  try {
123  keys.put(cryptoProvider.generateKey(SignatureAlgorithm.ES512, expirationTime.getTimeInMillis()));
124  } catch (Exception ex) {
125  }
126 
127  JSONObject jsonObject = new JSONObject();
128  jsonObject.put(JSON_WEB_KEY_SET, keys);
129 
130  return jsonObject;
131  }

◆ generateKey()

JSONObject org.xdi.oxauth.model.crypto.OxAuthCryptoProvider.generateKey ( SignatureAlgorithm  signatureAlgorithm,
Long  expirationTime 
) throws Exception
inline
99  {
100 
101  KeyPairGenerator keyGen = null;
102 
103  if (signatureAlgorithm == null) {
104  throw new RuntimeException("The signature algorithm parameter cannot be null");
105  } else if (SignatureAlgorithmFamily.RSA.equals(signatureAlgorithm.getFamily())) {
106  keyGen = KeyPairGenerator.getInstance(signatureAlgorithm.getFamily().toString(), "BC");
107  keyGen.initialize(2048, new SecureRandom());
108  } else if (SignatureAlgorithmFamily.EC.equals(signatureAlgorithm.getFamily())) {
109  ECGenParameterSpec eccgen = new ECGenParameterSpec(signatureAlgorithm.getCurve().getAlias());
110  keyGen = KeyPairGenerator.getInstance(signatureAlgorithm.getFamily().toString(), "BC");
111  keyGen.initialize(eccgen, new SecureRandom());
112  } else {
113  throw new RuntimeException("The provided signature algorithm parameter is not supported");
114  }
115 
116  // Generate the key
117  KeyPair keyPair = keyGen.generateKeyPair();
118  java.security.PrivateKey pk = keyPair.getPrivate();
119 
120  // Java API requires a certificate chain
121  X509Certificate cert = generateV3Certificate(keyPair, dnName, signatureAlgorithm.getAlgorithm(), expirationTime);
122  X509Certificate[] chain = new X509Certificate[1];
123  chain[0] = cert;
124 
125  String alias = UUID.randomUUID().toString();
126 
127  keyStore.setKeyEntry(alias, pk, keyStoreSecret.toCharArray(), chain);
128  FileOutputStream stream = new FileOutputStream(keyStoreFile);
129  keyStore.store(stream, keyStoreSecret.toCharArray());
130 
131  PublicKey publicKey = keyPair.getPublic();
132 
133  JSONObject jsonObject = new JSONObject();
134  jsonObject.put(KEY_TYPE, signatureAlgorithm.getFamily());
135  jsonObject.put(KEY_ID, alias);
136  jsonObject.put(KEY_USE, Use.SIGNATURE);
137  jsonObject.put(ALGORITHM, signatureAlgorithm.getName());
138  jsonObject.put(EXPIRATION_TIME, expirationTime);
139  if (publicKey instanceof RSAPublicKey) {
140  RSAPublicKey rsaPublicKey = (RSAPublicKey) publicKey;
141  jsonObject.put(MODULUS, Base64Util.base64urlencodeUnsignedBigInt(rsaPublicKey.getModulus()));
142  jsonObject.put(EXPONENT, Base64Util.base64urlencodeUnsignedBigInt(rsaPublicKey.getPublicExponent()));
143  } else if (publicKey instanceof ECPublicKey) {
144  ECPublicKey ecPublicKey = (ECPublicKey) publicKey;
145  jsonObject.put(CURVE, signatureAlgorithm.getCurve());
146  jsonObject.put(X, Base64Util.base64urlencodeUnsignedBigInt(ecPublicKey.getW().getAffineX()));
147  jsonObject.put(Y, Base64Util.base64urlencodeUnsignedBigInt(ecPublicKey.getW().getAffineY()));
148  }
149  JSONArray x5c = new JSONArray();
150  x5c.put(Base64.encodeBase64String(cert.getEncoded()));
151  jsonObject.put(CERTIFICATE_CHAIN, x5c);
152 
153  return jsonObject;
154  }
String keyStoreFile
Definition: OxAuthCryptoProvider.java:67
String dnName
Definition: OxAuthCryptoProvider.java:69
String keyStoreSecret
Definition: OxAuthCryptoProvider.java:68
X509Certificate generateV3Certificate(KeyPair keyPair, String issuer, String signatureAlgorithm, Long expirationTime)
Definition: OxAuthCryptoProvider.java:281
KeyStore keyStore
Definition: OxAuthCryptoProvider.java:66

◆ generateV3Certificate()

X509Certificate org.xdi.oxauth.model.crypto.OxAuthCryptoProvider.generateV3Certificate ( KeyPair  keyPair,
String  issuer,
String  signatureAlgorithm,
Long  expirationTime 
) throws CertIOException, OperatorCreationException, CertificateException
inline
281  {
282  PrivateKey privateKey = keyPair.getPrivate();
283  PublicKey publicKey = keyPair.getPublic();
284 
285  // Signers name
286  X500Name issuerName = new X500Name(issuer);
287 
288  // Subjects name - the same as we are self signed.
289  X500Name subjectName = new X500Name(issuer);
290 
291  // Serial
292  BigInteger serial = new BigInteger(256, new SecureRandom());
293 
294  // Not before
295  Date notBefore = new Date(System.currentTimeMillis() - 10000);
296  Date notAfter = new Date(expirationTime);
297 
298  // Create the certificate - version 3
299  JcaX509v3CertificateBuilder builder = new JcaX509v3CertificateBuilder(issuerName, serial, notBefore, notAfter, subjectName, publicKey);
300 
301  ASN1EncodableVector purposes = new ASN1EncodableVector();
302  purposes.add(KeyPurposeId.id_kp_serverAuth);
303  purposes.add(KeyPurposeId.id_kp_clientAuth);
304  purposes.add(KeyPurposeId.anyExtendedKeyUsage);
305 
306  ASN1ObjectIdentifier extendedKeyUsage = new ASN1ObjectIdentifier("2.5.29.37").intern();
307  builder.addExtension(extendedKeyUsage, false, new DERSequence(purposes));
308 
309  ContentSigner signer = new JcaContentSignerBuilder(signatureAlgorithm).setProvider("BC").build(privateKey);
310  X509CertificateHolder holder = builder.build(signer);
311  X509Certificate cert = new JcaX509CertificateConverter().setProvider("BC").getCertificate(holder);
312 
313  return cert;
314  }

◆ getJwksRequestParam()

JwksRequestParam org.xdi.oxauth.model.crypto.AbstractCryptoProvider.getJwksRequestParam ( JSONObject  jwkJsonObject) throws JSONException
inlineinherited
66  {
67  JwksRequestParam jwks = new JwksRequestParam();
68  jwks.setKeyRequestParams(new ArrayList<KeyRequestParam>());
69 
70  KeyRequestParam key = new KeyRequestParam();
71  key.setAlg(jwkJsonObject.getString(ALGORITHM));
72  key.setKid(jwkJsonObject.getString(KEY_ID));
73  key.setUse(jwkJsonObject.getString(KEY_USE));
74  key.setKty(jwkJsonObject.getString(KEY_TYPE));
75 
76  key.setN(jwkJsonObject.optString(MODULUS));
77  key.setE(jwkJsonObject.optString(EXPONENT));
78 
79  key.setCrv(jwkJsonObject.optString(CURVE));
80  key.setX(jwkJsonObject.optString(X));
81  key.setY(jwkJsonObject.optString(Y));
82 
83  jwks.getKeyRequestParams().add(key);
84 
85  return jwks;
86  }

◆ getJWKSValue()

String org.xdi.oxauth.model.crypto.OxAuthCryptoProvider.getJWKSValue ( JSONObject  jwks,
String  node 
) throws JSONException
inlineprivate
225  {
226  try {
227  return jwks.getString(node);
228  } catch (Exception ex) {
229  JSONObject publicKey = jwks.getJSONObject(PUBLIC_KEY);
230  return publicKey.getString(node);
231  }
232  }

◆ getKeyAliases()

List<String> org.xdi.oxauth.model.crypto.OxAuthCryptoProvider.getKeyAliases ( ) throws KeyStoreException
inline
316  {
317  return Collections.list(this.keyStore.aliases());
318  }
KeyStore keyStore
Definition: OxAuthCryptoProvider.java:66

◆ getKeyId()

String org.xdi.oxauth.model.crypto.AbstractCryptoProvider.getKeyId ( JSONWebKeySet  jsonWebKeySet,
SignatureAlgorithm  signatureAlgorithm,
Use  use 
) throws Exception
inlineinherited
56  {
57  for (JSONWebKey key : jsonWebKeySet.getKeys()) {
58  if (signatureAlgorithm == key.getAlg() && (use == null || use == key.getUse())) {
59  return key.getKid();
60  }
61  }
62 
63  return null;
64  }

◆ getPrivateKey()

PrivateKey org.xdi.oxauth.model.crypto.OxAuthCryptoProvider.getPrivateKey ( String  alias) throws UnrecoverableKeyException, NoSuchAlgorithmException, KeyStoreException
inline
265  {
266  if (Util.isNullOrEmpty(alias)) {
267  return null;
268  }
269 
270  Key key = keyStore.getKey(alias, keyStoreSecret.toCharArray());
271  if (key == null) {
272  return null;
273  }
274  PrivateKey privateKey = (PrivateKey) key;
275 
276  checkKeyExpiration(alias);
277 
278  return privateKey;
279  }
String keyStoreSecret
Definition: OxAuthCryptoProvider.java:68
void checkKeyExpiration(String alias)
Definition: OxAuthCryptoProvider.java:339
KeyStore keyStore
Definition: OxAuthCryptoProvider.java:66

◆ getPublicKey() [1/2]

PublicKey org.xdi.oxauth.model.crypto.AbstractCryptoProvider.getPublicKey ( String  alias,
JSONObject  jwks 
) throws Exception
inlineinherited
133  {
134  java.security.PublicKey publicKey = null;
135 
136  JSONArray webKeys = jwks.getJSONArray(JSON_WEB_KEY_SET);
137  for (int i = 0; i < webKeys.length(); i++) {
138  JSONObject key = webKeys.getJSONObject(i);
139  if (alias.equals(key.getString(KEY_ID))) {
140  SignatureAlgorithmFamily family = null;
141  if (key.has(ALGORITHM)) {
142  SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.fromString(key.optString(ALGORITHM));
143  family = signatureAlgorithm.getFamily();
144  } else if (key.has(KEY_TYPE)) {
145  family = SignatureAlgorithmFamily.fromString(key.getString(KEY_TYPE));
146  }
147 
148  if (SignatureAlgorithmFamily.RSA.equals(family)) {
149  publicKey = new RSAPublicKeyImpl(
150  new BigInteger(1, Base64Util.base64urldecode(key.getString(MODULUS))),
151  new BigInteger(1, Base64Util.base64urldecode(key.getString(EXPONENT))));
152  } else if (SignatureAlgorithmFamily.EC.equals(family)) {
153  ECEllipticCurve curve = ECEllipticCurve.fromString(key.optString(CURVE));
154  AlgorithmParameters parameters = AlgorithmParameters.getInstance(SignatureAlgorithmFamily.EC.toString());
155  parameters.init(new ECGenParameterSpec(curve.getAlias()));
156  ECParameterSpec ecParameters = parameters.getParameterSpec(ECParameterSpec.class);
157 
158  publicKey = KeyFactory.getInstance(SignatureAlgorithmFamily.EC.toString()).generatePublic(new ECPublicKeySpec(
159  new ECPoint(
160  new BigInteger(1, Base64Util.base64urldecode(key.getString(X))),
161  new BigInteger(1, Base64Util.base64urldecode(key.getString(Y)))
162  ), ecParameters));
163  }
164 
165  if (key.has(EXPIRATION_TIME)) {
166  checkKeyExpiration(alias, key.getLong(EXPIRATION_TIME));
167  }
168  }
169  }
170 
171  return publicKey;
172  }
void checkKeyExpiration(String alias, Long expirationTime)
Definition: AbstractCryptoProvider.java:174

◆ getPublicKey() [2/2]

PublicKey org.xdi.oxauth.model.crypto.OxAuthCryptoProvider.getPublicKey ( String  alias)
inline
242  {
243  PublicKey publicKey = null;
244 
245  try {
246  if (Util.isNullOrEmpty(alias)) {
247  return null;
248  }
249 
250  java.security.cert.Certificate certificate = keyStore.getCertificate(alias);
251  if (certificate == null) {
252  return null;
253  }
254  publicKey = certificate.getPublicKey();
255 
256  checkKeyExpiration(alias);
257  } catch (KeyStoreException e) {
258  e.printStackTrace();
259  }
260 
261  return publicKey;
262  }
void checkKeyExpiration(String alias)
Definition: OxAuthCryptoProvider.java:339
KeyStore keyStore
Definition: OxAuthCryptoProvider.java:66

◆ getSignatureAlgorithm()

SignatureAlgorithm org.xdi.oxauth.model.crypto.OxAuthCryptoProvider.getSignatureAlgorithm ( String  alias) throws UnrecoverableKeyException, NoSuchAlgorithmException, KeyStoreException
inline
320  {
321  Certificate[] chain = keyStore.getCertificateChain(alias);
322  if ((chain == null) || chain.length == 0) {
323  return null;
324  }
325 
326  X509Certificate cert = (X509Certificate) chain[0];
327 
328  String sighAlgName = cert.getSigAlgName();
329 
330  for (SignatureAlgorithm sa : SignatureAlgorithm.values()) {
331  if (sighAlgName.equalsIgnoreCase(sa.getAlgorithm())) {
332  return sa;
333  }
334  }
335 
336  return null;
337  }
KeyStore keyStore
Definition: OxAuthCryptoProvider.java:66

◆ sign()

String org.xdi.oxauth.model.crypto.OxAuthCryptoProvider.sign ( String  signingInput,
String  alias,
String  sharedSecret,
SignatureAlgorithm  signatureAlgorithm 
) throws Exception
inline
157  {
158  if (signatureAlgorithm == SignatureAlgorithm.NONE) {
159  return "";
160  } else if (SignatureAlgorithmFamily.HMAC.equals(signatureAlgorithm.getFamily())) {
161  SecretKey secretKey = new SecretKeySpec(sharedSecret.getBytes(Util.UTF8_STRING_ENCODING), signatureAlgorithm.getAlgorithm());
162  Mac mac = Mac.getInstance(signatureAlgorithm.getAlgorithm());
163  mac.init(secretKey);
164  byte[] sig = mac.doFinal(signingInput.getBytes());
165  return Base64Util.base64urlencode(sig);
166  } else { // EC or RSA
167  PrivateKey privateKey = getPrivateKey(alias);
168 
169  Signature signature = Signature.getInstance(signatureAlgorithm.getAlgorithm(), "BC");
170  //Signature signature = Signature.getInstance(signatureAlgorithm.getAlgorithm());
171  signature.initSign(privateKey);
172  signature.update(signingInput.getBytes());
173 
174  return Base64Util.base64urlencode(signature.sign());
175  }
176  }
PrivateKey getPrivateKey(String alias)
Definition: OxAuthCryptoProvider.java:264

◆ verifySignature()

boolean org.xdi.oxauth.model.crypto.OxAuthCryptoProvider.verifySignature ( String  signingInput,
String  encodedSignature,
String  alias,
JSONObject  jwks,
String  sharedSecret,
SignatureAlgorithm  signatureAlgorithm 
) throws Exception
inline
179  {
180  boolean verified = false;
181 
182  if (signatureAlgorithm == SignatureAlgorithm.NONE) {
183  return Util.isNullOrEmpty(encodedSignature);
184  } else if (SignatureAlgorithmFamily.HMAC.equals(signatureAlgorithm.getFamily())) {
185  String expectedSignature = sign(signingInput, null, sharedSecret, signatureAlgorithm);
186  return expectedSignature.equals(encodedSignature);
187  } else { // EC or RSA
188  PublicKey publicKey = null;
189 
190  try {
191  if (jwks == null) {
192  publicKey = getPublicKey(alias);
193  } else {
194  publicKey = getPublicKey(alias, jwks);
195  }
196  if (publicKey == null) {
197  return false;
198  }
199 
200  byte[] signature = Base64Util.base64urldecode(encodedSignature);
201 
202  Signature verifier = Signature.getInstance(signatureAlgorithm.getAlgorithm(), "BC");
203  //Signature verifier = Signature.getInstance(signatureAlgorithm.getAlgorithm());
204  verifier.initVerify(publicKey);
205  verifier.update(signingInput.getBytes());
206  verified = verifier.verify(signature);
207  } catch (NoSuchAlgorithmException e) {
208  LOG.error(e.getMessage(), e);
209  verified = false;
210  } catch (SignatureException e) {
211  LOG.error(e.getMessage(), e);
212  verified = false;
213  } catch (InvalidKeyException e) {
214  LOG.error(e.getMessage(), e);
215  verified = false;
216  } catch (Exception e) {
217  LOG.error(e.getMessage(), e);
218  verified = false;
219  }
220  }
221 
222  return verified;
223  }
static final Logger LOG
Definition: OxAuthCryptoProvider.java:64
PublicKey getPublicKey(String alias)
Definition: OxAuthCryptoProvider.java:242
String sign(String signingInput, String alias, String sharedSecret, SignatureAlgorithm signatureAlgorithm)
Definition: OxAuthCryptoProvider.java:157

メンバ詳解

◆ dnName

String org.xdi.oxauth.model.crypto.OxAuthCryptoProvider.dnName
private

◆ keyStore

KeyStore org.xdi.oxauth.model.crypto.OxAuthCryptoProvider.keyStore
private

◆ keyStoreFile

String org.xdi.oxauth.model.crypto.OxAuthCryptoProvider.keyStoreFile
private

◆ keyStoreSecret

String org.xdi.oxauth.model.crypto.OxAuthCryptoProvider.keyStoreSecret
private

◆ LOG

final Logger org.xdi.oxauth.model.crypto.OxAuthCryptoProvider.LOG = Logger.getLogger(OxAuthCryptoProvider.class)
staticprivate

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