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