0X8009700A

Fix MSSIPOTF_E_TABLE_PADBYTES (0X8009700A) Fast

This error means a file's digital signature has too many garbage bytes between tables. We'll fix it by re-signing or removing the signature.

You've hit the MSSIPOTF_E_TABLE_PADBYTES error, and I know how annoying it is when a file just won't open or install.

Let's cut to the fix. This error shows up when Windows checks a file's digital signature and finds too many padding bytes between the signature tables, or the padding bytes aren't set to zero. It usually happens with old installers, drivers, or DLLs that were signed with outdated tools.

Fix #1: Re-sign the file with SignTool.exe (the real fix)

This is the only reliable fix. You'll need the original signing certificate (or a test certificate if you just need to get the file working). Here's the step-by-step:

  1. Open an elevated Command Prompt (right-click CMD, select Run as Administrator).
  2. Navigate to the folder containing the file. For example: cd "C:\Users\YourName\Downloads"
  3. First, strip the broken signature:
    signtool remove /s "yourfile.exe"
    After running this, you should see "Successfully removed signature from file". If you don't, the file might be corrupted beyond repair.
  4. Now re-sign it. If you have a code signing certificate, install it first in your personal certificate store. Then:
    signtool sign /fd SHA256 /sha1 YOURCERTHASH /t http://timestamp.comodoca.com "yourfile.exe"
    Replace YOURCERTHASH with the SHA1 thumbprint of your certificate. You'll see "Done Adding Additional Store" and "SignTool Error: No certificate was found" if the hash is wrong. After success, verify:
    signtool verify /pa "yourfile.exe"
    Look for "Successfully verified" at the end.
  5. If you don't have a real certificate, you can create a self-signed one for testing. Run:
    MakeCert -r -pe -n "CN=TestCert" -ss MY -sr CurrentUser -sky signature -len 2048
    Then use that certificate's hash from the certificate manager or with:
    certutil -store My
    The hash is the 40-character string next to the certificate.

After re-signing, the file should open without the 0x8009700A error. Double-click it and it'll run normally.

Why this happens

The digital signature in a file has a structure made of tables. Each table has strict formatting rules. The MSSIPOTF_E_TABLE_PADBYTES error means the padding between those tables—extra bytes that align data—either has too many bytes (exceeding the spec) or contains non-zero values. The Windows Authenticode parser is picky about this. Old signing tools from the Windows 2000/XP era sometimes wrote sloppy padding that newer Windows versions reject. Microsoft started enforcing strict padding checks around Windows 8.

Fix #2: Remove the signature entirely (if you don't need it)

If the file doesn't need a digital signature to work (like many old installers), you can just strip it:

  1. Open an elevated Command Prompt.
  2. Run:
    signtool remove /s "yourfile.exe"
    This removes the signature. After that, the file won't have the error. You'll also lose any publisher trust, but it'll run.
  3. If signtool remove fails, use a hex editor to manually zero out the signature. This is risky—back up the file first. Open the file in a hex editor (like HxD), search for ASCII text "PKCS7" or "Microsoft Strong Name". Select from there to the end of the file, and delete those bytes. Save. The error will be gone.

Less common variations of this issue

Sometimes the error shows up on a DLL or SYS file, not an executable. Same fix applies—use signtool remove and re-sign. If you're getting this on a system file (like a Windows driver), you might need to take ownership of the file first:

takeown /f "C:\Windows\System32\drivers\yourdriver.sys"
icacls "C:\Windows\System32\drivers\yourdriver.sys" /grant Administrators:F

Then proceed with the signature fix. Be careful—editing system files can break things, so only do this if you know what you're doing.

Another variation: the error appears in Event Viewer with Event ID 1001 or 1005, referencing a failed signature check on a file that was signed with a SHA-1 certificate. Windows might block SHA-1 signed files on some systems. Re-sign with SHA-256 as shown above to fix that too.

Prevention for next time

If you're a developer or IT pro, always sign files with the latest tools. Use the Windows SDK's SignTool (version 10+). Don't use the old SignTool from Visual Studio 2005 or earlier. Set the timestamp server to a reliable one like http://timestamp.comodoca.com or http://timestamp.digicert.com. Also, check your files with signtool verify /v before distributing them. That'll catch padding issues early.

For end users: avoid downloading files from sites that look ancient or sketchy. If you get this error on a legitimate program, check for updates from the vendor. Many older versions of drivers and software had this issue. A fresh download from the official site often fixes it.

Quick recap: the error is about bad padding in digital signatures. Re-signing is the clean fix. Stripping the signature works in a pinch. Don't ignore it—files with broken signatures can be a sign of tampering. If you didn't modify the file yourself, scan it with antivirus first.

Related Errors in Windows Errors
0XC00D1BD6 NS_E_INVALID_TIMECODE (0XC00D1BD6) – the fix that actually works 0X800401E3 MK_E_UNAVAILABLE (0X800401E3) – Quick Fix That Works 0X80028CA2 TYPE_E_IOERROR (0X80028CA2) – I/O Error Fix 0X00000599 LB_SETCOUNT 0x00000599 on a non-lazy list box: what's actually happening

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.