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