This is an automated email from the ASF dual-hosted git repository.
coheigea pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf.git
The following commit(s) were added to refs/heads/master by this push:
new 89b734f add more generic interface which allows to use a sharedKey/Key
new 9bcd7c2 Merge pull request #536 from
davidkarlsen/feature/supportSharedKeys
89b734f is described below
commit 89b734feaa1c2d35c782236d4b39ae216e742426
Author: David J. M. Karlsen <[email protected]>
AuthorDate: Thu Apr 4 02:15:07 2019 +0200
add more generic interface which allows to use a sharedKey/Key
Signed-off-by: David J. M. Karlsen <[email protected]>
---
.../cxf/rs/security/httpsignature/SignatureValidator.java | 4 ++--
.../httpsignature/TomitribeSignatureValidator.java | 6 +++---
.../provider/{PublicKeyProvider.java => KeyProvider.java} | 15 +++++++--------
.../httpsignature/provider/PrivateKeyProvider.java | 2 +-
.../httpsignature/provider/PublicKeyProvider.java | 2 +-
5 files changed, 14 insertions(+), 15 deletions(-)
diff --git
a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/SignatureValidator.java
b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/SignatureValidator.java
index ab0220f..10e8457 100644
---
a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/SignatureValidator.java
+++
b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/SignatureValidator.java
@@ -22,13 +22,13 @@ import java.util.List;
import java.util.Map;
import org.apache.cxf.rs.security.httpsignature.provider.AlgorithmProvider;
-import org.apache.cxf.rs.security.httpsignature.provider.PublicKeyProvider;
+import org.apache.cxf.rs.security.httpsignature.provider.KeyProvider;
import org.apache.cxf.rs.security.httpsignature.provider.SecurityProvider;
public interface SignatureValidator {
void validate(Map<String, List<String>> messageHeaders,
AlgorithmProvider algorithmProvider,
- PublicKeyProvider publicKeyProvider,
+ KeyProvider keyProvider,
SecurityProvider securityProvider,
String method,
String uri);
diff --git
a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/TomitribeSignatureValidator.java
b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/TomitribeSignatureValidator.java
index 4f5199f..aa00747 100644
---
a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/TomitribeSignatureValidator.java
+++
b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/TomitribeSignatureValidator.java
@@ -30,7 +30,7 @@ import
org.apache.cxf.rs.security.httpsignature.exception.InvalidDataToVerifySig
import
org.apache.cxf.rs.security.httpsignature.exception.InvalidSignatureException;
import
org.apache.cxf.rs.security.httpsignature.exception.InvalidSignatureHeaderException;
import org.apache.cxf.rs.security.httpsignature.provider.AlgorithmProvider;
-import org.apache.cxf.rs.security.httpsignature.provider.PublicKeyProvider;
+import org.apache.cxf.rs.security.httpsignature.provider.KeyProvider;
import org.apache.cxf.rs.security.httpsignature.provider.SecurityProvider;
import org.apache.cxf.rs.security.httpsignature.utils.SignatureHeaderUtils;
import org.tomitribe.auth.signatures.Signature;
@@ -47,7 +47,7 @@ public class TomitribeSignatureValidator implements
SignatureValidator {
@Override
public void validate(Map<String, List<String>> messageHeaders,
AlgorithmProvider algorithmProvider,
- PublicKeyProvider publicKeyProvider,
+ KeyProvider keyProvider,
SecurityProvider securityProvider,
String method,
String uri) {
@@ -60,7 +60,7 @@ public class TomitribeSignatureValidator implements
SignatureValidator {
throw new DifferentAlgorithmsException("signature algorithm from
header and provided are different");
}
- Key key = publicKeyProvider.getKey(signature.getKeyId());
+ Key key = keyProvider.getKey(signature.getKeyId());
java.security.Provider provider =
securityProvider.getProvider(signature.getKeyId());
diff --git
a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/provider/PublicKeyProvider.java
b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/provider/KeyProvider.java
similarity index 67%
copy from
rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/provider/PublicKeyProvider.java
copy to
rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/provider/KeyProvider.java
index 2784385..ebfa854 100644
---
a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/provider/PublicKeyProvider.java
+++
b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/provider/KeyProvider.java
@@ -18,16 +18,15 @@
*/
package org.apache.cxf.rs.security.httpsignature.provider;
-import java.security.PublicKey;
+import java.security.Key;
@FunctionalInterface
-public interface PublicKeyProvider {
+public interface KeyProvider {
+
/**
- * @param keyId is used as lookup to find the correct configured public
key for this keyId
- * The keyId is sent in the message together with the
signature
- * @throws IllegalArgumentException if it can't provide a public key based
on keyId
- * @return the public key (which is never {@code null})
+ * Resolve a Key based on the keyId
+ * @param keyId in question, not null or empty.
+ * @return a Key, never null.
*/
- PublicKey getKey(String keyId);
-
+ Key getKey(String keyId);
}
diff --git
a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/provider/PrivateKeyProvider.java
b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/provider/PrivateKeyProvider.java
index 6aacbbb..34f0cd7 100644
---
a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/provider/PrivateKeyProvider.java
+++
b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/provider/PrivateKeyProvider.java
@@ -21,7 +21,7 @@ package org.apache.cxf.rs.security.httpsignature.provider;
import java.security.PrivateKey;
@FunctionalInterface
-public interface PrivateKeyProvider {
+public interface PrivateKeyProvider extends KeyProvider {
/**
* @param keyId is used as lookup to find the correct configured private
key for this keyId
* The keyId is sent in the message together with the
signature
diff --git
a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/provider/PublicKeyProvider.java
b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/provider/PublicKeyProvider.java
index 2784385..138c7bb 100644
---
a/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/provider/PublicKeyProvider.java
+++
b/rt/rs/security/http-signature/src/main/java/org/apache/cxf/rs/security/httpsignature/provider/PublicKeyProvider.java
@@ -21,7 +21,7 @@ package org.apache.cxf.rs.security.httpsignature.provider;
import java.security.PublicKey;
@FunctionalInterface
-public interface PublicKeyProvider {
+public interface PublicKeyProvider extends KeyProvider {
/**
* @param keyId is used as lookup to find the correct configured public
key for this keyId
* The keyId is sent in the message together with the
signature