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);