Megosztás a következőn keresztül:


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"