У меня есть приложение WinForms, которое использует WCF и передает в качестве параметра сертификат:
mySvcClient.SendDocument(cert.Export(X509ContentType.SerializedCert, "password"));
...
В службе WCF я восстановил сертификат из массива байтов:
public void SendDocument (byte[] binaryCert)
{
X509Certificate2 cert = new X509Certificate2(binaryCert, "password");
...
Но при использовании сертификата для подписи xml я получил ошибку "Keyset не существует":
if (cert.HasPrivateKey) // WORKS!!!
{
signedXml.SigningKey = cert.PrivateKey; // THROW "keyset does not exist" EXCEPTION
...
В моем компьютере приложение работает на 100%! Но в WebServer я получил эту ошибку!
Вопрос: даже X509Certificate2 воссоздан из массива байтов, мне нужно специальное разрешение для доступа к закрытому ключу?
Спасибо!