Si entiendo correctamente, esto es para mantener el texto sin memoria, para que la aplicación sea segura contra ataques esotéricos en la memoria, el montón de basura o la memoria localizada en el disco. SecureString se alimenta con bytes no administrados y consume un byte no administrado a la vez; luego, la cadena se borra de la memoria. (Corregir si me lejos!)¿Hay algún beneficio al usar SecureString en ASP.NET?
En ASP.NET, el secreto se recoge en un formulario web, que en la parte posterior del poste de HTTPS. Pero luego el objeto Request convierte todos los valores de solicitud del formulario en pares de valores de nombre y los coloca en una colección, p. Request ["TxtPassword"] - por lo que incluso antes de que pueda obtener la cadena, ya se ha escrito de forma insegura en la memoria. Peor aún, si estuviera usando un control, la representación no segura tendrá más cadenas administradas en la propiedad del TextBox.
para hacer cualquier cosa con este SecureString necesito una API que lleva cadenas no administrados - por lo que parece que no puedo usar la cadena segura para un parámetro de procedimiento almacenado o mucho más.
estoy haciendo esto mal o se trata de una misión inútil tratar de usar SecureString y no se escapan copias de la cadena sin garantía en memoria administrada?
Cambiar a autenticación de OAuth o Windows no es una opción.
He tenido esta pregunta también, y estaba pensando en usar Ajax para enviar un personaje a la vez al servidor. Sin embargo, aún no he terminado mi prueba de concepto. – devlord