You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ha...@apache.org on 2015/03/24 07:19:13 UTC
[1/2] directory-kerby git commit: DIRKRB-187 Write tgt into
credentials cache in kinit. Contributed by Jiajia
Repository: directory-kerby
Updated Branches:
refs/heads/master 103931a32 -> 149b7a931
DIRKRB-187 Write tgt into credentials cache in kinit. Contributed by Jiajia
Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/7948f5fb
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/7948f5fb
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/7948f5fb
Branch: refs/heads/master
Commit: 7948f5fb83e36418226b74b714dae9c1a37b77de
Parents: 653130a
Author: hazel <li...@foxmail.com>
Authored: Tue Mar 24 14:15:45 2015 +0800
Committer: hazel <li...@foxmail.com>
Committed: Tue Mar 24 14:17:59 2015 +0800
----------------------------------------------------------------------
kerby-tool/client-tool/pom.xml | 5 +++
.../apache/kerby/kerberos/tool/kinit/Kinit.java | 34 +++++++++++++-------
2 files changed, 28 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/7948f5fb/kerby-tool/client-tool/pom.xml
----------------------------------------------------------------------
diff --git a/kerby-tool/client-tool/pom.xml b/kerby-tool/client-tool/pom.xml
index 5f17dff..375ddb1 100644
--- a/kerby-tool/client-tool/pom.xml
+++ b/kerby-tool/client-tool/pom.xml
@@ -55,6 +55,11 @@
<artifactId>pki-provider</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.kerby</groupId>
+ <artifactId>kerb-util</artifactId>
+ <version>${project.version}</version>
+ </dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/7948f5fb/kerby-tool/client-tool/src/main/java/org/apache/kerby/kerberos/tool/kinit/Kinit.java
----------------------------------------------------------------------
diff --git a/kerby-tool/client-tool/src/main/java/org/apache/kerby/kerberos/tool/kinit/Kinit.java b/kerby-tool/client-tool/src/main/java/org/apache/kerby/kerberos/tool/kinit/Kinit.java
index f3da909..991a6ef 100644
--- a/kerby-tool/client-tool/src/main/java/org/apache/kerby/kerberos/tool/kinit/Kinit.java
+++ b/kerby-tool/client-tool/src/main/java/org/apache/kerby/kerberos/tool/kinit/Kinit.java
@@ -20,13 +20,18 @@
package org.apache.kerby.kerberos.tool.kinit;
import org.apache.kerby.kerberos.kerb.KrbException;
+import org.apache.kerby.kerberos.kerb.ccache.Credential;
+import org.apache.kerby.kerberos.kerb.ccache.CredentialCache;
import org.apache.kerby.kerberos.kerb.client.KOptionType;
import org.apache.kerby.kerberos.kerb.client.KOptions;
import org.apache.kerby.kerberos.kerb.client.KrbClient;
+import org.apache.kerby.kerberos.kerb.client.KrbOption;
import org.apache.kerby.kerberos.kerb.spec.ticket.TgtTicket;
import org.apache.kerby.kerberos.tool.ToolUtil;
import java.io.Console;
+import java.io.File;
+import java.io.IOException;
import java.util.Arrays;
import java.util.Scanner;
@@ -96,21 +101,29 @@ public class Kinit {
return password;
}
- private static int requestTicket(String principal, KOptions kinitOptions) {
+ private static void requestTicket(String principal, KOptions kinitOptions) throws KrbException, IOException {
KrbClient krbClient = new KrbClient();
krbClient.init();
String password = getPassword(principal);
- try {
- TgtTicket tgt = krbClient.requestTgtTicket(principal, password,
- ToolUtil.convertOptions(kinitOptions));
- // TODO: write tgt into credentials cache.
- return 0;
- } catch (KrbException e) {
- System.err.println("Error occurred:" + e.getMessage());
- return -1;
+ TgtTicket tgt = krbClient.requestTgtTicket(principal, password,
+ ToolUtil.convertOptions(kinitOptions));
+
+ // write tgt into credentials cache.
+ Credential credential = new Credential(tgt);
+ CredentialCache cCache = new CredentialCache();
+ cCache.addCredential(credential);
+ cCache.setPrimaryPrincipal(tgt.getClientPrincipal());
+
+ String fileName;
+ if (kinitOptions.contains(KrbOption.KRB5_CACHE)) {
+ fileName = kinitOptions.getStringOption(KrbOption.KRB5_CACHE);
+ } else {
+ fileName = "krb5_" + principal + ".cc";
}
+ File cCacheFile = new File("/tmp/", fileName);
+ cCache.store(cCacheFile);
}
public static void main(String[] args) throws Exception {
@@ -157,8 +170,7 @@ public class Kinit {
printUsage("No principal is specified");
}
- int errNo = Kinit.requestTicket(principal, ktOptions);
- System.exit(errNo);
+ Kinit.requestTicket(principal, ktOptions);
}
}
[2/2] directory-kerby git commit: Merge remote-tracking branch
'origin/master'
Posted by ha...@apache.org.
Merge remote-tracking branch 'origin/master'
Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/149b7a93
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/149b7a93
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/149b7a93
Branch: refs/heads/master
Commit: 149b7a931ebeb985800e4d3b25cf66606a1379a8
Parents: 7948f5f 103931a
Author: hazel <li...@foxmail.com>
Authored: Tue Mar 24 14:19:09 2015 +0800
Committer: hazel <li...@foxmail.com>
Committed: Tue Mar 24 14:19:09 2015 +0800
----------------------------------------------------------------------
----------------------------------------------------------------------