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/30 10:36:18 UTC

directory-kerby git commit: DIRKRB-202 Change the keys in JwtTokenEncoder and JwtTokenDecoder to be non-static. Contributed by Jiajia

Repository: directory-kerby
Updated Branches:
  refs/heads/master b6aa96875 -> a93a49afc


DIRKRB-202 Change the keys in JwtTokenEncoder and JwtTokenDecoder to be non-static. 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/a93a49af
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/a93a49af
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/a93a49af

Branch: refs/heads/master
Commit: a93a49afcaf730d508b55206bfae597b1ed0ffce
Parents: b6aa968
Author: Lin <li...@foxmail.com>
Authored: Mon Mar 30 16:35:44 2015 +0800
Committer: Lin <li...@foxmail.com>
Committed: Mon Mar 30 16:35:44 2015 +0800

----------------------------------------------------------------------
 .../provider/token/JwtTokenDecoder.java         |  8 +++---
 .../provider/token/JwtTokenEncoder.java         |  8 +++---
 .../kerberos/provider/token/TokenTest.java      | 30 +++++++++++---------
 3 files changed, 25 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/a93a49af/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 d662dff..7e85514 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
@@ -40,8 +40,8 @@ import java.text.ParseException;
  * JWT token decoder, implemented using Nimbus JWT library.
  */
 public class JwtTokenDecoder implements TokenDecoder {
-    private static RSAPrivateKey decryptionKey;
-    private static RSAPublicKey verifyKey;
+    private RSAPrivateKey decryptionKey;
+    private RSAPublicKey verifyKey;
 
     @Override
     public AuthToken decodeFromBytes(byte[] content) throws IOException {
@@ -125,7 +125,7 @@ public class JwtTokenDecoder implements TokenDecoder {
      *
      * @param key a private key
      */
-    public static void setDecryptionKey(RSAPrivateKey key) {
+    public void setDecryptionKey(RSAPrivateKey key) {
         decryptionKey = key;
     }
 
@@ -149,7 +149,7 @@ public class JwtTokenDecoder implements TokenDecoder {
      *
      * @param key a public key
      */
-    public static void setVerifyKey(RSAPublicKey key) {
+    public void setVerifyKey(RSAPublicKey key) {
         verifyKey = key;
     }
 

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/a93a49af/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 69668f6..61e994b 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
@@ -47,9 +47,9 @@ import java.text.ParseException;
 public class JwtTokenEncoder implements TokenEncoder {
     private static JWEAlgorithm jweAlgorithm = JWEAlgorithm.RSA_OAEP;
     private static EncryptionMethod encryptionMethod = EncryptionMethod.A128GCM;
-    private static RSAPublicKey encryptionKey;
     private static JWSAlgorithm jwsAlgorithm = JWSAlgorithm.RS256;
-    private static RSAPrivateKey signKey;
+    private RSAPublicKey encryptionKey;
+    private RSAPrivateKey signKey;
 
     @Override
     public byte[] encodeAsBytes(AuthToken token) throws KrbException {
@@ -122,7 +122,7 @@ public class JwtTokenEncoder implements TokenEncoder {
      *
      * @param key a public key
      */
-    public static void setEncryptionKey(RSAPublicKey key) {
+    public void setEncryptionKey(RSAPublicKey key) {
         encryptionKey = key;
     }
 
@@ -131,7 +131,7 @@ public class JwtTokenEncoder implements TokenEncoder {
      *
      * @param key a private key
      */
-    public static void setSignKey(RSAPrivateKey key) {
+    public void setSignKey(RSAPrivateKey key) {
         signKey = key;
     }
 }

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/a93a49af/kerby-provider/token-provider/src/test/java/org/apache/kerby/kerberos/provider/token/TokenTest.java
----------------------------------------------------------------------
diff --git a/kerby-provider/token-provider/src/test/java/org/apache/kerby/kerberos/provider/token/TokenTest.java b/kerby-provider/token-provider/src/test/java/org/apache/kerby/kerberos/provider/token/TokenTest.java
index 2baa3be..54eb5ff 100644
--- a/kerby-provider/token-provider/src/test/java/org/apache/kerby/kerberos/provider/token/TokenTest.java
+++ b/kerby-provider/token-provider/src/test/java/org/apache/kerby/kerberos/provider/token/TokenTest.java
@@ -92,13 +92,14 @@ public class TokenTest {
 
     @Test
     public void testTokenWithEncryptedJWT() throws Exception {
-        setEncryptKey();
         TokenEncoder tokenEncoder = KrbRuntime.getTokenProvider().createTokenEncoder();
+        TokenDecoder tokenDecoder = KrbRuntime.getTokenProvider().createTokenDecoder();
+        setEncryptKey((JwtTokenEncoder)tokenEncoder, (JwtTokenDecoder)tokenDecoder);
         String tokenStr = tokenEncoder.encodeAsString(authToken);
         System.out.println("Auth token: " + tokenStr);
         Assertions.assertThat(tokenStr).isNotNull();
 
-        TokenDecoder tokenDecoder = KrbRuntime.getTokenProvider().createTokenDecoder();
+
         AuthToken token2 = tokenDecoder.decodeFromString(tokenStr);
         System.out.println("Decoded token's subject: " + token2.getSubject());
         Assertions.assertThat(token2.getSubject()).isEqualTo(SUBJECT);
@@ -107,13 +108,14 @@ public class TokenTest {
 
     @Test
     public void testTokenWithSignedJWT() throws Exception {
-        setSignKey();
         TokenEncoder tokenEncoder = KrbRuntime.getTokenProvider().createTokenEncoder();
+        TokenDecoder tokenDecoder = KrbRuntime.getTokenProvider().createTokenDecoder();
+        setSignKey((JwtTokenEncoder)tokenEncoder, (JwtTokenDecoder)tokenDecoder);
         String tokenStr = tokenEncoder.encodeAsString(authToken);
         System.out.println("Auth token: " + tokenStr);
         Assertions.assertThat(tokenStr).isNotNull();
 
-        TokenDecoder tokenDecoder = KrbRuntime.getTokenProvider().createTokenDecoder();
+
         AuthToken token2 = tokenDecoder.decodeFromString(tokenStr);
         System.out.println("Decoded token's subject: " + token2.getSubject());
         Assertions.assertThat(token2.getSubject()).isEqualTo(SUBJECT);
@@ -122,24 +124,26 @@ public class TokenTest {
 
     @Test
     public void testTokenWithSingedAndEncryptedJWT() throws Exception {
-        setSignKey();
-        setEncryptKey();
+
         TokenEncoder tokenEncoder = KrbRuntime.getTokenProvider().createTokenEncoder();
+        TokenDecoder tokenDecoder = KrbRuntime.getTokenProvider().createTokenDecoder();
+        setSignKey((JwtTokenEncoder)tokenEncoder, (JwtTokenDecoder)tokenDecoder);
+        setEncryptKey((JwtTokenEncoder)tokenEncoder, (JwtTokenDecoder)tokenDecoder);
         String tokenStr = tokenEncoder.encodeAsString(authToken);
         System.out.println("Auth token: " + tokenStr);
         Assertions.assertThat(tokenStr).isNotNull();
 
-        TokenDecoder tokenDecoder = KrbRuntime.getTokenProvider().createTokenDecoder();
+
         AuthToken token2 = tokenDecoder.decodeFromString(tokenStr);
         System.out.println("Decoded token's subject: " + token2.getSubject());
         Assertions.assertThat(token2.getSubject()).isEqualTo(SUBJECT);
         Assertions.assertThat(token2.getIssuer()).isEqualTo(ISSUER);
     }
 
-    private void setEncryptKey() {
+    private void setEncryptKey(JwtTokenEncoder encoder, JwtTokenDecoder decoder) {
         KeyPair encryptionKeyPair = getKeyPair();
-        JwtTokenEncoder.setEncryptionKey((RSAPublicKey) encryptionKeyPair.getPublic());
-        JwtTokenDecoder.setDecryptionKey((RSAPrivateKey) encryptionKeyPair.getPrivate());
+        encoder.setEncryptionKey((RSAPublicKey) encryptionKeyPair.getPublic());
+        decoder.setDecryptionKey((RSAPrivateKey) encryptionKeyPair.getPrivate());
     }
 
     private KeyPair getKeyPair() {
@@ -152,9 +156,9 @@ public class TokenTest {
         return kpg.generateKeyPair();
     }
 
-    private void setSignKey() {
+    private void setSignKey(JwtTokenEncoder encoder, JwtTokenDecoder decoder) {
         KeyPair signKeyPair = getKeyPair();
-        JwtTokenEncoder.setSignKey((RSAPrivateKey) signKeyPair.getPrivate());
-        JwtTokenDecoder.setVerifyKey((RSAPublicKey)signKeyPair.getPublic());
+        encoder.setSignKey((RSAPrivateKey) signKeyPair.getPrivate());
+        decoder.setVerifyKey((RSAPublicKey)signKeyPair.getPublic());
     }
 }