Pregunta

construyo un proyecto de biblioteca de clases .NET que accede a la mshtml.HTMLDocument cuando se le llama (de JavaScript). Todo funciona bien en mi máquina cambiado desde que los permisos de configuración de .NET para los sitios de confianza para tener acceso completo.

Sin embargo, para los usuarios finales Me gustaría Internet Explorer para impulsar al igual que ellos, por ejemplo, Windows Update.

Me chamuscado el ensamblado con un nombre fuerte y con un certificado auto-firmado, y yo estoy afirmando la SecurityPermission código no administrado, pero todavía no 'barra amarilla' preguntar al usuario.

¿Alguien sabe cómo activar esta provocando? Gracias

Más tarde editar : algunos detalles más: Estoy incrustar el componente como <object classid="dllname.dll#namespace.classname" ><object> y funciona, pero no tiene los permisos de seguridad.

Si lo integrar como <object classid="clsid:..guid.." codebase="dllname.dll#-1,-1,-1,-1"></object>, los permisos para instalar emergente aparece pero el objeto no puede crear una instancia.

Actualización: Hice mi clase COM uno, implementado condiciones de seguridad para secuencias de comandos, hice un MSI de ella y la puso en un archivo .CAB. Se instala, si el usuario tiene mi certificado en las raíces de confianza, y funciona.

No funciona sin embargo, si no es de confianza (no hay preguntas al usuario, a muy pocos ..has bloquearon la siguiente ActiveX .. '. ¿Eso significa realmente tengo que poner mi dinero en un certificado SSL?!?

¿Fue útil?

Solución

Estoy asumiendo que su pregunta es la siguiente: ¿se puede forzar a IE para solicitar al usuario que instale un certificado (hasta ahora desconocido), con el fin de permitir un control ActiveX firmado y seguro de otra forma para ser ejecutado en una página? (Si este no es su pregunta, comentario y puede revisar.)

Respuesta corta:. No Tendrá que pagar $$$ para cert de firma de código de una autoridad de confianza. (Que es, AFAIK, diferente de un certificado SSL regular)

Respuesta larga:

Desde una perspectiva de seguridad, que es firmado con un certificado desconocido es similar a estar sin firmar, porque no hay autoridad de confianza decirle al cliente que puede confiar en ese código. Y la configuración por defecto de IE son no permitir controles ActiveX sin firmar para ser descargado y utilizado.

Si lo que estás tratando de hacer se les permitió, a continuación, un atacante inteligente podría simplemente crear un certificado, firmarlo, y por lo tanto hacen que sea más fácil para los usuarios ejecutar su código de ataque.

Es cierto que hay soluciones, pero todas implican clientes tomar medidas para cambiar sus ajustes del IE, o (en un entorno de intranet) que tienen los administradores empujar a cabo cambios a la configuración del cliente.

Aquí hay más información sobre esto de TechNet ( http: // TechNet. microsoft.com/en-us/library/cc505863.aspx ):

  

Internet Explorer no está configurado para   confiar en la autoridad de certificación   Cualquier persona, incluyendo los atacantes, puede   crear su propia CA y emisión   certificados. Por lo tanto, Internet   Explorer no confía en todas las entidades emisoras de   defecto. En su lugar, Internet Explorer   confía sólo un puñado de CA públicas.   Si el certificado fue emitido por una   CA de confianza, y el sitio web es en el   Internet, el servidor   administrador debe adquirir una   certificado de una CA de confianza Si el   sitio web está en su intranet, un cliente   administrador debe configurar   Internet Explorer para confiar en la emisión   CA.

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