У меня возникли проблемы с вставкой нового сертификата CA с закрытым ключом в хранилище корневого сертификата localmachine.
Вот что происходит:
//This doesn't help either.
new StorePermission (PermissionState.Unrestricted) { Flags = StorePermissionFlags.AddToStore }.Assert();
var store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
privkey.PersistKeyInCsp = true;
//This shouldn't be necessary doesn't make a difference what so ever.
RSACryptoServiceProvider.UseMachineKeyStore = true;
cert.PrivateKey = privkey;
store.Open (OpenFlags.MaxAllowed);
store.Add (cert);
store.Close ();
Сертификат вставляется, и все это выглядит денди: (см.!)
Примечание: говорится, что у него есть закрытый ключ.
Итак, вы сказали бы, что он сможет найти его с помощью FindPrivateKey
C:\Users\Administrator\Desktop>FindPrivateKey.exe Root LocalMachine -t "54 11 b1 f4 31 99 19 d3 5a f0 5f 01 95 fc aa 6f 71 12 13 eb"
FindPrivateKey failed for the following reason:
Unable to obtain private key file name
Use /? option for help
Это мило... НО ЭТО НЕПРАВИЛЬНО!! (Ссылка 2 глупых собак)
И диалог экспорта сертификатов дает мне это очень хорошее сообщение:
Этот код запускается при выдаче имени администратору с помощью этого фрагмента: нажмите здесь
Я просто хотел бы знать, ПОЧЕМУ?
(протестирован на Windows Server 2008 R2 и Windows 7)
Я буду проклят!
Работает, когда я компилирую его в v3.5!!!!
Что делать?