diff --git a/models/asymkey/gpg_key_verify.go b/models/asymkey/gpg_key_verify.go index b699a1d3cb..77481c84e9 100644 --- a/models/asymkey/gpg_key_verify.go +++ b/models/asymkey/gpg_key_verify.go @@ -40,29 +40,17 @@ func VerifyGPGKey(ctx context.Context, ownerID int64, keyID, token, signature st } } - signer, err := hashAndVerifyWithSubKeys(sig, token, key) - if err != nil { - return "", ErrGPGInvalidTokenSignature{ - ID: key.KeyID, - Wrapped: err, - } - } - if signer == nil { - signer, err = hashAndVerifyWithSubKeys(sig, token+"\n", key) + var signer *GPGKey + for _, tokenCandidate := range []string{token, token + "\n", token + "\n\n", token + "\r\n", token + "\r\n\r\n"} { + signer, err = hashAndVerifyWithSubKeys(sig, tokenCandidate, key) if err != nil { return "", ErrGPGInvalidTokenSignature{ ID: key.KeyID, Wrapped: err, } } - } - if signer == nil { - signer, err = hashAndVerifyWithSubKeys(sig, token+"\n\n", key) - if err != nil { - return "", ErrGPGInvalidTokenSignature{ - ID: key.KeyID, - Wrapped: err, - } + if signer != nil { + break } } diff --git a/templates/user/settings/keys_gpg.tmpl b/templates/user/settings/keys_gpg.tmpl index 8f738d7a6f..0589308d43 100644 --- a/templates/user/settings/keys_gpg.tmpl +++ b/templates/user/settings/keys_gpg.tmpl @@ -21,7 +21,15 @@
{{ctx.Locale.Tr "settings.gpg_token_help"}} -
{{printf `echo "%s" | gpg -a --default-key %s --detach-sig` .TokenToSign .PaddedKeyID}}
+
echo {{.TokenToSign}} | gpg -a --default-key {{.PaddedKeyID}} --detach-sig
+
+ Windows PowerShell +
'{{.TokenToSign}}' | gpg -a --default-key {{.PaddedKeyID}} --detach-sig
+
+
+ Windows CMD +
echo {{.TokenToSign}}| gpg -a --default-key {{.PaddedKeyID}} --detach-sig
+
@@ -88,7 +96,15 @@
{{ctx.Locale.Tr "settings.gpg_token_help"}} -
{{printf `echo "%s" | gpg -a --default-key %s --detach-sig` $.TokenToSign .PaddedKeyID}}
+
echo {{$.TokenToSign}} | gpg -a --default-key {{.PaddedKeyID}} --detach-sig
+
+ Windows PowerShell +
'{{$.TokenToSign}}' | gpg -a --default-key {{.PaddedKeyID}} --detach-sig
+
+
+ Windows CMD +
echo {{$.TokenToSign}}| gpg -a --default-key {{.PaddedKeyID}} --detach-sig
+
diff --git a/templates/user/settings/keys_ssh.tmpl b/templates/user/settings/keys_ssh.tmpl index 5248531b08..13796f0f93 100644 --- a/templates/user/settings/keys_ssh.tmpl +++ b/templates/user/settings/keys_ssh.tmpl @@ -79,11 +79,11 @@
echo -n '{{$.TokenToSign}}' | ssh-keygen -Y sign -n gitea -f /path_to_PrivateKey_or_RelatedPublicKey
Windows PowerShell -
cmd /c "<NUL set /p=`"{{$.TokenToSign}}`"| ssh-keygen -Y sign -n gitea -f /path_to_PrivateKey_or_RelatedPublicKey"
+
'{{$.TokenToSign}}' | ssh-keygen -Y sign -n gitea -f /path_to_PrivateKey_or_RelatedPublicKey
Windows CMD -
set /p={{$.TokenToSign}}| ssh-keygen -Y sign -n gitea -f /path_to_PrivateKey_or_RelatedPublicKey
+
echo {{$.TokenToSign}}| ssh-keygen -Y sign -n gitea -f /path_to_PrivateKey_or_RelatedPublicKey