You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by bu...@apache.org on 2020/03/06 13:39:28 UTC

[cxf] 02/03: cxf-rt-rs-security-jose: minor improvements

This is an automated email from the ASF dual-hosted git repository.

buhhunyx pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit b62c25d8dd293a0bdb06fbb8592c799f9124984a
Author: Alexey Markevich <bu...@gmail.com>
AuthorDate: Fri Mar 6 16:33:09 2020 +0300

    cxf-rt-rs-security-jose: minor improvements
---
 .../cxf/rs/security/jose/jwe/JweJwtCompactConsumer.java      |  9 +--------
 .../org/apache/cxf/rs/security/jose/jwk/JsonWebKeys.java     |  6 +++---
 .../java/org/apache/cxf/rs/security/jose/jwk/JwkUtils.java   |  2 +-
 .../apache/cxf/rs/security/jose/jws/JwsCompactProducer.java  | 12 +++++-------
 .../java/org/apache/cxf/rs/security/jose/jwt/JwtToken.java   |  6 +++---
 5 files changed, 13 insertions(+), 22 deletions(-)

diff --git a/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/JweJwtCompactConsumer.java b/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/JweJwtCompactConsumer.java
index 988dd8d..e0bf7dd 100644
--- a/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/JweJwtCompactConsumer.java
+++ b/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/JweJwtCompactConsumer.java
@@ -52,18 +52,11 @@ public class JweJwtCompactConsumer  {
     }
     public JwtToken decryptWith(JweDecryptionProvider jwe) {
         byte[] bytes = jwe.decrypt(jweConsumer.getJweDecryptionInput());
-        JwtClaims claims = JwtUtils.jsonToClaims(toString(bytes));
+        JwtClaims claims = JwtUtils.jsonToClaims(new String(bytes, StandardCharsets.UTF_8));
         return new JwtToken(headers, claims);
     }
 
     public JweHeaders getHeaders() {
         return headers;
     }
-    private static String toString(byte[] bytes) {
-        try {
-            return new String(bytes, StandardCharsets.UTF_8);
-        } catch (Exception ex) {
-            throw new RuntimeException(ex);
-        }
-    }
 }
diff --git a/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jwk/JsonWebKeys.java b/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jwk/JsonWebKeys.java
index 7be2e8a..68591fb 100644
--- a/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jwk/JsonWebKeys.java
+++ b/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jwk/JsonWebKeys.java
@@ -18,6 +18,7 @@
  */
 package org.apache.cxf.rs.security.jose.jwk;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.LinkedHashMap;
 import java.util.LinkedList;
@@ -49,9 +50,8 @@ public class JsonWebKeys extends JsonMapObject {
             if (first instanceof JsonWebKey) {
                 return CastUtils.cast(list);
             }
-            List<JsonWebKey> keys = new LinkedList<>();
-            List<Map<String, Object>> listOfMaps =
-                CastUtils.cast((List<?>)super.getProperty(KEYS_PROPERTY));
+            List<Map<String, Object>> listOfMaps = super.getListMapProperty(KEYS_PROPERTY);
+            List<JsonWebKey> keys = new ArrayList<>(listOfMaps.size());
             for (Map<String, Object> map : listOfMaps) {
                 keys.add(new JsonWebKey(map));
             }
diff --git a/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jwk/JwkUtils.java b/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jwk/JwkUtils.java
index 93155d7..d86781a 100644
--- a/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jwk/JwkUtils.java
+++ b/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jwk/JwkUtils.java
@@ -402,7 +402,7 @@ public final class JwkUtils {
         return jwk;
     }
     public static JsonWebKey fromPublicKey(PublicKey key, Properties props, String algoProp) {
-        JsonWebKey jwk = null;
+        final JsonWebKey jwk;
         if (key instanceof RSAPublicKey) {
             String algo = props.getProperty(algoProp);
             jwk = JwkUtils.fromRSAPublicKey((RSAPublicKey)key, algo);
diff --git a/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsCompactProducer.java b/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsCompactProducer.java
index e725322..7eb4aca 100644
--- a/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsCompactProducer.java
+++ b/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsCompactProducer.java
@@ -30,11 +30,11 @@ import org.apache.cxf.rs.security.jose.jwa.SignatureAlgorithm;
 import org.apache.cxf.rs.security.jose.jwk.JsonWebKey;
 
 public class JwsCompactProducer {
-    private JsonMapObjectReaderWriter writer = new JsonMapObjectReaderWriter();
     private JwsHeaders headers;
     private String signature;
     private final String plainJwsPayload;
     private final boolean detached;
+    private final JsonMapObjectReaderWriter writer;
 
     public JwsCompactProducer(String plainJwsPayload) {
         this(plainJwsPayload, false);
@@ -54,11 +54,9 @@ public class JwsCompactProducer {
     protected JwsCompactProducer(JwsHeaders headers, JsonMapObjectReaderWriter w, String plainJwsPayload,
                                  boolean detached) {
         this.headers = headers;
-        if (w != null) {
-            this.writer = w;
-        }
         this.plainJwsPayload = plainJwsPayload;
         this.detached = detached;
+        this.writer = w != null ? w : new JsonMapObjectReaderWriter();
     }
     public JwsHeaders getJwsHeaders() {
         if (headers == null) {
@@ -69,14 +67,14 @@ public class JwsCompactProducer {
     public String getUnsignedEncodedJws() {
         checkAlgorithm();
         return Base64UrlUtility.encode(writer.toJson(getJwsHeaders()))
-               + "."
+               + '.'
                + (detached ? "" : Base64UrlUtility.encode(plainJwsPayload));
     }
     private String getSigningInput() {
         checkAlgorithm();
         boolean unencoded = JwsUtils.isPayloadUnencoded(getJwsHeaders());
         return Base64UrlUtility.encode(writer.toJson(getJwsHeaders()))
-               + "."
+               + '.'
                + (unencoded ? plainJwsPayload : Base64UrlUtility.encode(plainJwsPayload));
     }
     public String getEncodedSignature() {
@@ -88,7 +86,7 @@ public class JwsCompactProducer {
         if (noSignature && !isPlainText()) {
             throw new IllegalStateException("Signature is not available");
         }
-        return getUnsignedEncodedJws() + "." + (noSignature ? "" : signature);
+        return getUnsignedEncodedJws() + '.' + (noSignature ? "" : signature);
     }
     public String signWith(JsonWebKey jwk) {
         return signWith(JwsUtils.getSignatureProvider(jwk,
diff --git a/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jwt/JwtToken.java b/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jwt/JwtToken.java
index 800b3d3..b3d1f89 100644
--- a/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jwt/JwtToken.java
+++ b/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jwt/JwtToken.java
@@ -24,9 +24,9 @@ import org.apache.cxf.rs.security.jose.jws.JwsHeaders;
 
 
 public class JwtToken {
-    private JwsHeaders jwsHeaders;
-    private JweHeaders jweHeaders;
-    private JwtClaims claims;
+    private final JwsHeaders jwsHeaders;
+    private final JweHeaders jweHeaders;
+    private final JwtClaims claims;
 
     public JwtToken(JwtClaims claims) {
         this(new JwsHeaders(), new JweHeaders(), claims);