You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pl...@apache.org on 2015/11/04 09:26:10 UTC
[44/48] directory-kerby git commit: DIRKRB-439 Refactor the
TokenEncoder and TokenDecoder.
DIRKRB-439 Refactor the TokenEncoder and TokenDecoder.
Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/8ee7c599
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/8ee7c599
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/8ee7c599
Branch: refs/heads/pkinit-support
Commit: 8ee7c599fd970dce4622873e76d8001b8d77ed32
Parents: 487043c
Author: plusplusjiajia <ji...@intel.com>
Authored: Thu Oct 29 11:36:50 2015 +0800
Committer: plusplusjiajia <ji...@intel.com>
Committed: Thu Oct 29 11:36:50 2015 +0800
----------------------------------------------------------------------
.../kerberos/kerb/provider/TokenDecoder.java | 37 +++++++++++++++
.../kerberos/kerb/provider/TokenEncoder.java | 30 +++++++++++++
.../provider/token/JwtTokenDecoder.java | 28 ++++++------
.../provider/token/JwtTokenEncoder.java | 47 +++++++++-----------
4 files changed, 102 insertions(+), 40 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/8ee7c599/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/provider/TokenDecoder.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/provider/TokenDecoder.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/provider/TokenDecoder.java
index e52a9b3..88bcd0c 100644
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/provider/TokenDecoder.java
+++ b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/provider/TokenDecoder.java
@@ -22,6 +22,8 @@ package org.apache.kerby.kerberos.kerb.provider;
import org.apache.kerby.kerberos.kerb.spec.base.AuthToken;
import java.io.IOException;
+import java.security.PrivateKey;
+import java.security.PublicKey;
/**
* An AuthToken decoder.
@@ -43,4 +45,39 @@ public interface TokenDecoder {
* @throws IOException e
*/
AuthToken decodeFromString(String content) throws IOException;
+
+ /**
+ * set the verify key
+ *
+ * @param key a public key
+ */
+ void setVerifyKey(PublicKey key);
+
+ /**
+ * set the verify key
+ *
+ * @param key a byte[] key
+ */
+ void setVerifyKey(byte[] key);
+
+ /**
+ * Set the decryption key
+ *
+ * @param key a private key
+ */
+ void setDecryptionKey(PrivateKey key);
+
+ /**
+ * Set the decryption key
+ *
+ * @param key a secret key
+ */
+ void setDecryptionKey(byte[] key);
+
+ /**
+ * The token signed or not
+ *
+ * @return signed or not signed
+ */
+ boolean isSigned();
}
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/8ee7c599/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/provider/TokenEncoder.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/provider/TokenEncoder.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/provider/TokenEncoder.java
index 90d06be..0f6cc6b 100644
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/provider/TokenEncoder.java
+++ b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/provider/TokenEncoder.java
@@ -22,6 +22,9 @@ package org.apache.kerby.kerberos.kerb.provider;
import org.apache.kerby.kerberos.kerb.KrbException;
import org.apache.kerby.kerberos.kerb.spec.base.AuthToken;
+import java.security.PrivateKey;
+import java.security.PublicKey;
+
/**
* An AuthToken encoder.
*/
@@ -43,5 +46,32 @@ public interface TokenEncoder {
*/
String encodeAsString(AuthToken token) throws KrbException;
+ /**
+ * set the encryption key
+ *
+ * @param key a public key
+ */
+ void setEncryptionKey(PublicKey key);
+
+ /**
+ * set the encryption key
+ *
+ * @param key a secret key
+ */
+ void setEncryptionKey(byte[] key);
+
+ /**
+ * set the sign key
+ *
+ * @param key a private key
+ */
+ void setSignKey(PrivateKey key);
+
+ /**
+ * set the sign key
+ *
+ * @param key a secret key
+ */
+ void setSignKey(byte[] key);
}
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/8ee7c599/kerby-provider/token-provider/src/main/java/org/apache/kerby/kerberos/provider/token/JwtTokenDecoder.java
----------------------------------------------------------------------
diff --git a/kerby-provider/token-provider/src/main/java/org/apache/kerby/kerberos/provider/token/JwtTokenDecoder.java b/kerby-provider/token-provider/src/main/java/org/apache/kerby/kerberos/provider/token/JwtTokenDecoder.java
index b42dd86..7c34bf1 100644
--- a/kerby-provider/token-provider/src/main/java/org/apache/kerby/kerberos/provider/token/JwtTokenDecoder.java
+++ b/kerby-provider/token-provider/src/main/java/org/apache/kerby/kerberos/provider/token/JwtTokenDecoder.java
@@ -164,19 +164,17 @@ public class JwtTokenDecoder implements TokenDecoder {
}
/**
- * Set the decryption key
- *
- * @param key a private key
+ * {@inheritDoc}
*/
+ @Override
public void setDecryptionKey(PrivateKey key) {
decryptionKey = key;
}
-
+
/**
- * Set the decryption key
- *
- * @param key a secret key
+ * {@inheritDoc}
*/
+ @Override
public void setDecryptionKey(byte[] key) {
decryptionKey = key;
}
@@ -212,19 +210,17 @@ public class JwtTokenDecoder implements TokenDecoder {
}
/**
- * set the verify key
- *
- * @param key a public key
+ * {@inheritDoc}
*/
+ @Override
public void setVerifyKey(PublicKey key) {
verifyKey = key;
}
-
+
/**
- * set the verify key
- *
- * @param key a byte[] key
+ * {@inheritDoc}
*/
+ @Override
public void setVerifyKey(byte[] key) {
verifyKey = key;
}
@@ -278,6 +274,10 @@ public class JwtTokenDecoder implements TokenDecoder {
return valid;
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public boolean isSigned() {
return signed;
}
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/8ee7c599/kerby-provider/token-provider/src/main/java/org/apache/kerby/kerberos/provider/token/JwtTokenEncoder.java
----------------------------------------------------------------------
diff --git a/kerby-provider/token-provider/src/main/java/org/apache/kerby/kerberos/provider/token/JwtTokenEncoder.java b/kerby-provider/token-provider/src/main/java/org/apache/kerby/kerberos/provider/token/JwtTokenEncoder.java
index 44ef6e5..0d129f4 100644
--- a/kerby-provider/token-provider/src/main/java/org/apache/kerby/kerberos/provider/token/JwtTokenEncoder.java
+++ b/kerby-provider/token-provider/src/main/java/org/apache/kerby/kerberos/provider/token/JwtTokenEncoder.java
@@ -19,18 +19,6 @@
*/
package org.apache.kerby.kerberos.provider.token;
-import java.nio.charset.Charset;
-import java.security.PrivateKey;
-import java.security.PublicKey;
-import java.security.interfaces.ECPrivateKey;
-import java.security.interfaces.RSAPrivateKey;
-import java.security.interfaces.RSAPublicKey;
-import java.text.ParseException;
-
-import org.apache.kerby.kerberos.kerb.KrbException;
-import org.apache.kerby.kerberos.kerb.provider.TokenEncoder;
-import org.apache.kerby.kerberos.kerb.spec.base.AuthToken;
-
import com.nimbusds.jose.EncryptionMethod;
import com.nimbusds.jose.JOSEException;
import com.nimbusds.jose.JWEAlgorithm;
@@ -49,6 +37,17 @@ import com.nimbusds.jose.crypto.RSASSASigner;
import com.nimbusds.jwt.EncryptedJWT;
import com.nimbusds.jwt.JWT;
import com.nimbusds.jwt.SignedJWT;
+import org.apache.kerby.kerberos.kerb.KrbException;
+import org.apache.kerby.kerberos.kerb.provider.TokenEncoder;
+import org.apache.kerby.kerberos.kerb.spec.base.AuthToken;
+
+import java.nio.charset.Charset;
+import java.security.PrivateKey;
+import java.security.PublicKey;
+import java.security.interfaces.ECPrivateKey;
+import java.security.interfaces.RSAPrivateKey;
+import java.security.interfaces.RSAPublicKey;
+import java.text.ParseException;
/**
* JWT token encoder, implemented using Nimbus JWT library.
@@ -172,37 +171,33 @@ public class JwtTokenEncoder implements TokenEncoder {
}
/**
- * set the encryption key
- *
- * @param key a public key
+ * {@inheritDoc}
*/
+ @Override
public void setEncryptionKey(PublicKey key) {
encryptionKey = key;
}
-
+
/**
- * set the encryption key
- *
- * @param key a secret key
+ * {@inheritDoc}
*/
+ @Override
public void setEncryptionKey(byte[] key) {
encryptionKey = key;
}
/**
- * set the sign key
- *
- * @param key a private key
+ * {@inheritDoc}
*/
+ @Override
public void setSignKey(PrivateKey key) {
signKey = key;
}
-
+
/**
- * set the sign key
- *
- * @param key a secret key
+ * {@inheritDoc}
*/
+ @Override
public void setSignKey(byte[] key) {
signKey = key;
}