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 <[email protected]> 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);
