A segédprogram a <winroot>:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Bin mappában található a VS.NET telepítése után. A mellékelt példa mappájában elhelyeztünk egy TestCert.cer nevű tanúsítvány-állományt. A tanúsítvány telepítése után aláírjuk vele a generált GetCertInfo.exe assembly-t. A segédprogram ezt követően próbálható ki.
Tanúsítvány telepítése
Annak érdekében, hogy a tanúsítvány használható legyen, telepítenünk kell a rendszerben. Ennek érdekében az elindított VS parancssorba gépeljük be a certmgr parancsot, melynek eredményeképpen elindul a .NET Framework Certification Manager segédprogramja. A segédprogramban egy táblázatcsoportot találunk, melynek fülei segítségével kereshetjük ki a „Megbízható gyártók” feliratú táblázatot. Most még nem található benne a VSCert tanúsítvány.
A telepítéshez a panel „Importálás” feliratú nyomógombjára kell kattintanunk, majd a „Tanúsítványimportáló varázsló” ablakban meg kell adni a TestCert.cer állomány elérési útját.
A művelet végén a VSCert tanúsítvány megjelenik a fenti táblázatban.
A tanúsítvány ezennel kész, telepítve van. Most már csak fel kell használnunk a segédprogramokban.
Assembly aláírása
A SIGNCODE.EXE alkalmazás segítségével tudjuk az assembly-t aláírni. A tanúsítvány nevének felhasználásával a következőképpen írhatjuk alá a GetCertInfo.exe állományt:
Signcode –cn VSCert –s root <elérési út>GetCertInfo.exe
A –s kapcsolóval megadtuk, hogy a tanúsítvány a ROOT tárolóban van. Ennek elhagyásával a program a MY tárolóban keresi azt, és mivel a tanúsítvány ott nem található, a művelet kisiklik.
SECUTIL.EXE segédalkalmazás
A segédprogram segítségével információkat kérdezhetünk le az aláírt assembly-ből. Az információk lehetnek Strong Name, vagy Public Key információk. Amennyiben az aláírás az SN.EXE segédprogram által generált .snk állománnyal történik, akkor a Strong Name információkat kaphatjuk meg, ha viszont a MAKECERT.EXE program által generált .cer állománnyal (X509-típusú aláírás) történt az aláírás, akkor a Public Key információk kérdezhetők le. A program használatának általános szintaxisa a következő:
secutil [opciók] fájl neve
A használható opciók listáját a következő táblázatban foglaltuk össze.
| Opciók |
Megjegyzés |
| -a |
Amennyiben a –strongname opcióval együtt használjuk, akkor a strong name információkat kaphatjuk meg egy bájttömbben, valamint az assembly nevét és verziószámát. Az –x opcióval együtt viszont a Public Key információk kérdezhetők le. |
| -c |
Visszaadja azokat az információkat, mint az –a opció, csak nem egy bájttömbben. |
| -hex |
Az –a opcióval megegyező típusú adathalmazt eredményez, csak a bájttömb helyett hexadecimális formátumban. |
| -s |
Csak a strong name információt, az assembly nevét és verziószámát adja vissza. A formátum C#-kompatibilis. |
| -v[bmode] |
Az –a opcióval azonos eredményre vezet, de a bájttömb a Visual Basic nyelvvel mutat kompatibilitást. |
| -x |
Csak az X509 szabvánnyal hitelesített aláírással kapcsolatos információkat adja vissza egy C#-kompatibilis bájttömbe. |
| -h vagy -? |
Megjeleníti az opciók listáját. |
A példaprogram által generált GetCertInfo.exe állományból a következő parancssorral tudunk információkat lekérdezni.
Secutil.exe –x <elérési út>GetCertInfo.exe > <elérési út>X509Cert.txt
A paranccsal egy X509cert.txt állományba mentettük az aláírt assembly X509 szabvány szerinti aláírásához kapcsolódó kulcsinformációkat. Az eredmény-bájttömb a következőképpen fest:
X.509 Certificate = { 48, 130, 1,...}