Abrir la selección de certificados X509 usando el token USB en C # alojado en IIS

Estoy trabajando en un requisito que requería Firma digital en archivos PDF en ASP.Net C # y desarrollé una aplicación que obtiene el certificado del cliente utilizando un token USB en mi máquina local. Pero, al alojar esta aplicación en el servidor IIS, se produce un error'La sesión actual no es interactiva'.

Alguien tiene alguna idea, ¿cómo podemos obtener certificados X509 de la máquina cliente en ASP.Net C # y esta aplicación alojada en el servidor IIS no en la aplicación de consola?

Mi código de referencia:

private void getSign()
{
    X509Store store = new X509Store(StoreLocation.CurrentUser);
    store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly);
    X509Certificate2 cert = null;
    //manually chose the certificate in the store
    X509Certificate2Collection sel = X509Certificate2UI.SelectFromCollection(store.Certificates, null, null, X509SelectionFlag.SingleSelection);
    if (sel.Count > 0)
        cert = sel[0];
    else
    {
        //MessageBox.Show("Certificate not found");
        return;
    }
    SignWithThisCert(cert);
}

Respuestas a la pregunta(0)

Su respuesta a la pregunta