FindPrivateKey-minta
Nehéz lehet megtalálni egy adott X.509-tanúsítvánnyal társított titkos kulcsfájl helyét és nevét a tanúsítványtárolóban. A FindPrivateKey.exe eszköz megkönnyíti ezt a folyamatot.
Fontos
Használat előtt létre kell készítenie a FindPrivateKey-mintát .
Az X.509-tanúsítványokat egy Rendszergazda istrator vagy a gép bármely felhasználója telepíti. A tanúsítványt azonban egy másik fiókban futó szolgáltatás érheti el. Például a NETWORK Standard kiadás RVICE-fiók.
Előfordulhat, hogy ez a fiók nem fér hozzá a titkos kulcsfájlhoz, mert a tanúsítványt eredetileg nem telepítette. A FindPrivateKey eszköz egy adott X.509-tanúsítvány titkos kulcsfájljának helyét adja meg. Ha ismeri az adott X.509-tanúsítványok titkos kulcsfájljának helyét, engedélyeket adhat hozzá a fájlhoz, vagy eltávolíthatja az engedélyeket.
A biztonsági tanúsítványokat használó minták a FindPrivateKey eszközt használják a Setup.bat fájlban. Miután megtalálta a titkos kulcsfájlt, más eszközökkel, például Cacls.exe is beállíthatja a megfelelő hozzáférési jogosultságokat a fájlra.
Ha windowsos kommunikációs alapszolgáltatást (WCF) futtat egy felhasználói fiók alatt, például egy saját üzemeltetésű végrehajtható fájlt, győződjön meg arról, hogy a felhasználói fiók írásvédett hozzáféréssel rendelkezik a fájlhoz. Ha WCF-szolgáltatást futtat az Internet Information Services (IIS) alatt, a szolgáltatás által futtatott alapértelmezett fiókok az IIS 7-es és korábbi verzióin futó NETWORK Standard kiadás RVICE vagy az IIS 7.5-ös és újabb verzióiban futó alkalmazáskészlet-identitások. További információ: Alkalmazáskészlet-identitások.
Olvasási jogosultságok
Ha olyan tanúsítványhoz fér hozzá, amelyhez a folyamat nem rendelkezik olvasási jogosultsággal, az alábbi példához hasonló kivételüzenet jelenik meg:
System.ArgumentException was unhandled
Message="The certificate 'CN=localhost' must have a private key that is capable of key exchange. The process must have access rights for the private key."
Source="System.ServiceModel"
Ha ez történik, a FindPrivateKey eszközzel keresse meg a titkos kulcsfájlt, majd állítsa be a hozzáférést a szolgáltatás által futtatott folyamathoz. Ez például a Cacls.exe eszközzel végezhető el, ahogyan az alábbi példában látható:
cacls.exe "C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys\8aeda5eb81555f14f8f9960745b5a40d_38f7de48-5ee9-452d-8a5a-92789d7110b1" /E /G "NETWORK SERVICE":R
Konvenciók – Parancssori bejegyzések
A(z) "[option]" paraméter nem kötelező paraméterkészletet jelöl.
A(z) "{option}" a paraméterek kötelező készletét jelöli.
Az "option1 | option2" a beállításkészletek közötti választást jelöli.
Az "<érték>" a beírandó paraméterértéket jelöli.
Használat
FindPrivateKey <storeName> <storeLocation> [{ {-n <subjectName>} | {-t <thumbprint>} } [-f | -d | -a]]
Ahol:
Paraméter | Leírás |
---|---|
<subjectName> |
A tanúsítvány tulajdonosának neve |
<thumbprint> |
A tanúsítvány ujjlenyomata (a Certmgr.exe eszközzel megkeresheti ezt) |
-f |
csak kimeneti fájlnév |
-d |
csak kimeneti könyvtár |
-a |
kimeneti abszolút fájlnév |
Ha nincs megadva paraméter a parancssorban, akkor megjelenik az információval kapcsolatos súgószöveg.
Példák
Ez a példa megkeresi a tanúsítvány fájlnevét a "CN=localhost" tulajdonosnévvel az aktuális felhasználó személyes tárolójában.
FindPrivateKey My CurrentUser -n "CN=localhost"
Ez a példa megkeresi a tanúsítvány fájlnevét a "CN=localhost" tulajdonosnévvel az Aktuális felhasználó személyes tárolójában, és a teljes könyvtár elérési útját adja ki.
FindPrivateKey My CurrentUser -n "CN=localhost" -a
Ez a példa a "03 33 98 63 d0 47 e7 48 71 33 62 64 76 5c 4c 9d 42 1d 6b 52" ujjlenyomattal megkeresi a tanúsítvány fájlnevét a Helyi számítógép személyes tárolójában.
FindPrivateKey My LocalMachine -t "03 33 98 63 d0 47 e7 48 71 33 62 64 76 5c 4c 9d 42 1d 6b 52"