You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by co...@apache.org on 2017/07/21 11:27:36 UTC
[49/50] [abbrv] directory-kerby git commit: DIRKRB-587 - Load JWT
verification key from classpath as well
DIRKRB-587 - Load JWT verification key from classpath as well
Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/050c3d0e
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/050c3d0e
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/050c3d0e
Branch: refs/heads/gssapi
Commit: 050c3d0e17f93dde95eed52aa5055adaf78a3a44
Parents: 83b95b7
Author: Colm O hEigeartaigh <co...@apache.org>
Authored: Wed Jun 15 17:29:55 2016 +0100
Committer: Colm O hEigeartaigh <co...@apache.org>
Committed: Fri Jul 21 12:25:51 2017 +0100
----------------------------------------------------------------------
.../kerb/server/preauth/token/TokenPreauth.java | 50 ++++++++++----------
1 file changed, 24 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/050c3d0e/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/preauth/token/TokenPreauth.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/preauth/token/TokenPreauth.java b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/preauth/token/TokenPreauth.java
index f4580fc..34fec85 100644
--- a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/preauth/token/TokenPreauth.java
+++ b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/preauth/token/TokenPreauth.java
@@ -48,6 +48,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
+import java.io.InputStream;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.util.List;
@@ -123,39 +124,35 @@ public class TokenPreauth extends AbstractPreauthPlugin {
private void configureKeys(TokenDecoder tokenDecoder, KdcRequest kdcRequest, String issuer) {
String verifyKeyPath = kdcRequest.getKdcContext().getConfig().getVerifyKeyConfig();
if (verifyKeyPath != null) {
- File verifyKeyFile = getKeyFile(verifyKeyPath, issuer);
- if (verifyKeyFile != null) {
- PublicKey verifyKey = null;
- try {
- FileInputStream fis = new FileInputStream(verifyKeyFile);
- verifyKey = PublicKeyReader.loadPublicKey(fis);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (Exception e) {
- e.printStackTrace();
+ try {
+ InputStream verifyKeyFile = getKeyFileStream(verifyKeyPath, issuer);
+ if (verifyKeyFile != null) {
+ PublicKey verifyKey = PublicKeyReader.loadPublicKey(verifyKeyFile);
+ tokenDecoder.setVerifyKey(verifyKey);
}
- tokenDecoder.setVerifyKey(verifyKey);
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (Exception e) {
+ e.printStackTrace();
}
}
String decryptionKeyPath = kdcRequest.getKdcContext().getConfig().getDecryptionKeyConfig();
if (decryptionKeyPath != null) {
- File decryptionKeyFile = getKeyFile(decryptionKeyPath, issuer);
- if (decryptionKeyFile != null) {
- PrivateKey decryptionKey = null;
- try {
- FileInputStream fis = new FileInputStream(decryptionKeyFile);
- decryptionKey = PrivateKeyReader.loadPrivateKey(fis);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (Exception e) {
- e.printStackTrace();
+ try {
+ InputStream decryptionKeyFile = getKeyFileStream(decryptionKeyPath, issuer);
+ if (decryptionKeyFile != null) {
+ PrivateKey decryptionKey = PrivateKeyReader.loadPrivateKey(decryptionKeyFile);
+ tokenDecoder.setDecryptionKey(decryptionKey);
}
- tokenDecoder.setDecryptionKey(decryptionKey);
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (Exception e) {
+ e.printStackTrace();
}
}
}
- private File getKeyFile(String path, String issuer) {
+ private InputStream getKeyFileStream(String path, String issuer) throws FileNotFoundException {
File file = new File(path);
if (file.isDirectory()) {
File[] listOfFiles = file.listFiles();
@@ -170,11 +167,12 @@ public class TokenPreauth extends AbstractPreauthPlugin {
break;
}
}
- return verifyKeyFile;
+ return new FileInputStream(verifyKeyFile);
} else if (file.isFile()) {
- return file;
+ return new FileInputStream(file);
}
- return null;
+ // Not a directory or a file...maybe it's a resource on the classpath
+ return this.getClass().getClassLoader().getResourceAsStream(path);
}
}