X509Certificate — Набор ключей не существуетC#

Место общения программистов C#
Ответить
Anonymous
 X509Certificate — Набор ключей не существует

Сообщение Anonymous »

У меня есть приложение 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%! Но на веб-сервере я получил эту ошибку!

Вопрос: даже если X509Certificate2 воссоздан из массива байтов, мне нужно какое-то специальное разрешение для доступа к закрытому ключу?

Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/639 ... -not-exist
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»