¿Qué quieres desarrollar hoy?
Browse by Tags
All Tags
»
seguridad .net
(RSS)
.net
activex
C#
control activeX en .NET no funciona bajo https
keywords: .net user control, activex, ocx, IE7, IE, https, http, seguro
Justin
y yo tuvimos una semana muy pesada peleandonos con unos controles ActiveX desarrollados en C# y .NET 2.0, asi que vamos a postear algunas de nuestras experiencias con los problemas y soluciones que encontramos (para que podamos recordarlas despues), la prima es sobre
controles ActiveX corriendo bajo https
.
Desarrollamos el control, todo funcionaba muy bien, uno de nuestros clientes queria ese control en un sitio https, asi que dijimos no hay problema... hasta que tratamos, y tratamos, y tratamos y nada funcionaba, el control simplemente no cargaba
correctamente
(si cargaba, pero no hacia lo que necesitabamos, esto era aun peor).
La solucion resulto ser algo muy simple (como normalmente es el caso); cuando incluyes un control, normalmente se hace asi:
<object id="someId" classid="SomeDll#Namespace.ClassName"></object>
Esa es la forma en la que lo encuentras en los ejemplos en internet, y
funciona muy bien
(una vez que pasas todas las demas barreras para hacerlo funcionar)
bajo http, pero cuando corres ese mismo sitio bajo https, el control simplemente no funciona.
la solucion?
Cuando creas tu control, le asignas un identificador unico (guid)
[Guid("CAE67AEA-F489-4e52-956B-CCC774F40A3A")]
[ClassInterface(ClassInterfaceType.None), ComSourceInterfaces(typeof(IControlEvents))] // --Expose events
[ComVisible(true)]
public partial class MyControl : UserControl...
mas o menos asi...
bien, para hacer que el control funcione en https, simplemente tendras que
usar ese GUID, no el nombre de la clase
, asi que escribiriamos el codigo html de la siguiente manera
<object id="someId" classid="clsid:CAE67AEA-F489-4e52-956B-CCC774F40A3A"></object>
listo, es todo lo que hay que hacer, espero que les hallamos evitado algunas horas de dolores de cabeza
salu2
Distribuir configuracion de seguridad de .NET 2.0 sin usar SDK o caspol
Este articulo aplica a: Seguridad en Microsoft .NET Framework 2.0
keywords: CAS, full, trust, assembly, security, policy, mscorcfg.msc caspol.exe
Cuando quieres ajustar la configuracion de seguridad en .NET 2.0 usas la herramienta mscorcfg.msc (Control Panel/Administrative Tools/Microsoft .NET Framework 2.0 Configuration)
Peeeeero, algunas veces uno necesita distribuir esa misma configuracion a (muchas o algunas) otras maquinas en produccion, y el problema es que la herramienta mscorcfg.msc solo esta incluida como parte del SDK el cual mide como 354MB, otra opcion es usar la linea de comando, pero eso como que asusta a la mayoria de la gente,
hay mucha gente que tiene este problema
, asi que decidi poner aqui una solucion facil para este problema.
Les menti en el titulo del articulo, si necesitas el SDK, pero solo en una maquina, y como eres un desarrollador (cierto?), supongo que tienes Visual Studio instalado en al menos una maquina, y ahi esta incluido el SDK, si no tienes el mentado SDK en ninguna maquina pues vas a tener que
bajarlo
e instalarlo al menos en una maquina.
Una vez que ya tengas la herramienta mscorcfg, configura la maquina con los permisos que quieras distribuir, asigna confianza a los assemblies (trust assemblies), ajusta las zonas de seguridad (adjust zone security settings), etc, cuando hallas terminado de hacer los ajustes necesarios, usa esta opcion
Configure Code Access Security Policy (configurar politicas de seguridad que definen que tantos permisos le damos al codigo)
Create Deployment Package (crear paquete de distribucion)
Veras un dialogo el cual no tiene muchas opciones
Este dialogo es un poco extraño y buggy*, pero solo tienes que especificar un nombre de archivo en un folder valido, por ejemplo c:\SecuritySettings
La otra cosa que seguro querras cambiar es "security policy level to deploy" (nivel de la politica de seguridad que deseas distribuir), si vas a distribuir a maquinas en produccion querras usar "machine" (aplica a todos los usuarios de la maquina) o "user" (solo al usuario bajo el que lo instales, click Next, luego finish.
Lo que este programita hace es que nos
crea un paquete que contiene toda la configuracion de seguridad de .net en esa maquina
, y lo pone en un simple y pequeño programita de instalacion que puedes correr en cualquier maquina para ajustar la configuracion de seguridad facil y rapido.
Asi que ahora lo unico que necesitas hacer es llevar ese programita a todas las maquinas a donde quieras distribuir la configuracion de seguridad, correrlo y listo
Cuando corres ese programita naturalmente estaras esperando un dialogo que te pregunte darle click en next, next, next, finish, pero
no habra ningun dialogo
, veras una ventanita aparecer por un segundo y luego desaparece y eso es todo lo que hace (es posible que necesites correr el programa con privilegios mas elevados que los que tengas en cada maquina), si pudiste correr el programita, la configuracion de seguridad ha sido cambiada exitosamente.
asi que ahora si "corre en mi maquina!", puedes hacer que corra en otras maquinas tambien =o)
Search
Go
This Blog
Home
Tags
.net
.net DIB Bitmap TIFF C#
activex
alt.net hispano
analogias
Apple
asp.net
blogs
bugs
C#
chistoso
codigo
componentes
debug
dialogos
divertido
DOS
download
errores
excepciones
extenciones
files
firefox
fsharp
gemas
google
gratis
hacking
herramientas
ideas
IE
IE7
IE8
Instalacion
interface de usuario
iTunes
libros
linea de comando
links
Linux
listas genericas
literatura de software
Mac
microsoft
MS Outlook
mvc
noticias
novell
optimizacion
oracle
patrones
personal
practicas
preguntas para entrevista
problemas
quiz
redes sociales
refactorizacion
refleccion
seguridad
seguridad .net
servidores
SQL
sugerencias
SVN
tecnologia
third party
tip
tips
trivia
trucos
twitter
UI
usabilidad
utilidades
videos
Vista
Visual Studio 2005
Visual Studio 2008
web
Windows
Windows 7
WTF
xml
Navigation
Home
Blogs
Calendar
Forums
Photos
Downloads
Archives
November 2009 (1)
October 2009 (2)
September 2009 (2)
July 2009 (4)
June 2009 (3)
May 2009 (1)
April 2009 (5)
March 2009 (7)
February 2009 (1)
January 2009 (7)
September 2008 (1)
August 2008 (1)
July 2008 (3)
June 2008 (1)
May 2008 (1)
March 2008 (2)
January 2008 (1)
November 2007 (2)
October 2007 (3)
September 2007 (2)
August 2007 (1)
June 2007 (3)
May 2007 (7)
April 2007 (10)
March 2007 (5)
February 2007 (8)
January 2007 (9)
December 2006 (16)
October 2006 (1)
Syndication
RSS 2.0
Atom 1.0