use of io.vertx.up.exception._500JwtRuntimeException in project vertx-zero by silentbalanceyh.
the class UxJwt method createDirect.
private static JWT createDirect(final JWTAuthOptions config, final Function<String, Buffer> funcBuffer) {
final JWT reference;
final KeyStoreOptions keyStore = config.getKeyStore();
try {
if (keyStore != null) {
final KeyStore ks = KeyStore.getInstance(keyStore.getType());
final Class var5 = JwtAuthProvider.class;
synchronized (JwtAuthProvider.class) {
final Buffer keystore = funcBuffer.apply(keyStore.getPath());
final InputStream in = new ByteArrayInputStream(keystore.getBytes());
Throwable var8 = null;
try {
ks.load(in, keyStore.getPassword().toCharArray());
} catch (final Throwable var20) {
var8 = var20;
throw var20;
} finally {
if (in != null) {
if (var8 != null) {
try {
in.close();
} catch (final Throwable var19) {
var8.addSuppressed(var19);
}
} else {
in.close();
}
}
}
}
reference = new JWT(ks, keyStore.getPassword().toCharArray());
} else {
reference = new JWT();
final List<PubSecKeyOptions> keys = config.getPubSecKeys();
if (keys != null) {
final Iterator var25 = config.getPubSecKeys().iterator();
while (var25.hasNext()) {
final PubSecKeyOptions pubSecKey = (PubSecKeyOptions) var25.next();
if (pubSecKey.isSymmetric()) {
reference.addJWK(new JWK(pubSecKey.getAlgorithm(), pubSecKey.getPublicKey()));
} else {
reference.addJWK(new JWK(pubSecKey.getAlgorithm(), pubSecKey.isCertificate(), pubSecKey.getPublicKey(), pubSecKey.getSecretKey()));
}
}
}
final List<SecretOptions> secrets = config.getSecrets();
if (secrets != null) {
final Iterator var28 = secrets.iterator();
while (var28.hasNext()) {
final SecretOptions secret = (SecretOptions) var28.next();
reference.addSecret(secret.getType(), secret.getSecret());
}
}
}
} catch (IOException | FileSystemException | CertificateException | NoSuchAlgorithmException | KeyStoreException var23) {
throw new _500JwtRuntimeException(UxJwt.class, var23);
}
return reference;
}
Aggregations