I'm driving myself up a wall trying to get this to work;

so any help would be greatly appreciated.
I'm trying to get L2TP/IPSec to work between my Vista laptop and the DIR-330 router. When I try to connect the laptop to the VPN it just bails out with:
Error 789: The L2TP connection attempt failed because the security layer encountered a processing error during initial negotiations with the remote computer.
Here is my setup:
I've got the DIR-330 router configured with a CA certificate from my internal certificate server (windows certificate server). I generated a certificate for the router from the certificate server with the IPSec certificate setting and then used OpenSSL to convert it to a text based private key and certificate which I then uploaded to the router. I also generated a certificate for my computer and installed it. So at this point the certificates are deployed like this:
Router:
CA public certificiate installed
Router Cert installed as local identity with private and public
My cert public installed as peer identity
Laptop:
CA public certificate installed
My cert public and private installed
All certificates are showing as valid in the router's config screen.
I've got an IPSec tunnel setup with Site to Site setup with 0.0.0.0/0 and the certificates selected as the authentication. I've got Perfect Forward Secrecy turned off and I've tried it with NAT-T turned off and turned on.
I've got the L2TP over IPSec setup with MSCHAP v2 and using the certificates.
Doesn't seem to matter what I do with the Vista settings, I can't get it to connect successfully. I've dug around all over the internet and haven't found a set of instructions that seem to explain how to get this working.
Maybe the problem is with my router setup (since I haven't been able to find instructions on setting this up on DIR-330 and have just been figuring it out from instructions for other routers).
Maybe the problem is with the way I've generated the certificates since D-Link doesn't seem to provide any information on what the certificate requirements are for the router. In fact it took me a while just to figure out how to get from the private key export that windows provides to a key format that the router would take).
Maybe the problem is I'm not hitting the magical checkbox somewhere in Vista.
Whatever the issue is I'm about to go mad trying to get this to work and since VPN is one of the reasons that I bought this router, I'm going to be upset if I can't get it to work.
Thanks in advance for any help or leads.