0X0000361D

Fix 0x0000361D: IPSec IKE failsSPInit SSPI dispatch error

This error hits when Windows can't dispatch security functions during IKE negotiation — typically after KB updates or crypto service corruption. Here's why and how to fix it.

You're setting up a site-to-site VPN or an L2TP/IPsec connection, and Windows throws 0x0000361D (ERROR_IPSEC_IKE_FAILSSPINIT) in the event log — usually right after a Windows update, or when you've migrated a VPN config from an older Server 2008 box. The exact message: Failed to obtain the security function table dispatch address from the SSPI. What's actually happening here is the IKE service (IKEEXT) tries to call into the Security Support Provider Interface (SSPI) to grab function pointers for authentication, and the SSPI returns garbage or nothing at all.

Root cause: corrupted crypto registry or missing Schannel provider

The SSPI dispatch table lives under HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL and HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\Security. When that table goes missing — typically after a botched crypto update or an antivirus nuking registry entries — the IKE service can't load the security functions it needs. The error code 0x0000361D specifically means the dispatch address lookup for the security function table failed. This isn't a network misconfig; it's a local system state problem.

I've seen this happen after uninstalling a third-party VPN client that trampled the Schannel registry keys, and after certain KB4507459 updates on Server 2016. The fix is to rebuild that registry branch and re-register the crypto providers.

The fix: rebuild SSPI dispatch and re-register Schannel

  1. Open an elevated command prompt — right-click Command Prompt, run as admin. Don't skip this; registry changes require SYSTEM-level access.
  2. Register/re-register the security providers — run these in order:
    regsvr32 /s schannel.dll
    regsvr32 /s rsaenh.dll
    regsvr32 /s msv1_0.dll
    regsvr32 /s wdigest.dll
    regsvr32 /s kerberos.dll
    regsvr32 /s secur32.dll
    Why step 3 works: This re-registers the COM-invocable security modules. The /s flag suppresses success dialogs, so you won't see errors unless something's deeply wrong. If any fails here, you're looking at a corrupted system file — run SFC /scannow next.
  3. Fix the SSPI dispatch registry key — open regedit, go to:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Security
    Check for a value named SecurityProviders of type REG_MULTI_SZ. Its data should contain:
    schannel.dll
    msv1_0.dll
    wdigest.dll
    kerberos.dll
    negotiate.dll
    One per line. If it's missing or truncated, create it. If it's present but you still get the error, delete the entire Security key and restart — Windows regenerates it on boot with defaults.
  4. Restart the IKE and AuthIP services:
    net stop IKEEXT && net start IKEEXT
    net stop AAEsvc && net start AAEsvc
    This forces IKEEXT to re-read the SSPI dispatch table. Do this after every registry change — don't assume a reboot will happen automatically.
  5. Test the connection — trigger the same VPN or IPsec policy that failed before. Check event log for 0x0000361D again. If it's gone, you're done. If not, move to the next step.

If it still fails: deeper system corruption

Sometimes the registry fix isn't enough because the actual DLLs are missing or the system file checker can't fix them. Here's what to try:

  • Run SFC /scannow — this will replace corrupted Schannel or security DLLs. Takes 10-15 minutes. If SFC finds nothing but the error persists, run DISM /Online /Cleanup-Image /RestoreHealth.
  • Check for a pending Windows update — I've seen KB5034439 (March 2024) fix this exact issue on Server 2022. If you uninstalled a crypto-related update, reinstall it.
  • Verify Schannel.dll is present — open C:\Windows\System32 and check for schannel.dll. If it's missing, copy it from a same-version Windows machine, or run an in-place upgrade repair.
  • Last resort: reinstall the IPsec role — on Server, go to Server Manager > Remove Roles and Features, uncheck IPsec (under Remote Access), reboot, re-add it. This blows away the registry keys and reinitializes everything from the baseline.

One gotcha: if you're running a third-party firewall or VPN client (especially those hooking LSP), they can block the SSPI dispatch registration. Temporarily uninstall them, apply the fix, then reinstall. I've had to do this twice – once with an old Check Point endpoint and once with a SonicWALL NetExtender that left junk in the SecurityProviders key.

After all this, the error should be gone. The root cause is almost always a broken registry entry for the SSPI dispatch table – not a network problem. So don't waste time checking firewall rules or DNS first. Fix the local system state, and 0x0000361D disappears.

Related Errors in Cybersecurity & Malware
0X8009001E 0x8009001E Fix: NTE_PROV_DLL_NOT_FOUND Provider DLL Error 0X800B0114 CERT_E_INVALID_NAME (0x800B0114) – The Real Fix 0XC000028D Fix STATUS_NO_RECOVERY_POLICY (0XC000028D) on Windows 10/11 Public Wi-Fi 'Not Private' Warning – What It Means

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.