diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 77f2e1d..6be62cd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -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" diff --git a/install.ps1 b/install.ps1 index 7ede40b..aeeb39d 100644 --- a/install.ps1 +++ b/install.ps1 @@ -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 { diff --git a/install.sh b/install.sh index 798fd82..adb75a8 100644 --- a/install.sh +++ b/install.sh @@ -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"