Mam certyfikat w serwisie MSMQ Magazyn osobisty i muszę przyznać usłudze sieciowej uprawnienia dostępu do certyfikatu.Jak przyznać uprawnienia konta, aby uzyskać dostęp do certyfikatu?
Jedynym sposobem, że wiem, aby zrobić to za pomocą certutil.exe na Win2008/7 tak:
certutil -service -service -repairstore MSMQ\My "" D:PAI(A;;GA;;;BA)(A;;GA;;;SY)(A;;GR;;;NS)
Jednak Certutil na Win2003/XP nie rozpoznaje parametru -service, więc nie jest to dobre.
Moje pytanie brzmi: jak mogę to zrobić w sposób, który działa zarówno dla Win2003/XP i Win2008/7?
Potrzebuję podejścia nieinteraktywnego (narzędzie wiersza poleceń, skrypt, COM/.NET/Win32 API).
Czy kiedykolwiek próbował otworzyć X509Store związanej z usługą windows? Podaj fragment kodu. Dzięki. – mark
Nie znalazłem łatwego sposobu na zrobienie tego. Ten link: http://social.msdn.microsoft.com/Forums/en-US/netfxnetcom/thread/3b8f0606-fe05-4607-bc7c-183fc7b719dd/ zawiera kilka pomysłów. Jedną z nich jest wykorzystanie klas WSE 2.0 (spójrz na link, aby zobaczyć opublikowany fragment kodu). Nie próbowałem, ponieważ nie chciałem zainstalować WSE 2.0, ale tutaj jest link do pobrania, który znalazłem dla WSE 2.0: http : //www.microsoft.com/downloads/en/details.aspx? FamilyID = 1ba1f631-c3e7-420a-bc1e-ef18bab66122 –
Mam oznaczył to jako odpowiedź, ponieważ wysłana przez ciebie wiadomość zawiera odpowiedź - używając X509Store (IntPtr) konstruktor, w którym uchwyt do magazynu certyfikatów usług jest otwarty przy użyciu P/Invoke. – mark