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

Reply via email to