Похоже, есть ошибка в методах Find этого класса, которая мешает им работать в x64. В частности, они используют IntPtrs для отправки данных в нативные методы.
В качестве обходного пути вы можете просмотреть сертификаты в магазине и выполнить сравнение вручную (см. Образец ниже), хотя даже при взломе было бы лучше использовать отпечаток или серийный номер.
Лучшим решением является повторное подключение вашего приложения для использования поддерживаемого класса System.Security.Cryptography.X509Certificates.X509Store для доступа к вашим сертификатам. Этот класс работает в 64-битном режиме.
foreach(X509Certificate cert in store.Certificates)
{
if (cert != null && cert.Subject.Contains("CN=my cert bla bla"))
return cert;
}
Console.WriteLine("Not found!");