Вы находитесь на странице: 1из 6

Crear aplicaciones ASP.

NET
seguras
Autenticacin, autorizacin y comunicacin
segura
Consulte la Pgina de entrada como punto de partida y para obtener una descripcin
completa del documento Crear aplicaciones ASP.NET seguras.
Resumen
SSL se puede utilizar para garantizar la integridad y confidencialidad de los mensajes
transmitidos hacia y desde un servicio Web. n este art!culo se muestra cmo utilizar
SSL con los servicios Web.
Cmo: Llamar a un servicio Web mediante SSL
Puede configurar un servicio Web para re"uerir el uso de Secure Soc#ets Layer $SSL%
con el fin de proteger la transmisin de datos confidenciales entre el cliente y el servicio.
SSL proporciona las siguientes ventajas&
Integridad de los mensajes. 'segura "ue los mensajes no se modifican durante su
transmisin.
Confidencialidad de los mensajes. 'segura "ue se mantiene la privacidad de los
mensajes durante su transmisin.

n este art!culo se describe cmo configurar un servicio Web para re"uerir SSL y cmo
llamar al servicio Web desde una aplicacin cliente 'SP.() mediante el protocolo
*))PS.
Nota: la informacin de este art!culo se aplica tambi+n a los objetos remotos alojados
en 'SP.() y en ,,S $con la tecnolog!a .() -emoting%. Para obtener informacin
acerca de cmo crear un componente remoto alojado en ,,S. consulte el art!culo
/012134 5*o6 )o& *ost a -emote 7bject in 8icrosoft ,nternet ,nformation Services5
$en ingl+s%.
Requisitos
' continuacin se describen las recomendaciones de hard6are. soft6are. infraestructura
de red. conocimientos y Service Pac# "ue se necesitan&
Sistema operativo 8icrosoft9 Windo6s9 2333 Server
Sistema de desarrollo 8icrosoft :isual Studio9 .()
;n servidor Web "ue tenga instalado un certificado de servidor
1
Para obtener ms informacin acerca de cmo instalar certificados de servidor
Web. consulte 5Cmo& Configurar SSL en un servidor Web5.

Para llevar a cabo los procedimientos de este art!culo. tambi+n es necesario "ue tenga
conocimientos acerca del desarrollo Web 'SP.() con la herramienta 8icrosoft :isual
C<=.
Resumen
n este art!culo se incluyen los siguientes procedimientos&
1. Crear un servicio Web sencillo
2. Configurar el directorio virtual del servicio Web para re"uerir SSL
0. Probar el servicio Web con un e>plorador
?. ,nstalar el certificado de la entidad emisora en el e"uipo cliente
@. Aesarrollar una aplicacin Web para llamar al componente revisado

1. Crear un servicio Web sencillo
ara crear un servicio Web sencillo en el equi!o "ost de servicios Web
1. ,nicie :isual Studio .() y cree una nueva aplicacin de servicio Web 'SP.() en
C< con el nombre Secure#at".
2. Cambie el nombre de service1.asm> por math.asm>.
0. 'bra math.asm>.cs y cambie el nombre de la clase Service1 por mat".
?. 'gregue a la clase mat" el siguiente m+todo Web.
[WebMethod]
public long Add(long operand1, long operand2)
{
return (operand1 + operand2);
}
@. n el menB $enerar. haga clic en $enerar solucin para crear el servicio Web.
%. Configurar el directorio virtual del servicio Web !ara
requerir SSL
l servicio Web se ejecuta en Servicios de ,nternet ,nformation Server $,,S% y depende de
,,S para proporcionar compatibilidad con SSL.
n este procedimiento se supone "ue dispone de un certificado de servidor vlido
instalado en el servidor Web. Para obtener ms informacin acerca de cmo instalar
certificados de servidor Web. consulte 5Cmo& Configurar SSL en un servidor Web5.
ara utili&ar IIS !ara configurar el directorio virtual del servicio Web !ara SSL
1. n el e"uipo host de servicios Web. inicie IIS.
2. :aya al directorio virtual Secure#at".
0. *aga clic con el botn secundario del mouse $ratn% en Secure#at" y. a
continuacin. haga clic en ro!iedades.
?. *aga clic en la ficha Seguridad de directorios.
@. n Comunicaciones seguras. haga clic en #odificar.
2
Si el botn #odificar no est disponible. es probable "ue no tenga instalado un
certificado de servidor Web.
C. 'ctive la casilla de verificacin Requerir canal seguro 'SSL(.
4. *aga clic en )ce!tar y. a continuacin. haga clic de nuevo en )ce!tar.
D. n el cuadro de dilogo *mitir "erencia. haga clic en Seleccionar todo y.
despu+s. haga clic en )ce!tar para cerrar el cuadro de dilogo de propiedades de
Secure#at".
Ae esta forma se aplica la nueva configuracin de seguridad a todos los
subdirectorios de la ra!z del directorio virtual.

+. robar el servicio Web con un e,!lorador
n este procedimiento se asegura "ue el certificado del servidor Web es vlido y "ue ha
sido emitido por una entidad emisora de certificados $C'. Certification Authority% en la
"ue el e"uipo cliente conf!a.
ara llamar al servicio Web mediante SSL desde Internet -,!lorer
1. ,nicie ,nternet >plorer en el e"uipo cliente y vaya a la direccin del servicio Web
$con *))PS%. Por ejemplo&
https://WebServer/securemath/math.asmx
l e>plorador debe mostrar la pgina de prueba del servicio Web.
2. Si la pgina de prueba se muestra correctamente. cierre ,nternet >plorer y vaya
al procedimiento @. 5Aesarrollar una aplicacin Web para llamar al componente
revisado5.
0. Si aparece el cuadro de dilogo )lerta de seguridad "ue se muestra en la
ilustracin 1. haga clic en .er certificado para ver la identidad de la entidad
emisora del certificado del servidor Web. Aebe instalar el certificado de la C' en el
e"uipo cliente. Para ello. consulte el procedimiento ?. 5,nstalar el certificado de la
entidad emisora en el e"uipo cliente5.
?. Cierre ,nternet >plorer.
0
{Insert fgure: Security Alert Non Truste! Ser"er Cert.gi# $
,lustracin 1
Cuadro de dilogo Alerta de seguridad

/. Instalar el certificado de la entidad emisora en el equi!o
cliente
n este procedimiento se instala el certificado de la entidad emisora en el e"uipo cliente
como una entidad emisora de certificados ra!z de confianza. l e"uipo cliente debe
confiar en la entidad emisora de certificados para poder aceptar el certificado de servidor
sin mostrar el cuadro de dilogo )lerta de seguridad.
Si utili&a Servicios de #icrosoft Certificate Server como C) en el dominio de
Windo0s
Lleve a cabo este procedimiento slo si el certificado del servidor Web ha sido emitido por
una C' de Servicios de 8icrosoft Certificate Server. Ae lo contrario. si dispone del archivo
.cer de la C'. vaya al paso D.
1. ,nicie ,nternet >plorer y vaya a la direccin http&EEnombreDeHostEcertsrv. donde
nombreDeHost es el nombre del e"uipo en el "ue se encuentran los Servicios de
8icrosoft Certificate Server "ue emitieron el certificado de servidor.
2. *aga clic en Recu!erar el certificado de entidad emisora de certificados o la
lista de revocacin de certificados y. a continuacin. haga clic en Siguiente.
0. *aga clic en Instalar esta ruta de certificacin de C).
?. n el cuadro de dilogo )lmac1n de certificados ra2&. haga clic en S2.
@. :aya a la direccin del servicio Web utilizando *))PS. Por ejemplo&
https://WebServer/securemath/math.asmx
l e>plorador debe mostrar correctamente la pgina de prueba del servicio Web.
sin "ue aparezca el cuadro de dilogo )lerta de seguridad.
Fa tiene instalado el certificado de la C' en su almac+n personal de certificados
ra!z de confianza. Para poder llamar correctamente al servicio Web desde una
pgina 'SP.(). debe agregar el certificado de la C' al almac+n de certificados
ra!z de confianza del e"uipo.
C. -epita los pasos 1 y 2. haga clic en 3escargar certificado de la C) y. despu+s.
guarde el certificado en un archivo en el e"uipo local.
4. -ealice ahora los pasos restantes.
Si dis!one del arc"ivo .cer del certificado de la C)
D. n la barra de tareas. haga clic en Inicio y. despu+s. en -jecutar.
G. scriba mmc y. a continuacin. haga clic en )ce!tar.
13. n el menB Consola. haga clic en )gregar o quitar com!lemento.
11. *aga clic en )gregar.
12. Seleccione Certificados y. despu+s. haga clic en )gregar.
10. Seleccione Cuenta de equi!o y. despu+s. haga clic en Siguiente.
1?. Seleccione -qui!o local: 'el equi!o en el que se ejecuta esta consola( y.
despu+s. haga clic en 4inali&ar.
1@. *aga clic en Cerrar y. a continuacin. en )ce!tar.
?
1C. n el panel iz"uierdo del complemento 88C. e>panda Certificados 'equi!o
local(.
14. >panda -ntidades emisoras de certificados ra2& de confian&a.
1D. *aga clic con el botn secundario en Certificados. elija 5odas las tareas y. a
continuacin. haga clic en Im!ortar.
1G. *aga clic en Siguiente para pasar el cuadro de dilogo inicial del 'sistente para
importacin de certificados.
23. scriba la ruta y el nombre del archivo .cer de la C'.
21. *aga clic en Siguiente.
22. Seleccione Colocar todos los certificados en el siguiente almac1n y haga clic
en -,aminar.
20. Seleccione #ostrar almacenes f2sicos.
2?. >panda -ntidades emisoras de certificados ra2& de confian&a en la lista y.
despu+s. seleccione -qui!o local.
2@. *aga clic en )ce!tar. haga clic en Siguiente y. a continuacin. en 4inali&ar.
2C. *aga clic en )ce!tar para cerrar el cuadro de mensaje de confirmacin.
24. 'ctualice la vista de la carpeta Certificados en el complemento 88C y
compruebe "ue el certificado de la C' aparece en la lista.
2D. Cierre el complemento 88C.

6. 3esarrollar una a!licacin Web !ara llamar al servicio
Web
n este procedimiento se crea una aplicacin Web 'SP.() sencilla. sta aplicacin se
utilizar como cliente para llamar al servicio Web.
ara crear una a!licacin Web )S.N-5 sencilla
1. n el e"uipo cliente del servicio Web. cree una nueva aplicacin Web 'SP.() en
C< con el nombre Secure#at"Client.
2. 'gregue una referencia Web $mediante *))PS% al servicio Web.
a. n el >plorador de soluciones. haga clic con el botn secundario en el nodo
Referencias y. despu+s. haga clic en )gregar referencia Web.
b. n el cuadro de dilogo )gregar referencia Web. escriba la direccin ;-L del
servicio Web. 'segBrese de "ue utiliza una direccin ;-L *))PS.
Nota: si ya ha establecido una referencia Web a un servicio Web sin utilizar
*))PS. puede modificar manualmente el archivo de clases pro>y generado y
cambiar la l!nea de cdigo en la "ue se establece la propiedad 7rl para "ue se
utilice una direccin ;-L *))PS en lugar de una direccin ;-L *))P.
c. *aga clic en )gregar referencia.
0. 'bra el archivo WebHorm1.asp>.cs y agregue la siguiente instruccin using
debajo de las instrucciones using e>istentes.
using SecureMathClient.WebReference1;
?. :ea WebHorm1.asp> en el modo del diseIador y cree un formulario como el "ue
se muestra en la ilustracin 2 con los siguientes ,d.&
@
operand1
operand2
result
add

{Insert fgure: %e&Ser"iceClient'orm.gi# $
,lustracin 2
Formulario WebForm1.aspx
@ *aga doble clic en el botn )dd $Sumar% para crear un controlador de eventos de
clic.
C. 'gregue al controlador de eventos el siguiente cdigo.
private void add_Click(object sender, System.EventArgs e)
{
math mathService = new math();
int addResult = (int) mathService.Add( Int32.Parse(operand1.Text),
Int32.Parse(operand2.Text));
result.Text = addResult.ToString();
}
4. n el menB $enerar. haga clic en $enerar solucin.
D. jecute la aplicacin. scriba dos nBmeros para sumar y. despu+s. haga clic en el
botn )dd.
La aplicacin Web llamar al servicio Web mediante SSL.

Recursos adicionales
J /012134. 5*o6 )o& *ost a -emote 7bject in 8icrosoft ,nternet ,nformation
Services5 $en ingl+s%. en 8icrosoft Kno6ledge Lase.
J 5Cmo& Configurar SSL en un servidor Web5
J 5Cmo& Llamar a un servicio Web mediante certificados de cliente en 'SP.()5

C

Вам также может понравиться