Pregunta

Estoy usando una idéntica llamada a "CryptUnprotectData" (expuesto de Crypt32.dll) entre XP y Vista.Funciona bien en XP.Tengo la siguiente excepción cuando corro en Vista:

"Decryption failed. Key not valid for use in specified state."

Como era de esperar, las versiones de crypt32.dll son diferentes entre XP y Vista (w/XP de tener la más reciente, posiblemente como resultado de SP3 o alguna otra actualización).

Más específicamente, soy el cifrado de los datos, poniendo en el registro, luego de leer y descifrar el uso de "CryptUnprotectData".UAC está apagado.

Nadie a visto esto antes?

¿Fue útil?

Solución

El CryptUnprotectData función la documentación de los estados que normalmente sólo funciona cuando el usuario tiene las mismas credenciales de inicio de sesión como el encrypter.

Esto me sugiere que tal vez la clave está ligada a la del usuario actual token.Desde que mencionar la Vista, esto me hace pensar UAC y restringido fichas.

Puede que nos muestran algo de código?Nos puedes dar más información sobre lo que estás haciendo con los datos-es decir,se están moviendo entre los procesos o usuarios o equipos?

Otros consejos

De niza.Esperemos que este es mi óseo de la cabeza se mueva de la semana!;-)

Esto me sugiere que tal vez la clave está ligada a la del usuario actual token.

Que era él.Resulta que yo estaba usando cifrado de datos desde otra máquina (XP) y tratando de descifrar en la Vista de la máquina.

Como la documentación de MSDN estados:

Por lo general, sólo un usuario con el mismo credenciales de inicio de sesión como el encrypter puede descifrar los datos.Además, el el cifrado y descifrado se debe hacer en el mismo equipo.

Una vez me vuelve a cifrar los datos en la Vista de la máquina, descifrado funciona como se esperaba.

Gracias.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top