Use openssl dgst for Ed25519 (pkeyutl does not support the key type)

This commit is contained in:
Emil
2026-08-04 07:35:26 +03:00
parent c2c8336438
commit 78dacb7e17
3 changed files with 4 additions and 4 deletions
+2 -2
View File
@@ -111,8 +111,8 @@ jobs:
run: |
if [ -n "$KEY" ]; then
printf '%s\n' "$KEY" > /tmp/scimesh-sign-key.pem
openssl pkeyutl -sign -inkey /tmp/scimesh-sign-key.pem \
-in SHA256SUMS.txt -out SHA256SUMS.txt.sig
openssl dgst -sign /tmp/scimesh-sign-key.pem \
-out SHA256SUMS.txt.sig SHA256SUMS.txt
echo "signed SHA256SUMS.txt"
else
echo "SCIMESH_SIGNING_KEY is not set; releasing without a signature"
+1 -1
View File
@@ -81,7 +81,7 @@ if ($env:SCIMESH_SKIP_VERIFY -ne "1") {
try {
Invoke-WebRequest -Uri $SumUrl -OutFile $SumFile
Invoke-WebRequest -Uri "$SumUrl.sig" -OutFile $SigFile
& $openssl.Source pkeyutl -verify -pubin -inkey $PubFile -sigfile $SigFile -in $SumFile 2>&1 | Out-Null
& $openssl.Source dgst -verify $PubFile -signature $SigFile $SumFile 2>&1 | Out-Null
if ($LASTEXITCODE -eq 0) {
Write-Host "Signature verified (Ed25519)"
} else {
+1 -1
View File
@@ -80,7 +80,7 @@ if [ "${SCIMESH_SKIP_VERIFY:-0}" != "1" ]; then
&& curl -fsSL -o "$SIGFILE" "https://github.com/${REPO}/releases/download/${VERSION}/SHA256SUMS.txt.sig" 2>/dev/null; then
PUBKEY_FILE=$(mktemp)
printf '%s\n' '-----BEGIN PUBLIC KEY-----' "$SCIMESH_SIGNING_PUBKEY" '-----END PUBLIC KEY-----' > "$PUBKEY_FILE"
if openssl pkeyutl -verify -pubin -inkey "$PUBKEY_FILE" -sigfile "$SIGFILE" -in "$SUMFILE" >/dev/null 2>&1; then
if openssl dgst -verify "$PUBKEY_FILE" -signature "$SIGFILE" "$SUMFILE" >/dev/null 2>&1; then
echo "Signature verified (Ed25519)"
else
rm -f "$PUBKEY_FILE" "$SIGFILE" "$SUMFILE" "$TARGET.tmp"