ASP.NET - Login con Certificados de usuario.

 
Vista:
sin imagen de perfil

Login con Certificados de usuario.

Publicado por jorge (4 intervenciones) el 19/01/2018 11:01:21
Buenos días

Estoy desarrollando una aplicación web mediante MVC 5 y C#, en la cual tengo un sistema de logueo mediante usuario y contraseña que funciona correctamente.

Ahora quiero añadir un sistema de logueo mediante Certificados. Actualmente mi aplicación web ya funciona mediante https correctamente. Por lo que el uso de certificados es seguro. Ahora bien.

Cuando yo pruebo mi aplicación en local, la aplicación obtiene correctamente mi certificado personal que tengo instalado en mi navegador. Y puedo realizar mi autentificación correctamente.

Pero cuando pruebo mi aplicación en el momento que ésta, está en el servidor, no obtengo mi certificado personal estando este perfectamente instalado en el navegador, como he podido comprobar en el momento que lo he probado en local.

A continuación os dejo la función mediante la cual obtengo los certificados de usuario.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
private X509Certificate2 GetClientCertificate()
{
    X509Store userCaStore = new X509Store(StoreName.My,StoreLocation.CurrentUser);
    try
    {
        userCaStore.Open(OpenFlags.OpenExistingOnly);
        //Se obtienen solamente los certificados válidos en cuanto a fecha se refiera
        X509Certificate2Collection certificatesInStore = userCaStore.Certificates
                                                        .Find(X509FindType.FindByTimeValid, DateTime.Now, true);
        X509Certificate2 clientCertificate = null;
        if (certificatesInStore.Count > 0)
        {
 
            clientCertificate = certificatesInStore[0];
        }
        else
        {
            return null;
        }
        return clientCertificate;
    }
    catch
    {
      throw;
    }
    finally
    {
        userCaStore.Close();
    }
}

Muchas gracias de antemano

Jorge
Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder