Use openssl dgst for Ed25519 (pkeyutl does not support the key type)
This commit is contained in:
@@ -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
@@ -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
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user