Abrir a seleção de certificados X509 usando o token USB em c # hospedado no IIS

Estou trabalhando em um requisito que exigia assinatura digital em arquivos PDF no ASP.Net C # e desenvolvi um aplicativo que obtém o certificado de cliente usando o token USB na minha máquina local. Mas, ao hospedar este aplicativo no servidor IIS, obtendo erro'Sessão atual não é interativa'.

Alguém tem alguma idéia, como podemos obter X509Certificates da máquina cliente no ASP.Net C # e esse aplicativo hospedado no servidor IIS, não no aplicativo do console.

Meu código de referência:

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);
}

questionAnswers(0)

yourAnswerToTheQuestion