Certificate request processor: object already exists. 0×8009000f (-2146893809)

podczas generowania certyfikatu przy pomocy certreq można natknąć się na taki ciekawy błąd. ciekawy – ponieważ nie mogłem go nigdzie wygooglać a natrafiałem na niego dość często.

błąd pojawia się w momencie, jeśli rozpocznie się generowanie certyfikatu ale z jakiś-tam powodów nie uda się zakończyć. certyfikaty to dziwne zwierzęta i mają legowiska w różnych miejscach systemu. w tym konkretnym przypadku za pierwszym razem wpisałem złą nawę szablony w pliq ini. za drugim wyglądało to tak:

>certreq –new certreq.inf user.req
Active Directory Enrollment Policy
   {GUID}
   ldap:
DumpVarianStringWorker: 0: “…” Certificate request processor: object already exists. 0x8009000f (-2146893809).

i nigdzie odpowiedzi. okazało się, że te konkretne requesty nie są przechowywane jak pan gejst przykazał w rejestrze tylko w %userprofile%AppDataRoamingMicrosoftCryptoRSA{UserSID} – usunięcie tego katalogu wywaliło tymczasowe informacje o starym requescie i całość zahulała

gdzie jeszcze indziej są fragmenty związane z certyfikatami:

  • cache CRL można usunąć ręcznie nie czekają na automatyczne przedawnienie przy pomocy certutil –crlcache * delete
  • klucze prywatne i certy trzymane są w %userprofile%AppDataRoamingMicrosoftSystemCertificates
  • są tam też przechowywane erquesty wygenerowane za pomocą MMC – czyli m.in. klucz prywatny. requesty zresztą widać w MMC ‘certmgr.mmc’ w gałęzi ‘Certificates Enrollment Requests’
  • no i teraz okazuje się że jest jeszcze ten CryptoRSA… o kórym nigdzie się nie doczytałem wcześniej.

eN.