Index: src/main/java/org/apache/maven/plugin/jar/JarSignMojo.java
===================================================================
--- src/main/java/org/apache/maven/plugin/jar/JarSignMojo.java	(revision 569722)
+++ src/main/java/org/apache/maven/plugin/jar/JarSignMojo.java	(working copy)
@@ -152,6 +152,17 @@
     private boolean verify;
 
     /**
+     * By default, the mojo avoids resigning already signed jars (for speedup) by verifying the jar.
+     * <p/>
+     * If that check fails, e.g. if the jar has an invalid signature, you can try disabling the check by setting this to true.
+     *
+     * @parameter expression="${ignoreCheckSignedFailures}" default-value="false"
+     */
+    private boolean ignoreCheckSignedFailures;
+
+
+
+    /**
      * Enable verbose
      * See <a href="http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/jarsigner.html#Options">options</a>.
      *
@@ -216,7 +227,20 @@
         if ( signedJarFile.exists() )
         {
             verifyMojo.setErrorWhenNotSigned( false );
-            verifyMojo.execute();
+            try
+            {
+                verifyMojo.execute();
+            }
+            catch ( MojoExecutionException e )
+            {
+                getLog().warn( "error '" + e.toString() + "' during signature verification of file: " + getJarFile().getAbsolutePath() );
+
+                if ( ! ignoreCheckSignedFailures )
+                {
+                    getLog().warn( "you might want to enable ignoreCheckSignedFailures." );
+                    throw e;
+                }
+            }
         }
 
         if ( verifyMojo.isSigned() )
