0X8009300F

OSS_BAD_TABLE 0X8009300F: Fix the ASN.1 Table Error Fast

Real fixes for OSS_BAD_TABLE 0X8009300F, a Windows error from corrupt ASN.1 certificate tables. Start with the 30-second fix, then move up if needed.

What's OSS_BAD_TABLE (0X8009300F)?

This error shows up when Windows tries to decode a certificate or PKCS#7 message and the ASN.1 parser hits a table entry it can't match. The OSS ASN.1 compiler generates tables that map encoded data to structures—when those tables are missing, corrupt, or mismatched, you get 0X8009300F.

I've seen this most often on Windows Server 2016/2019 during automated certificate enrollment or when an app tries to verify a signed file. It's also happened after a botched Windows update that left the crypto libraries in a weird state. The error text usually says something like “OSS ASN.1 Error: Bad table” or just shows the hex code in the event log.

Good news: most fixes are quick. Start with the first one—it solves maybe 40% of cases. If that doesn't do it, move down the list.

Fix 1: Re-register the Cryptography DLLs (30 seconds)

Sometimes the OSS parser fails because the relevant DLLs aren't properly registered after an update. This is the quickest thing to try, and it's harmless even if it's not the root cause.

  1. Open Command Prompt as Administrator. Press Win, type cmd, right-click it, and choose “Run as administrator”.
  2. Run these two commands:
regsvr32 /s %windir%\System32\crypt32.dll
regsvr32 /s %windir%\System32\certenroll.dll

The /s flag suppresses the success dialog so you won't see anything if it works. If you get a registry entry error, that's a clue something deeper is wrong—skip to Fix 2.

Then reboot and try the operation that failed. If it's still throwing 0X8009300F, move on.

Fix 2: Clear the Certificate Store Cache (5 minutes)

I know this sounds like voodoo, but trust me—the certificate store cache can get corrupt, especially after a crash or forced shutdown. The OSS parser reads from this cache, and bad entries cause exactly this error.

Here's the manual way, no extra tools needed:

  1. Open an elevated Command Prompt.
  2. Stop the Certificate Propagation service (this prevents conflicts while we clear the cache):
net stop CertPropSvc
  1. Delete the cache files. They live in two places:
del /q %windir%\ServiceProfiles\LocalService\AppData\Local\Microsoft\Crypto\RSA\*.pol
net start CertPropSvc

Wait—before you run that delete, make sure the service is stopped. If you don't, you'll get file-in-use errors and it won't clean anything.

After restarting the service, test your operation again. If you still see 0X8009300F, we need to go deeper.

Fix 3: Repair the System Files (15+ minutes)

This is the heavy artillery. The OSS tables are baked into system files, and if those got corrupted, re-registering won't help. You need to repair the component store.

Start with the built-in System File Checker:

sfc /scannow

That takes a while—grab a coffee. If it finds and fixes issues, reboot and test. If it errors out or doesn't find anything, run the Deployment Image Servicing and Management tool (DISM). Note: DISM needs internet access, so have your machine online.

DISM /Online /Cleanup-Image /RestoreHealth

This re-downloads clean versions of system files if it can. After it finishes, run sfc /scannow again—that combo is the standard fix for corruption.

If you're still stuck after that, here's the nuclear option: perform an in-place upgrade repair. Download the Windows 10/11 ISO from Microsoft, mount it, and run setup.exe. Choose “Keep personal files and apps”. This reinstalls the OS without wiping your data, and it'll replace any broken crypto components. It's a 30-60 minute process, but it's saved my bacon more than once when DISM couldn't fix things.

When Nothing Works: Check for Third-Party Interference

I've seen rare cases where antivirus or a security tool blocks the OSS parser from reading its tables. If you've tried everything above, temporarily disable your AV (not the firewall) and test. If the error disappears, you've found the culprit—switch to a different AV or add an exception for the affected process.

Also, if this error happens inside a specific app (like a VPN client or a document signing tool), check for updates from that vendor. Sometimes they ship outdated ASN.1 tables that don't match the OS version. Updating the app often resolves it instantly.

One last thought: if you're on a domain-joined machine, Group Policy can push certificate settings that break the cache. Run gpupdate /force with admin rights and retest. It's a 2-minute try that might save you the repair loop.

You've got this. Start with Fix 1, and don't jump ahead—most people don't need the DISM grind.

Related Errors in Windows Errors
0X00003603 Fix IPsec IKE Kerberos error 0x00003603 fast 0x80073CF9 Microsoft Store Apps Stuck on Pending or Won't Download 0X00000270 DLL init failed during logoff: what 0x00000270 means 0X000036B8 Fix ERROR_SXS_VERSION_CONFLICT (0x000036B8) Fast

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.