[#27: Implement Bitbucket backup download location] [Verify signature on Win32]
This commit is contained in:
@@ -2,6 +2,8 @@
|
|||||||
setlocal EnableDelayedExpansion
|
setlocal EnableDelayedExpansion
|
||||||
|
|
||||||
set ROOT=%~dp0%
|
set ROOT=%~dp0%
|
||||||
|
set /a ENABLE_UPLOAD=%1
|
||||||
|
set BITBUCKET_AUTH=%2
|
||||||
|
|
||||||
set OPENSSL_BIN="c:\OpenSSL-Win64\bin\openssl.exe"
|
set OPENSSL_BIN="c:\OpenSSL-Win64\bin\openssl.exe"
|
||||||
set PRIVATE_KEY="c:\src\cert\blockstorage_dev_private.pem"
|
set PRIVATE_KEY="c:\src\cert\blockstorage_dev_private.pem"
|
||||||
@@ -25,29 +27,33 @@ pushd "%ROOT%"
|
|||||||
pushd dist
|
pushd dist
|
||||||
(certutil -hashfile "%OUT_FILE%" SHA256 | %SED_BIN% -e "1d" -e "$d" -e "s/\ //g") > "%OUT_FILE%.sha256" || (call :ERROR "Create sha-256 failed")
|
(certutil -hashfile "%OUT_FILE%" SHA256 | %SED_BIN% -e "1d" -e "$d" -e "s/\ //g") > "%OUT_FILE%.sha256" || (call :ERROR "Create sha-256 failed")
|
||||||
"%OPENSSL_BIN%" dgst -sha256 -sign "%PRIVATE_KEY%" -out "%OUT_FILE%.sig" "%OUT_FILE%" || (call :ERROR "Create signature failed")
|
"%OPENSSL_BIN%" dgst -sha256 -sign "%PRIVATE_KEY%" -out "%OUT_FILE%.sig" "%OUT_FILE%" || (call :ERROR "Create signature failed")
|
||||||
|
"%OPENSSL_BIN%" dgst -sha256 -verify "%PUBLIC_KEY%" -signature "%OUT_FILE%.sig" "%OUT_FILE%" || (call :ERROR "Verify signature failed")
|
||||||
"%B64_BIN%" -e "%OUT_FILE%.sig" "%OUT_FILE%.sig.b64" || (call :ERROR "Create base64 failed")
|
"%B64_BIN%" -e "%OUT_FILE%.sig" "%OUT_FILE%.sig.b64" || (call :ERROR "Create base64 failed")
|
||||||
for /f "delims=" %%i in ('type %OUT_FILE%.sig.b64') do set APP_SIG=!APP_SIG!%%i
|
|
||||||
for /f "delims=" %%i in ('type %OUT_FILE%.sha256') do set APP_SHA256=!APP_SHA256!%%i
|
|
||||||
|
|
||||||
del /q upload_response.json 1>NUL 2>&1
|
if "%ENABLE_UPLOAD%"=="1" (
|
||||||
|
for /f "delims=" %%i in ('type %OUT_FILE%.sig.b64') do set APP_SIG=!APP_SIG!%%i
|
||||||
|
for /f "delims=" %%i in ('type %OUT_FILE%.sha256') do set APP_SHA256=!APP_SHA256!%%i
|
||||||
|
|
||||||
("%CURL_BIN%" -F name="%OUT_FILE%" -F anonymous=true -F file="@%OUT_FILE%" https://pixeldrain.com/api/file > upload_response.json) || (
|
del /q upload_response.json 1>NUL 2>&1
|
||||||
call :PIXEL_RESPONSE 0
|
|
||||||
|
("%CURL_BIN%" -F name="%OUT_FILE%" -F anonymous=true -F file="@%OUT_FILE%" https://pixeldrain.com/api/file > upload_response.json) || (
|
||||||
|
call :PIXEL_RESPONSE 0
|
||||||
|
)
|
||||||
|
call :PIXEL_RESPONSE 1
|
||||||
|
set PIXEL_LOCATION=https://pixeldrain.com/api/file/!PIXEL_ID!
|
||||||
|
|
||||||
|
call :UPLOAD_TO_BITBUCKET "%OUT_FILE%"
|
||||||
|
call :UPLOAD_TO_BITBUCKET "%OUT_FILE%.sha256"
|
||||||
|
call :UPLOAD_TO_BITBUCKET "%OUT_FILE%.sig"
|
||||||
|
set BITBUCKET_LOCATION=https://bitbucket.org/blockstorage/repertory/downloads/%OUT_FILE%
|
||||||
|
|
||||||
|
del /q releases.json 1>NUL 2>&1
|
||||||
|
|
||||||
|
("%JQ_BIN%" ".Versions.win32|=(.+ ["""%APP_VER%"""]|unique)" ..\releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json Versions failed")
|
||||||
|
("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".sig="""!APP_SIG!"""" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json sig failed")
|
||||||
|
("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".sha256="""!APP_SHA256!"""" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json sha256 failed")
|
||||||
|
("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".urls=["""!PIXEL_LOCATION!""","""%BITBUCKET_LOCATION%"""]" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json URL failed")
|
||||||
)
|
)
|
||||||
call :PIXEL_RESPONSE 1
|
|
||||||
set PIXEL_LOCATION=https://pixeldrain.com/api/file/!PIXEL_ID!
|
|
||||||
|
|
||||||
call :UPLOAD_TO_BITBUCKET "%OUT_FILE%"
|
|
||||||
call :UPLOAD_TO_BITBUCKET "%OUT_FILE%.sha256"
|
|
||||||
call :UPLOAD_TO_BITBUCKET "%OUT_FILE%.sig"
|
|
||||||
set BITBUCKET_LOCATION=https://bitbucket.org/blockstorage/repertory/downloads/%OUT_FILE%
|
|
||||||
|
|
||||||
del /q releases.json 1>NUL 2>&1
|
|
||||||
|
|
||||||
("%JQ_BIN%" ".Versions.win32|=(.+ ["""%APP_VER%"""]|unique)" ..\releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json Versions failed")
|
|
||||||
("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".sig="""!APP_SIG!"""" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json sig failed")
|
|
||||||
("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".sha256="""!APP_SHA256!"""" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json sha256 failed")
|
|
||||||
("%JQ_BIN%" ".Locations.win32."""%APP_VER%""".urls=["""!PIXEL_LOCATION!""","""%BITBUCKET_LOCATION%"""]" releases.json>releases_temp.json && move /Y releases_temp.json releases.json 1>NUL 2>&1) || (call :ERROR "Update releases.json URL failed")
|
|
||||||
popd
|
popd
|
||||||
) || (
|
) || (
|
||||||
call :ERROR "Create dist failed"
|
call :ERROR "Create dist failed"
|
||||||
|
|||||||
Reference in New Issue
Block a user