Jump to content
mackenzieexd

Wrong signature for file

Recommended Posts

So ive pbo'd some addons and signed them with keys now its throwing an error saying Wrong signature for file, any ideas? 

Share this post


Link to post
Share on other sites

Its simple enough to understand.

 

You are trying to join a server and the addons you are attempting to connect with are not supported by the keys in the keys folder

So you are either not using the addon's bisigns that the server will allow or the keys are missing

Compare the servers version of the bisign to your clients version of the bisign and make sure they are identical.

 

If they are then the key for that addon in the keys folder is incorrect or faulty

Share this post


Link to post
Share on other sites

Its simple enough to understand.

 

You are trying to join a server and the addons you are attempting to connect with are not supported by the keys in the keys folder

So you are either not using the addon's bisigns that the server will allow or the keys are missing

Compare the servers version of the bisign to your clients version of the bisign and make sure they are identical.

 

If they are then the key for that addon in the keys folder is incorrect or faulty

 

thats the thing, the server has the .bikey in the keys folder, everything i do on my local host im then uploading to the server so everything should work and match up.

 

the key cant be faulty because its only throwing this error for one pbo

 

23b33f13c16643109e3ffb10fa4fae5b.png

Share this post


Link to post
Share on other sites

I assume (I may be wrong). I'm only trying to help

  • You use a Bikey specific to your community, eg tf72.bikey
  • That you don't use a date tag on your Bikeys to differentiate between signings of your mod packs (e.g tf72.20160619.bikey)
  • You manually resign your addons one at a time e.g. you dont use a batch process to delete all the Bisigns in a folder and then resign them automatically)
  • At some point the private key was re-created but named the same as the replaced version

Therefore I assume you may have missed  the tf72_vests.pbo which would have already been signed with an older key with exactly the same name or the older bisign has not been overwritten.

 

The fault you have can only be one of two issues.

1) The tf72_vests.pbo.tf72.bisign on your client is not the matching one for the bikey on the server

2) tf72_vests.pbo.tf72.bisign is missing

 

If it is not missing, although the .bisign may very well be identical to the one on the server, that doesn't mean the server one is correct because the server does not check its own addons/Bisigns against its Bikey so it wouldn't throw up an error. . In fact you don't actually even need Bisigns on the server, although its a good idea to keep hold of them to aid in debugging issues like this.

 

If I were you, i would resign the tf72_vests.pbo with the private key you signed the rest of the addons with and replace your client version and the server version with it

 

If my assumptions are correct, I would then think about implementing a date system for your bikey so that in future, you can "Update proof" your mod collection and force your members to download the new updated pack and at a glance see if you forgot to sign one of the addons

 

 

Hope that helps

Share this post


Link to post
Share on other sites

I had the same issue. This is the first google result so I'll post my fix here:

ALWAYS use the Addon Builder for packing mods.
  35hGEKX.jpg

It can be used with a signature to sign the addon when it's packed. I was using PBO Manager and was getting same error as OP. Seems like the way some PBO packing tools handle packing is bad and Addon Builder should be used instead.

Share this post


Link to post
Share on other sites
On 3/7/2017 at 2:43 PM, computer said:

I had the same issue. This is the first google result so I'll post my fix here:

ALWAYS use the Addon Builder for packing mods.
  35hGEKX.jpg

It can be used with a signature to sign the addon when it's packed. I was using PBO Manager and was getting same error as OP. Seems like the way some PBO packing tools handle packing is bad and Addon Builder should be used instead.

 

Hey.

 

I tried your solution but to no avail.

 

I'll still get kicked from the for "wrong signature" no matter what software packs/signs the addon.

 

Any further ideas?

Share this post


Link to post
Share on other sites

delete all instances of the  public and private key and all the associated bisigns and then create a new key set and resign the lot

 

 

I do this via a set of batch scripts

 

 

This is what I run to create a ZClient_(DATE).bikey

This first batch defines the Bikey name and adds a date tag to it

The second

  1. deletes the older pair of keys
  2. creates a new one
  3. deletes all the older bisigns
  4. and moves the key into the appropriate keys folder

The following files should also be in the same folder as the second batch file for this to work

  • DSCheckSignatures.exe
  • DSCreateKey.exe
  • DSSignFile.exe

You should be able to edit the scripts to your own requirements, they are well commented

edit the keys folder paths to your arma keys folder

 

 

Open the spoiler (Hidden content)to see the batch files

Spoiler

 

 

BATCH 1

Quote

 

:: What is this
:: Creates a ZClient_%DATE%Bikey

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION

goto START

    WHAT DOES THIS DO
    1) Initialises a system that
        a) Removes existing Bikeys and Bisigns
        b) Creates a new Bikey with a date tag
        c) Signs the appropriate mod folders
        d) Moves files to appropriate locations
    - Bikey format Z%NAME%_%DATE%.bikey    

:START
SET _mod=ZClient
SET _date=%DATE:/=_%

SET _log="d:\Games\ArmA3\A3Repo\Toolkit\Logs\%_date%\Bikey_Management.log"
mkdir "d:\Games\ArmA3\A3Repo\Toolkit\Logs\%_date%" 2>NUL
SET X_CreateBikey=d:\Games\ArmA3\A3Repo\Toolkit\workspace\X_Bikey_Create_Sign.cmd

    echo.
    echo _______________________________________________ >>%_log%
    echo  USER: %USERNAME%             >>%_log%
    echo  %date% %time%             >>%_log%
    echo  1) START     - %~nx0    >>%_log%
    echo  1) START     - %~nx0

    call %X_CreateBikey% %_mod% %_log%

    echo  - END    >>%_log%
    echo  - END

 


 

 

BATCH 2

 

 

Quote

 

:: What is this
:: Creates a ID_%DATE%.Bikey

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION

goto START

    WHAT DOES THIS DO
    1) Removes all Bisigns and similarly named Bikeys from the appropriate ServerOnly "keys folders" or assosciated Mod folders
    2) Deletes the archived key from d:\Games\ArmA3\A3Repo\Toolkit\BiKeys\%_mod%
    3) Creates the Bikey Public & Private version
    4) Copies the Public Bikey to the appropriate Keys folder in the repo
    5) Signs the appropriate mod folder addons
    6) Archives the Bikey to d:\Games\ArmA3\A3Repo\Toolkit\BiKeys\%_mod%
    7) Deletes any .Bikey files in the folder where the Bikey was created
        Bikey Name format is Z%NAME%_%DATE%.bikey

    KEYS_DIR:     Typically ServerOnly\ModNameServer_Only\Keys
            Works for ZNo1-ZNo*
            ZClient is different
    REPO_DIR:    Implemented to help development, not working on production repo
    BIKEY_DIR:    Location to store the newly created bikey
    WORKING_DIR:    Location where DSCheckSignatures.exe, DSCreateKey.exe, DSSignFile.exe are located
            Have to switch to this directory for some of these exe's to work

    UPDATE: 19/2/2017 added line to remove zsync files, these were being left on the server for non existent bisigns (That had been deleted)

    

:START
    echo               a) START:    - %~nx0                        >>%_log%
    echo               a) START:    - %~nx0

SET _mod=%1
SET _date=%DATE:/=%
SET _log=%2
SET _name=%_mod%_%_date%
SET REPO_DIR=d:\Games\ArmA3\A3Repo\Repo_Zeus
SET BIKEY_DIR=d:\Games\ArmA3\A3Repo\Toolkit\BiKeys\%_mod%
SET WORKING_DIR=d:\Games\ArmA3\A3Repo\Toolkit\workspace
:: 2>NUL supresses Error stating dir already exists
mkdir %BIKEY_DIR% 2>NUL

goto %_mod%

:: ____________________ ZNo1 ____________________
:ZNo1
SET MOD_FOLDERS=""
SET KEYS_DIR=%REPO_DIR%\ServerOnly\ServerNo1\keys
goto Purge_Files

:: ____________________ ZNo2 ____________________
:ZNo2
SET MOD_FOLDERS=@ZACE @ZALiVE @ZCommon @ZIslands
SET KEYS_DIR=%REPO_DIR%\ServerOnly\ServerNo2\keys
goto Purge_Files

:: ____________________ ZNo3 ____________________
:ZNo3
SET MOD_FOLDERS=""
SET KEYS_DIR=%REPO_DIR%\ServerOnly\ServerNo3\keys
goto Purge_Files

:: ____________________ ZNo4 ____________________
:ZNo4
SET MOD_FOLDERS=""
SET KEYS_DIR=%REPO_DIR%\ServerOnly\ServerNo4\keys
goto Purge_Files

:: ____________________ ZNo5 ____________________
:ZNo5
SET MOD_FOLDERS=""
SET KEYS_DIR=%REPO_DIR%\ServerOnly\ServerNo5\keys
goto Purge_Files

:: ____________________ ZClient ____________________
:ZClient
SET MOD_FOLDERS=@ZCBA_A3 @ZClient
SET KEYS_DIR=%REPO_DIR%\ServerOnly\ServerAll\keys
goto Purge_Files

:: ____________________ ZTEST ____________________
:ZTEST
SET MOD_FOLDERS=@ZTEST
SET KEYS_DIR=%REPO_DIR%\@ZTest\keys
goto Purge_Files

:: ____________________ ZADMIN ____________________
:ZADMIN
SET REPO_DIR=d:\Games\ArmA3\A3Repo\Repo_ZAdmin
SET MOD_FOLDERS=@ZAdmin
SET KEYS_DIR=d:\Games\ArmA3\A3Repo\Repo_ZEUS\ServerOnly\ServerAll\keys
goto Purge_Files


:: ____________________ PURGE ____________________
:Purge_Files
    echo.                                        >>%_log%
    echo                    (1) Delete Existing Bikey, their Assosciate Bisigns and zsync files     >>%_log%
    echo                    (1) Delete Existing Bikey, their Assosciate Bisigns and zsync files

    for %%x in (%MOD_FOLDERS%) do DEL %REPO_DIR%\%%x\addons\*.bisign
    for %%x in (%MOD_FOLDERS%) do DEL /S %REPO_DIR%\%%x\*.zsync

    DEL %KEYS_DIR%\%_mod%*.bikey
    DEL %KEYS_DIR%\%_mod%*.zsync
    DEL %BIKEY_DIR%\%_mod%*.bikey
    DEL %BIKEY_DIR%\%_mod%*.biprivatekey
    DEL %BIKEY_DIR%\%_mod%*.zsync
    echo                        - DONE                        >>%_log%
    echo                        - DONE

:: _________________ CREATE BIKEY _________________
    echo.                                        >>%_log%
    echo                    (2) Create New %_name% bikey                >>%_log%
    echo                    (2) Create New %_name% bikey

:: Need to change the directory to the location of the "DSCreateKey.exe"
:: Otherwise the key wont be created 
    CD /D %WORKING_DIR%
    DSCreateKey %_name%
    echo                        - DONE                        >>%_log%
    echo                        - DONE

:: _________________ ARCHIVE BIKEY _________________
    echo.                                        >>%_log%
    echo                    (3) Archive New %_name% bikey                >>%_log%
    echo                    (3) Archive New %_name% bikey
    echo                             - to %BIKEY_DIR%                >>%_log%
    echo                             - to %BIKEY_DIR%
    echo                             - to %KEYS_DIR%                 >>%_log%
    echo                             - to %KEYS_DIR%

    robocopy %WORKING_DIR%            %BIKEY_DIR%    %_name%.bikey
    robocopy %WORKING_DIR%            %KEYS_DIR%     %_name%.bikey
    robocopy %WORKING_DIR%            %BIKEY_DIR%    %_name%.biprivatekey
    echo                        - DONE                        >>%_log%
    echo                        - DONE

:: _________________ SIGN ADDONS _________________
    echo.                                        >>%_log%
    echo.                   (4) Signing Addons                    >>%_log%
    echo.                   (4) Signing Addons
    echo                             - Start Time - %TIME%                >>%_log%
    echo                             - Start Time - %TIME%
    echo                             - this can take some time            >>%_log%
    echo                             - this can take some time

SET  /A counter=0
    for %%x in (%MOD_FOLDERS%) do (for %%y in (%REPO_DIR%\%%x\addons\*.pbo) do (
    dsSignFile %_name%.biprivatekey %%y
    SET  /A counter+=1
    echo !counter! Signing - %%x %%~nxy
    ))
    echo                             - Files Signed: !Counter!            >>%_log%
    echo                             - Files Signed: !Counter!
    echo                             - END Time - %TIME%                >>%_log%
    echo                             - END Time - %TIME%
    echo.                       - DONE                        >>%_log%
    echo.                       - DONE


:: _________________ VERIFY SIGNATURES _________________
    echo.                                        >>%_log%
    echo.                   (5) Verifying Signatures                >>%_log%
    echo.                   (5) Verifying Signatures

    for %%x in (%MOD_FOLDERS%) do (
    echo DSCheckSignatures %REPO_DIR%\%%x\addons %KEYS_DIR% 
    DSCheckSignatures %REPO_DIR%\%%x\addons %KEYS_DIR% )
    IF %ERRORLEVEL% NEQ 0 (    
    echo.                                  - FAIL Error: %ERRORLEVEL%         >>%_log%
    echo.                                  - FAIL Error: %ERRORLEVEL%
    pause
)
    echo.                       - DONE                        >>%_log%

:: _________________ CLEAN UP _________________
    echo.                                        >>%_log%
    echo.                   (6) Deleting temporary files                >>%_log%
    echo.                   (6) Deleting temporary files

    DEL %WORKING_DIR%\%_mod%*.bikey
    DEL %WORKING_DIR%\%_mod%*.biprivatekey
    echo.                       - DONE                        >>%_log%
    echo.                       - DONE

    echo               - END                            >>%_log%

 

 

 

Share this post


Link to post
Share on other sites
On 3/29/2017 at 11:58 AM, terox said:

-snip-

  Reveal hidden contents

 

 

BATCH 1


 

 

BATCH 2

 

 

 

 

 

Thanks for your reply.

 

Unfortunately, still no beans. Is it possible it has to do with an error in a config.bin file? The addon works properly and doesn't have any pop-up/debug blackbox errors, so if so, then I wouldn't know where to start.

 

This is the only mod signature amidst many other pbos that will not work.

Share this post


Link to post
Share on other sites

You havent made it clear what you have actually done, so ..... if you have 

  1. created a new key set
  2. deleted all the old bisigns and keys
  3. resigned the addons

 

Then there are only 2 possibilities

  1. Your key signing method is flawed or the tools you are using are
  2. There is something wrong with the addon (I doubt this, although not sure exactly how the signing is done or authenticated, I wouldnt imagine the content of the addon matters).

 

You can verify your signatures, there is a signature checking tool, if you'd adopted my batch file system, it does that automatically

 

so if you haven't used my system, then you need to verify the signing you have done

Share this post


Link to post
Share on other sites
1 hour ago, terox said:

You havent made it clear what you have actually done, so ..... if you have 

  1. created a new key set
  2. deleted all the old bisigns and keys
  3. resigned the addons

 

Then there are only 2 possibilities

  1. Your key signing method is flawed or the tools you are using are
  2. There is something wrong with the addon (I doubt this, although not sure exactly how the signing is done or authenticated, I wouldnt imagine the content of the addon matters).

 

You can verify your signatures, there is a signature checking tool, if you'd adopted my batch file system, it does that automatically

 

so if you haven't used my system, then you need to verify the signing you have done

 

I followed your steps but have also used Arma 3 tools, mikero's tools, a combination thereof and even just PBOManager for packing then signing with DSUtils.

 

DSUtils' signature checker says no issues, either, so the only entity with an issue is the server, which kicks for "Wrong signature".

 

I've also messed around with the Cfg file to no avail.

 

 

Share this post


Link to post
Share on other sites
Guest

I've run into this a lot of time.

Some pbo's signatures of some addons won't work when (re)signing them.

You need to extract the addon that does not work and recompile it and signing it with addon builder (take a look in the options to enable the signing process and throw your private key in).

Also, make sure you recompile it all lowercase (could be an issue on linux servers).

Share this post


Link to post
Share on other sites
On 31/03/2017 at 10:52 PM, harmdhast said:

I've run into this a lot of time.

Some pbo's signatures of some addons won't work when (re)signing them.

You need to extract the addon that does not work and recompile it and signing it with addon builder (take a look in the options to enable the signing process and throw your private key in).

Also, make sure you recompile it all lowercase (could be an issue on linux servers).

I dint know about that, thanks

Share this post


Link to post
Share on other sites
On 3/31/2017 at 11:52 PM, harmdhast said:

I've run into this a lot of time.

Some pbo's signatures of some addons won't work when (re)signing them.

You need to extract the addon that does not work and recompile it and signing it with addon builder (take a look in the options to enable the signing process and throw your private key in).

Also, make sure you recompile it all lowercase (could be an issue on linux servers).

 

Funny enough, after re-trying this a few times it finally worked. Sometimes it wouldn't compile bins, so I had to debinarize them back to .cpp and everything worked a charm.

 

Appreciate it.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×