Narzędzia kryptograficzne
Narzędzia kryptograficzne udostępniają narzędzia wiersza polecenia do podpisywania kodu, weryfikacji podpisu i innych zadań kryptograficznych.
Wprowadzenie do podpisywania kodu
Branża oprogramowania musi zapewnić użytkownikom środki zaufania do kodu, w tym kodu opublikowanego w Internecie. Wiele stron internetowych zawiera tylko statyczne informacje, które można pobrać z niewielkim ryzykiem. Niektóre strony zawierają jednak kontrolki i aplikacje, które mają być pobierane i uruchamiane na komputerze użytkownika. Te pliki wykonywalne mogą być ryzykowne do pobrania i uruchomienia.
Oprogramowanie spakowane używa znakowania i zaufanych placówek sprzedaży w celu zapewnienia integralności użytkowników, ale gwarancje te nie są dostępne, gdy kod jest przesyłany w Internecie. Ponadto sam Internet nie może zagwarantować tożsamości twórcy oprogramowania. Nie może też zagwarantować, że żadne pobrane oprogramowanie nie zostało zmienione po jego utworzeniu. Przeglądarki mogą wyświetlać komunikat ostrzegawczy wyjaśniający możliwe zagrożenia związane z pobieraniem danych dowolnego rodzaju, ale przeglądarki nie mogą sprawdzić, czy kod jest tym, co twierdzi. Należy podjąć bardziej aktywne podejście, aby Internet był niezawodnym medium do dystrybucji oprogramowania.
Jednym z podejść do zapewnienia gwarancji autentyczności i integralności plików jest dołączanie podpisów cyfrowych do tych plików. Podpis cyfrowy dołączony do pliku pozytywnie identyfikuje dystrybutora tego pliku i zapewnia, że zawartość pliku nie została zmieniona po utworzeniu podpisu.
Podpisy cyfrowe można tworzyć i weryfikować przy użyciu interfejsów API kryptograficznych firmy Microsoft. Aby uzyskać podstawowe informacje na temat kryptografii i funkcji CryptoAPI, zobacz Cryptography Essentials.
Aby uzyskać szczegółowe informacje na temat podpisów cyfrowych, certyfikatów i magazynów certyfikatów , zobacz następujące tematy:
- skróty i podpisy cyfrowe
- certyfikatów cyfrowych
- zarządzanie certyfikatami przy użyciu magazynów certyfikatów
- weryfikacja zaufania certyfikatów
Obecnie narzędzia CryptoAPI Tools obsługują technologię Microsoft Authenticode, umożliwiając dostawcom oprogramowania podpisywanie następujących typów plików na potrzeby weryfikacji aplikacji Authenticode.
Aby uzyskać informacje na temat podpisywania cyfrowego, zobacz następujące dokumenty:
- CCITT, zalecenie X.509, Directory-Authentication Framework, Komitet Konsultacyjny, Międzynarodowy Telefon i Telegraph, Międzynarodowa Unia Telekomunikacyjna, Genewa, 1989.
- RSA Laboratories, PKCS #7: Kryptograficzna składnia komunikatów standard. Wersja 1.5, listopad 1993.
- Schneier, Bruce, Zastosowane kryptografia, 2d ed. Nowy Jork: John Wiley & Sons, 1996.
- https://www.rsa.com
Nuta
Te zasoby mogą nie być dostępne w niektórych językach i krajach lub regionach.
Narzędzia kryptograficzne firmy Microsoft
Narzędzia do publikowania i biblioteka DLL podpisywania są instalowane w katalogu \Bin instalacji zestawu Microsoft SDK. Zawierają one następujące pliki.
Nazwa pliku | Uwagi |
---|---|
Cert2SPC.exe | Tworzy certyfikat wydawcy oprogramowania (SPC) tylko do celów testowych. |
CertMgr.exe | Zarządza certyfikatami, listami CCL i list odwołania certyfikatów (CRL). |
MakeCat.exe | Tworzy niepodpisany plik wykazu zawierający skróty zestawu plików wraz ze skojarzonymi atrybutami każdego pliku. |
MakeCert.exe | Tworzy certyfikat X.509 tylko do celów testowych. |
Pvk2pfx.exe | Konwertuje plik certyfikatu wydawcy oprogramowania (spc) lub plik klucza prywatnego (pvk) na format pliku wymiany informacji osobistych (PFX). |
SetReg.exe | Ustawia klucze rejestru kontrolujące weryfikację certyfikatu. |
SignTool.exe | Podpisuje i sygnatury czasowe pliku. Ponadto sprawdza podpis pliku. |