0X80093002

OSS_NEGATIVE_UINTEGER (0X80093002): The Fix That Actually Works

This error means an ASN.1 integer was negative when Windows expected unsigned. The fix is rebuilding the certificate store.

You're in the middle of a certificate update or deployment, and you hit 0X80093002. It's frustrating because the error message tells you nothing useful.

Let's cut through the noise. The error code OSS_NEGATIVE_UINTEGER (0X80093002) comes from the OSS ASN.1 parser inside Windows. What's actually happening here is that when Windows tries to decode an ASN.1 structure — usually a certificate or a PKCS#7 blob — it encounters a field that's defined as UNSIGNED INTEGER in the encoding rules, but the actual value stored is negative. The parser sees a sign bit where none should exist, and it throws this error.

The Fix: Rebuild the Certificate Store

Skip all the other suggestions you'll find online about registry tweaks or group policy changes. They don't touch the root cause. The real fix is rebuilding the certificate store that holds the corrupted certificate data. Here's the exact process:

  1. Open an elevated Command Prompt (run as Administrator).
  2. Stop the Certificate Propagation service: net stop CertPropSvc
  3. Delete the per-user certificate stores that might have the corrupted blob. Run certutil -delstore -user My. This clears the Personal store for the current user.
  4. Restart the service: net start CertPropSvc
  5. Reimport the certificate that was failing. Use certutil -importpfx -user My path\to\cert.pfx. If it asks for the password, provide it.

If your error occurs at the machine level (like during IIS binding), replace -user with -machine and use the Local Machine store: certutil -delstore -machine My then certutil -importpfx -machine My path\to\cert.pfx.

Why This Works

The reason step 3 works is that the certificate store itself got into an inconsistent state. What's happening behind the scenes is that Windows uses a complex binary format for the store files (like %APPDATA%\Microsoft\SystemCertificates\My\Certificates). When a certificate import fails partway — maybe the network dropped, or you interrupted the process — the store ends up with a partial ASN.1 blob that Windows can't decode. The parser tries to interpret garbage bytes as an integer, gets a negative value, and you see 0X80093002.

Deleting the store forces Windows to recreate it from scratch on the next import. The new store file starts clean, without the corrupted fragment. That's why reimporting the same certificate works after the delete — the certificate itself is fine, your store was the problem.

Less Common Variations of This Issue

Sometimes the error pops up with a different trigger. Here's what I've seen:

  • Active Directory Certificate Services enrollment. If you're on a domain controller and using auto-enrollment, the error might appear in the event log (Event ID 53, source: CertificateServicesClient). In that case, the corrupted store is in the machine account's store, not the user's. Run certutil -delstore -machine My and then force re-enrollment with gpupdate /force followed by certreq -autoenroll.
  • Azure AD sync with certificate-based authentication. I've seen this with ADFS and AAD Connect when a certificate used for token signing gets reimported via PowerShell. The fix is the same — clear the machine store. But you also need to remove the old certificate from Azure AD using Remove-AzureADSSLCertificate after clearing the local store.
  • Outlook or Exchange certificate errors. The error can show up in Exchange 2016/2019 when the SMTP service tries to load the certificate for TLS. Here, the store is the Exchange certificate store, which is separate from the Windows one. Use the Exchange Management Shell: Remove-ExchangeCertificate -Thumbprint [thumbprint] -Confirm:$false then reimport the .pfx with Import-ExchangeCertificate -Server [servername] -FileName [path] -Password (ConvertTo-SecureString [password] -AsPlainText -Force).

If none of these work, check if you're dealing with a third-party certificate that has an unusual ASN.1 encoding. Some vendors encode the serial number as a signed integer, even though X.509 spec says it must be unsigned. That's actually a certificate bug, not a Windows bug. In that case, the fix is to request a corrected certificate from the CA. You can verify this by opening the .pfx in a tool like openssl asn1parse -in file.pfx and looking for a tag 02 (INTEGER) with a leading FF byte. If you see that, the serial number is signed and negative — your certificate is malformed.

Prevention

Stop the error from coming back. Here's what to do:

  • Never interrupt certificate imports. If you use PowerShell or certutil, let the command finish before closing the window. Interrupted imports leave partial data in the store.
  • Use a clean export. When exporting from the source machine, make sure you include the private key and all intermediate certificates in the chain. Export as PFX, not CER. A missing intermediate can cause a partial import later.
  • Validate certificates before import. Run certutil -v -verify file.pfx before importing. This checks the ASN.1 structure and will flag any negative integers before they corrupt your store.
  • Keep your store small. Windows stores with hundreds of expired certificates are more prone to corruption. Remove old certs with certutil -delstore -user My [serial] periodically.

That's it. The error is ugly, but the cause is simple: a corrupted store that can't parse a clean cert. Burn the store, reimport, and move on.

Related Errors in Windows Errors
0XC00D2757 Fix NS_E_DRM_UNABLE_TO_CREATE_HEADER_OBJECT (0XC00D2757) 0X40000008 Decoding IOCTL 0x40000008: The Filesystem Cache Snapshot Bug 0XC00D128E Fix NS_E_IMAGE_DOWNLOAD_FAILED (0XC00D128E) in Windows Media Player Windows 11 Search Highlights Eating Your Data? Turn It Off Now

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.