[java-identity-provider] branch main updated: JPAR-182 Check our WAR contents for consistency

Rod Widdowson rdw at steadingsoftware.com
Mon Jul 26 12:48:50 UTC 2021


This is an automated email from the git hooks/post-receive script.

rdw pushed a commit to branch main
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=08e3f957bc8c1272bbcbaa2689506c01c744a3f6

The following commit(s) were added to refs/heads/main by this push:
       new  08e3f957b JPAR-182 Check our WAR contents for consistency
08e3f957b is described below

commit 08e3f957bc8c1272bbcbaa2689506c01c744a3f6
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Mon Jul 26 13:25:54 2021 +0100

    JPAR-182 Check our WAR contents for consistency
    
    https://issues.shibboleth.net/jira/browse/JPAR-182
    
    Multiple fixes
            1) Support reading of old style keystores and convert net.bytebuddy to same
            2) Fix reporting of username tags in a key (by looking at all usernames
               associated with thay KeyRog (BC term, not term of GPG art
            3) Add a new key (as a old style keystore) for com.fasterxml.* with a username
---
 .../idp/installer/plugin/impl/TrustStore.java      |  49 ++++++++++---
 .../idp/dependencies/DependencyTest.java           |  13 ++--
 .../dependencies/stores/com.fasterxml.jackson.core |  22 ------
 .../stores/com.fasterxml.jackson.core.gpg          | Bin 0 -> 1644 bytes
 .../stores/com.fasterxml.jackson.datatype          |  21 ------
 .../stores/com.fasterxml.jackson.datatype.gpg      | Bin 0 -> 1644 bytes
 .../idp/dependencies/stores/com.google.guava       |  39 ++++++++++
 .../idp/dependencies/stores/net.bytebuddy          |  79 ---------------------
 .../idp/dependencies/stores/net.bytebuddy.gpg      | Bin 0 -> 3974 bytes
 9 files changed, 86 insertions(+), 137 deletions(-)

diff --git a/idp-installer/src/main/java/net/shibboleth/idp/installer/plugin/impl/TrustStore.java b/idp-installer/src/main/java/net/shibboleth/idp/installer/plugin/impl/TrustStore.java
index b08be8f05..61119c67d 100644
--- a/idp-installer/src/main/java/net/shibboleth/idp/installer/plugin/impl/TrustStore.java
+++ b/idp-installer/src/main/java/net/shibboleth/idp/installer/plugin/impl/TrustStore.java
@@ -25,7 +25,9 @@ import java.nio.file.Path;
 import java.nio.file.StandardCopyOption;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.Iterator;
+import java.util.Set;
 import java.util.function.Predicate;
 
 import javax.annotation.Nonnull;
@@ -71,6 +73,9 @@ import net.shibboleth.utilities.java.support.component.ComponentSupport;
     /** Explicit stream for trust store.  */
     @NonnullAfterInit private InputStream explicitTrustStoreStream;
 
+    /** Explicit stream for trust store.  */
+    @NonnullAfterInit private InputStream explicitKeyStoreStream;
+
     /** The plugin this is the trust store for. */
     @NonnullAfterInit private String pluginId;
 
@@ -109,7 +114,7 @@ import net.shibboleth.utilities.java.support.component.ComponentSupport;
        explicitTrustStore = what;
    }
 
-   /** Set explicitTrustStore.
+   /** Set {@link #explicitTrustStoreStream}.
    * @param what The value to set.
    */
    public void setTrustStore(@Nullable final InputStream what) {
@@ -117,6 +122,14 @@ import net.shibboleth.utilities.java.support.component.ComponentSupport;
        explicitTrustStoreStream = what;
    }
 
+   /** Set {@link #explicitKeyStoreStream}.
+   * @param what The value to set.
+   */
+   public void setKeyStore(@Nullable final InputStream what) {
+       ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+       explicitKeyStoreStream = what;
+   }
+
     /** Return a store loaded from the supplied stream.
      *
      * @param in the stream
@@ -216,26 +229,34 @@ import net.shibboleth.utilities.java.support.component.ComponentSupport;
         }
     }
     
-    /** Lookup and return the key information for this key.
+    /** Lookup and return the key information for this key (and any parent).
      * @param sigForKey the signature to lookup
      * @return the string in a normalized form.
      */
     public String getKeyInfo(final Signature sigForKey) {
-        final PGPPublicKey key;
+        final PGPPublicKeyRing keyRing;
         try {
-            key = keyRings.getPublicKey(sigForKey.getSignature().getKeyID());
+            keyRing = keyRings.getPublicKeyRing(sigForKey.getSignature().getKeyID());
         } catch (final PGPException e) {
                 log.warn("Couldn't locate key", e);
                 return null;
         }
-        if (key == null) {
+        if (keyRing == null) {
             log.info("Provided key stream did not contain a key for {}", sigForKey);
             return null;
         }
         final StringBuilder builder = new StringBuilder("KeyId: ").append(sigForKey.toString());
-        final Iterator<String> namesIterator = key.getUserIDs();
-        while (namesIterator.hasNext()) {
-            builder.append("\tUsername:\t").append(namesIterator.next());
+        final Iterator<PGPPublicKey> keyIterator = keyRing.getPublicKeys();
+        final Set<String> seenNames = new HashSet<>();
+        while (keyIterator.hasNext()) {
+            final PGPPublicKey key = keyIterator.next();
+            final Iterator<String> namesIterator = key.getUserIDs();
+            while (namesIterator.hasNext()) {
+                final String name =  namesIterator.next();
+                if (seenNames.add(name)) {
+                    builder.append("\tUsername:\t").append(name);
+                }
+            }
         }
         return builder.toString();
     }
@@ -346,11 +367,19 @@ import net.shibboleth.utilities.java.support.component.ComponentSupport;
     protected void doInitialize() throws ComponentInitializationException {
         super.doInitialize();
 
-        if (pluginId == null && explicitTrustStoreStream == null) {
+        if (pluginId == null && explicitTrustStoreStream == null && explicitKeyStoreStream == null) {
             throw new ComponentInitializationException("Plugin Id not set up");
         }
 
-        if (explicitTrustStoreStream != null) {
+        if (explicitKeyStoreStream != null) {
+            try {
+                keyRings = new PGPPublicKeyRingCollection(explicitKeyStoreStream, new JcaKeyFingerprintCalculator());
+            } catch (final IOException | PGPException e) {
+                e.printStackTrace();
+                throw new ComponentInitializationException(e);
+            }
+
+        } else if (explicitTrustStoreStream != null) {
             try {
                 keyRings = loadStoreFrom(explicitTrustStoreStream);
             } catch (final IOException e) {
diff --git a/idp-installer/src/test/java/net/shibboleth/idp/dependencies/DependencyTest.java b/idp-installer/src/test/java/net/shibboleth/idp/dependencies/DependencyTest.java
index ac426997c..31cb0cb12 100644
--- a/idp-installer/src/test/java/net/shibboleth/idp/dependencies/DependencyTest.java
+++ b/idp-installer/src/test/java/net/shibboleth/idp/dependencies/DependencyTest.java
@@ -364,13 +364,17 @@ public class DependencyTest extends OpenSAMLInitBaseTestCase implements PomLoade
             return opt.get();
         }
 
-        try (final InputStream input = getClass().getResourceAsStream("/net/shibboleth/idp/dependencies/stores/"+group)) {
-            if (input == null) {
+        try (final InputStream input = getClass().getResourceAsStream("/net/shibboleth/idp/dependencies/stores/"+group);
+             final InputStream keyStore = getClass().getResourceAsStream("/net/shibboleth/idp/dependencies/stores/"+group+".gpg")) {
+            final TrustStore store = new TrustStore();
+            if (keyStore != null) {
+                store.setKeyStore(keyStore);
+            } else if (input != null) {
+                store.setTrustStore(input);
+            } else {
                 trustStrores.put(group, Optional.empty());
                 return null;
             }
-            final TrustStore store = new TrustStore();
-            store.setTrustStore(input);
             store.initialize();
             trustStrores.put(group,  Optional.of(store));
             return store;
@@ -574,7 +578,6 @@ public class DependencyTest extends OpenSAMLInitBaseTestCase implements PomLoade
                 .append(artifact.getVersion())
                 .append(".xml").
                 toString()).toFile();
-        final PomArtifact parentArtefact = idpParent.getParent();
         try (final PrintWriter pom = new PrintWriter(new BufferedOutputStream(new FileOutputStream(file)))) {
             pom.format("<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
                     + "     xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd\">\n"
diff --git a/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/com.fasterxml.jackson.core b/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/com.fasterxml.jackson.core
deleted file mode 100644
index db53a96be..000000000
--- a/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/com.fasterxml.jackson.core
+++ /dev/null
@@ -1,22 +0,0 @@
-rsa2048/8D7F1BEC1E2ECAE7 2020-08-01
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQENBF8kuOUBCACo8/VYVfmglgTgmai5FvmNzKi9XIJIK4fHCA1r+t47aGkGy36EdSOlApDj
-qbtuodnyH4jiyBvT599yeMA0O/Pr+zL+dOwdT1kYL/owvT0U9oczvwUjP1LhYsSxLkkjqZmg
-PWdef5EFu3ngIvfJe3wIXvrZBB8AbbmqBWuzy6RVPUawnzyzqZTlHfyQiiP41OMONOGdh/I7
-Tj6Ax9X1dMH3N5SkXgmuy4YHZoeFW2K3+6yIbP8UCMxrTNLm6QfOIPsvjDDnTBpkkvEZjS24
-raBiHW5P35ptpNj5F1oLlOxZ/NRCbP3CPlEejUkh1+7rOwrRkCrDnNFIQYmWF2Mt4KlzABEB
-AAG5AQ0EXyS45QEIANDsIlvCdMQp+rixXunm23AcZLsgzW781vawPkk8Dw3neQqTjrcd81W9
-p+iSjQAzvq0dW6PQwtSy++nOtyIpU+J1cfAs1Jxi3sms40cvqqccSQkzjJUs97fzo1capzlf
-09NmNncHSCqqeAZU7J+WnUNSBd50yLLTffvo1lO7svLFcuvaO8ai+XoeYzTxm6paT4vyzcH+
-9hlew6nMafmMDjDsAkba4bjcXhpCkS9Jijc6973zDjFdzpf+YvKtvxktRWfDktLYMdTaVm+6
-MAfFubs+zZjOuMHc72XgiqI789z4BOeeD1HjzkGfLA9bfpcS2Gs0+63NiDXIY2rT0D71IucA
-EQEAAYkBPAQYAQgAJhYhBIoQeSmDAj1dFMk7SI1/G+weLsrnBQJfJLjlAhsMBQkDwmcAAAoJ
-EI1/G+weLsrnbSgH/1+Wy3H0/v0mY/2qi2cod2+NPT2i6RBJ+LvkW8Wzp4oIr9rRjZ4jlZXT
-AtvdY5PVellIAztr5C65Qcwi+aRzDSTna+FDzJoIMIqNPuaQUcKLGFrpUUFvng9eRnh773A8
-68XDiLtHiqp1BGn3F7g6BZmN4fbpnL+XAaW5ogmZd9pVgctB7b568+C0E/d0U0j9ZfH1DeLL
-wrpsP/vGvIrt+tqy2YKDzJW08qgUWSc/nPWceQs6lhO/P1FFgdx7GINK+HG85taQ119Yz+Cd
-LD/j4AphYEfib2tDM60p8ZyAhgza4geUBMLQgu3uAZwBaYSPttcTPL0mqD1iKucdyuVgXSs=
-=FxWA
------END PGP PUBLIC KEY BLOCK-----
diff --git a/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/com.fasterxml.jackson.core.gpg b/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/com.fasterxml.jackson.core.gpg
new file mode 100644
index 000000000..55bb2e7c2
Binary files /dev/null and b/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/com.fasterxml.jackson.core.gpg differ
diff --git a/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/com.fasterxml.jackson.datatype b/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/com.fasterxml.jackson.datatype
deleted file mode 100644
index cefcffb26..000000000
--- a/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/com.fasterxml.jackson.datatype
+++ /dev/null
@@ -1,21 +0,0 @@
- rsa2048/8D7F1BEC1E2ECAE7 2020-08-01 
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQENBF8kuOUBCACo8/VYVfmglgTgmai5FvmNzKi9XIJIK4fHCA1r+t47aGkGy36EdSOlApDj
-qbtuodnyH4jiyBvT599yeMA0O/Pr+zL+dOwdT1kYL/owvT0U9oczvwUjP1LhYsSxLkkjqZmg
-PWdef5EFu3ngIvfJe3wIXvrZBB8AbbmqBWuzy6RVPUawnzyzqZTlHfyQiiP41OMONOGdh/I7
-Tj6Ax9X1dMH3N5SkXgmuy4YHZoeFW2K3+6yIbP8UCMxrTNLm6QfOIPsvjDDnTBpkkvEZjS24
-raBiHW5P35ptpNj5F1oLlOxZ/NRCbP3CPlEejUkh1+7rOwrRkCrDnNFIQYmWF2Mt4KlzABEB
-AAG5AQ0EXyS45QEIANDsIlvCdMQp+rixXunm23AcZLsgzW781vawPkk8Dw3neQqTjrcd81W9
-p+iSjQAzvq0dW6PQwtSy++nOtyIpU+J1cfAs1Jxi3sms40cvqqccSQkzjJUs97fzo1capzlf
-09NmNncHSCqqeAZU7J+WnUNSBd50yLLTffvo1lO7svLFcuvaO8ai+XoeYzTxm6paT4vyzcH+
-9hlew6nMafmMDjDsAkba4bjcXhpCkS9Jijc6973zDjFdzpf+YvKtvxktRWfDktLYMdTaVm+6
-MAfFubs+zZjOuMHc72XgiqI789z4BOeeD1HjzkGfLA9bfpcS2Gs0+63NiDXIY2rT0D71IucA
-EQEAAYkBPAQYAQgAJhYhBIoQeSmDAj1dFMk7SI1/G+weLsrnBQJfJLjlAhsMBQkDwmcAAAoJ
-EI1/G+weLsrnbSgH/1+Wy3H0/v0mY/2qi2cod2+NPT2i6RBJ+LvkW8Wzp4oIr9rRjZ4jlZXT
-AtvdY5PVellIAztr5C65Qcwi+aRzDSTna+FDzJoIMIqNPuaQUcKLGFrpUUFvng9eRnh773A8
-68XDiLtHiqp1BGn3F7g6BZmN4fbpnL+XAaW5ogmZd9pVgctB7b568+C0E/d0U0j9ZfH1DeLL
-wrpsP/vGvIrt+tqy2YKDzJW08qgUWSc/nPWceQs6lhO/P1FFgdx7GINK+HG85taQ119Yz+Cd
-LD/j4AphYEfib2tDM60p8ZyAhgza4geUBMLQgu3uAZwBaYSPttcTPL0mqD1iKucdyuVgXSs=
-=FxWA
------END PGP PUBLIC KEY BLOCK-----
diff --git a/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/com.fasterxml.jackson.datatype.gpg b/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/com.fasterxml.jackson.datatype.gpg
new file mode 100644
index 000000000..55bb2e7c2
Binary files /dev/null and b/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/com.fasterxml.jackson.datatype.gpg differ
diff --git a/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/com.google.guava b/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/com.google.guava
index a67655200..4d7c9aed2 100644
--- a/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/com.google.guava
+++ b/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/com.google.guava
@@ -60,5 +60,44 @@ dOTAxwNHV5m/4q8DwZdJkzoAIAvNOapEdeMYXdRni+jBAN+JPNkqvzt4FoQWgdyjsuef5b7y
 qQ==
 =ppUY
 -----END PGP PUBLIC KEY BLOCK-----
+pub   rsa2048 2013-08-23 [SCEA]
+      56ED3B4843DAACC79DE555557457CA33C3CE9E15
+uid           [ unknown] Colin Decker <cgdecker at google.com>
+sub   rsa2048 2013-08-23 [SEA]
 
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+=Gj90
+-----END PGP PUBLIC KEY BLOCK-----
 
diff --git a/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/net.bytebuddy b/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/net.bytebuddy
deleted file mode 100644
index 43abf2014..000000000
--- a/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/net.bytebuddy
+++ /dev/null
@@ -1,79 +0,0 @@
-rsa4096/1DA784CCB5C46DD5 2019-11-07  Rafael Winterhalter <rafael.wth at gmail.com>
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-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
-=U17k
------END PGP PUBLIC KEY BLOCK-----
\ No newline at end of file
diff --git a/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/net.bytebuddy.gpg b/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/net.bytebuddy.gpg
new file mode 100644
index 000000000..ebb0c4a3a
Binary files /dev/null and b/idp-installer/src/test/resources/net/shibboleth/idp/dependencies/stores/net.bytebuddy.gpg differ

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list