You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kw...@apache.org on 2025/08/11 13:35:34 UTC

(maven-scm) 01/01: Use GPG (long) key id for git config

This is an automated email from the ASF dual-hosted git repository.

kwin pushed a commit to branch bugfix/use-gpg-key-id-instead-of-fingerprint
in repository https://gitbox.apache.org/repos/asf/maven-scm.git

commit e6f5f7a6044d5295ab6fcd012df85f368b133c2f
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Mon Aug 11 15:35:19 2025 +0200

    Use GPG (long) key id for git config
    
    GPG fingerprints are not properly supported on Windows GPG binaries
    
    This should fix issues like
    "gpg: skipped "DB91A1890A878E54C01ADEAC821EAC9D0567A97F": No secret key
    [GNUPG:] INV_SGNR 9 DB91A1890A878E54C01ADEAC821EAC9D0567A97F
    [GNUPG:] FAILURE sign 17
    gpg: signing failed: No secret key"
    on Windows
---
 .../java/org/apache/maven/scm/provider/git/gitexe/GpgTestUtils.java  | 3 ++-
 .../provider/git/gitexe/command/checkin/GitCheckInCommandTest.java   | 5 +++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/GpgTestUtils.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/GpgTestUtils.java
index 9f22cf6d4..1c8355063 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/GpgTestUtils.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/GpgTestUtils.java
@@ -29,7 +29,8 @@
 
 public class GpgTestUtils {
 
-    public static final String FINGERPRINT_JOHN_DOE_SECRET_KEY = "DB91A1890A878E54C01ADEAC821EAC9D0567A97F";
+    public static final String JOHN_DOE_SECRET_KEY_FINGERPRINT = "DB91A1890A878E54C01ADEAC821EAC9D0567A97F";
+    public static final String JOHN_DOE_SECRET_KEY_LONG_ID = "821EAC9D0567A97F";
     public static final String JOHN_DOE_SECRET_KEY_RESOURCE_NAME = "/gpg/john-doe-secret-key.asc";
     public static final String BINARY_NAME = "gpg";
 
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandTest.java
index c0c40373e..9455a593b 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandTest.java
@@ -206,7 +206,8 @@ public void testSignedCheckin() throws Exception {
         GitScmTestUtils.setDefaultGitConfig(checkedOutRepo, fw -> {
             try {
                 fw.append("[user]\n");
-                fw.append("\tsigningKey = " + GpgTestUtils.FINGERPRINT_JOHN_DOE_SECRET_KEY + "\n");
+                // Windows GPG dpesn't properly support fingerprint, so we use long ID
+                fw.append("\tsigningKey = " + GpgTestUtils.JOHN_DOE_SECRET_KEY_LONG_ID + "\n");
             } catch (IOException e) {
                 throw new UncheckedIOException("Error writing to git config file", e);
             }
@@ -230,7 +231,7 @@ public void testSignedCheckin() throws Exception {
             assertResultIsSuccess(checkInScmResult);
         } finally {
             // Clean up GPG key after test
-            GpgTestUtils.deleteSecretKey(GpgTestUtils.FINGERPRINT_JOHN_DOE_SECRET_KEY);
+            GpgTestUtils.deleteSecretKey(GpgTestUtils.JOHN_DOE_SECRET_KEY_FINGERPRINT);
         }
     }