You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by co...@apache.org on 2015/11/06 16:13:44 UTC
[3/6] cxf git commit: Allow setting the signature properties directly
Allow setting the signature properties directly
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/7da65ce2
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/7da65ce2
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/7da65ce2
Branch: refs/heads/master
Commit: 7da65ce2354ba3122cde0e618dbcd34d85f6da91
Parents: e522f27
Author: Colm O hEigeartaigh <co...@apache.org>
Authored: Fri Nov 6 12:19:01 2015 +0000
Committer: Colm O hEigeartaigh <co...@apache.org>
Committed: Fri Nov 6 14:58:59 2015 +0000
----------------------------------------------------------------------
.../jose/common/KeyManagementUtils.java | 2 +-
.../security/jose/jws/JwsCompactProducer.java | 22 +++++++++++++++-----
.../cxf/rs/security/jose/jws/JwsUtils.java | 2 +-
3 files changed, 19 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/7da65ce2/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/common/KeyManagementUtils.java
----------------------------------------------------------------------
diff --git a/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/common/KeyManagementUtils.java b/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/common/KeyManagementUtils.java
index bb771a6..a53e7a8 100644
--- a/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/common/KeyManagementUtils.java
+++ b/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/common/KeyManagementUtils.java
@@ -311,7 +311,7 @@ public final class KeyManagementUtils {
}
public static String getKeyAlgorithm(Message m, Properties props, String propName, String defaultAlg) {
String algo = props.getProperty(propName);
- if (algo == null) {
+ if (algo == null && m != null) {
algo = (String)m.getContextualProperty(propName);
}
if (algo == null) {
http://git-wip-us.apache.org/repos/asf/cxf/blob/7da65ce2/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsCompactProducer.java
----------------------------------------------------------------------
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 8ed3dc6..5fba635 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
@@ -37,6 +37,7 @@ public class JwsCompactProducer {
private String plainJwsPayload;
private String signature;
private boolean detached;
+ private Properties signatureProperties;
public JwsCompactProducer(String plainJwsPayload) {
this(plainJwsPayload, false);
}
@@ -138,12 +139,10 @@ public class JwsCompactProducer {
return getJwsHeaders().getSignatureAlgorithm();
}
private void checkAlgorithm() {
- if (getAlgorithm() == null && PhaseInterceptorChain.getCurrentMessage() != null) {
+ if (getAlgorithm() == null) {
+ Properties sigProps = getSignatureProperties();
Message m = PhaseInterceptorChain.getCurrentMessage();
- Properties props = KeyManagementUtils.loadStoreProperties(m, false,
- JoseConstants.RSSEC_SIGNATURE_OUT_PROPS,
- JoseConstants.RSSEC_SIGNATURE_PROPS);
- String signatureAlgo = JwsUtils.getSignatureAlgo(m, props, null, null);
+ String signatureAlgo = JwsUtils.getSignatureAlgo(m, sigProps, null, null);
if (signatureAlgo != null) {
getJwsHeaders().setSignatureAlgorithm(SignatureAlgorithm.getAlgorithm(signatureAlgo));
}
@@ -153,4 +152,17 @@ public class JwsCompactProducer {
throw new JwsException(JwsException.Error.INVALID_ALGORITHM);
}
}
+ public Properties getSignatureProperties() {
+ if (signatureProperties == null && PhaseInterceptorChain.getCurrentMessage() != null) {
+ Message m = PhaseInterceptorChain.getCurrentMessage();
+ signatureProperties = KeyManagementUtils.loadStoreProperties(m, false,
+ JoseConstants.RSSEC_SIGNATURE_OUT_PROPS,
+ JoseConstants.RSSEC_SIGNATURE_PROPS);
+
+ }
+ return signatureProperties;
+ }
+ public void setSignatureProperties(Properties signatureProperties) {
+ this.signatureProperties = signatureProperties;
+ }
}
http://git-wip-us.apache.org/repos/asf/cxf/blob/7da65ce2/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsUtils.java
----------------------------------------------------------------------
diff --git a/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsUtils.java b/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsUtils.java
index fcebd84..b9f0001 100644
--- a/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsUtils.java
+++ b/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsUtils.java
@@ -400,7 +400,7 @@ public final class JwsUtils {
// Check for deprecated identifier first
String sigAlgo = props.getProperty(JoseConstants.DEPR_RSSEC_SIGNATURE_ALGORITHM);
- if (sigAlgo == null) {
+ if (sigAlgo == null && m != null) {
sigAlgo = (String)m.getContextualProperty(JoseConstants.DEPR_RSSEC_SIGNATURE_ALGORITHM);
}
if (sigAlgo != null) {