CryptographicException при создании экземпляра X509Certificate2 из локального хранилища ключей - PullRequest
0 голосов
/ 07 марта 2019

У меня есть тестовый сценарий, который создает экземпляр X509Certificate2, используя полное имя хранилища ключей, пароль хранилища ключей и флаг Exportable. Смотрите код ниже.

if (keystoreFile.Exists)
            {
                CertificateStore.Instance.ClientCertificate = new X509Certificate2(KeystoreFile.FullName, KeystorePassword, X509KeyStorageFlags.Exportable);
            }

При запуске тестового примера я получаю CryptographicException с сообщением:

Не удается найти запрошенный объект

Глядя на трассировку стека, возникает ошибка в приведенной выше строке кода. В качестве параметров моего тестового примера я использую экземпляр класса FileInfo для ссылки на локальный путь к файлу моего хранилища ключей, пароль хранилища ключей и некоторую дополнительную информацию.

activationClient = new ActivationClient(
                new ServiceProvider(),
                "99999999", 
                new FileInfo(@"C:\Test\Keystore\myKeystore.jks"),
                "keystorePassword"
                );

Параметры выглядят нормально для меня, но я не уверен, что у него проблемы с чтением пути к файлу. Хранилище ключей содержит корневой сертификат, и пароль подтвержден как правильный.

Что может вызвать эту ошибку? Я предполагаю, что «объект», который он не может найти, - это само хранилище ключей или сертификат в нем. Дайте мне знать, если вам нужна дополнительная информация.

...