Windows 7 y el DNIe

Instalado mi nuevo Windows 7, con su Internet Explorer 8  intenté acceder a mi banco que me exige el DNIe para hacerlo. No pude llevar a cabo la autentificación y me quedé sin poder realizar una transacción importante. 

La primera en la frente fue la contestación de la gente de DNIe a mi petición de ayuda: Utilice Firefox pero, evidentemente, yo no quiero cargar mi máquina con algo tan lento.

Mirando un poquito y haciendo un par de preguntas (gracias a los Ramones, Pastor y Miranda) el problema es tan simple como que en el empaquetado de la instalación no se hacen referencias absolutas a la dll correspondiente, y esto también pasa con Ceres :(

Para que funciones correctamente el certificado Ceres o DNIe en Windows 7 además de instalar los CSP correspondientes - DNIe_v4_0_0.zip para el DNIe y insmodcripc2v810.exe para Ceres - simplemente hay que modificar el registro en las siguiente claves:

a) Para Windows 7 32-bits

1. DNIe: en la clave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\DNIeCSP buscar "ImagePath" y modificar el valor dniecsp.dll por %systemroot%\system32\dniecsp.dll

2. Ceres: en la clave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\CeresCSP buscar el valor ImagePath y modificar cerescsp.dll por %systemroot%\system32\cerescsp.dll

b) Para Windows 7 64-bits, además de modificar los valores anteriores como se señala para 32-bits

1. DNIe: modificar también la clave HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Cryptography\Defaults\Provider\DNIeCSP con valor ImagePath por el siguiente %systemroot%\syswow64\dniecsp.dll en vez de dniecsp.dll

2. Para Ceres: modificar la clave HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Cryptography\Defaults\Provider\CeresCSP con valor ImagePath introduciendo %systemroot%\syswow64\cerescsp.dll en vez de cerescsp.dll

Tras las modificaciones anteriores reiniciar la máquina para que se carguen et voila, ya está mi DNIe funcionando en Windows 7.