Grałem z openssl, aby utworzyć klucz pub / prv, utworzyć podpis pliku i go zweryfikować. Bawiłem się Cryptophane (frontend gnupga dla systemu Windows) i słyszałem o serwerach kluczy + bawiłem się podpisywaniem tekstu.
Jednak nigdy nie podpisałem archiwum plików. Jeśli chcę opublikować archiwum (7z, rar lub zip, to nie ma znaczenia) i chciałbym, aby moi użytkownicy lub oprogramowanie mogli sprawdzić, czy to archiwum zostało podpisane, jak mam to zrobić? Klucz publiczny oczywiście musiałby być dostępny publicznie. Niepokoi mnie jednak dodanie podpisu do archiwum. Czy jakieś oprogramowanie + archiwum pozwala mi podpisać i zweryfikować skompresowany plik archiwum?
Odpowiedzi:
Powszechną metodą jest utworzenie odłączonego podpisu w
.sig
pliku (zwykle podpis PGP przy użyciugpg -b
- X.509 jest bardzo rzadki) i dostarczenie obu plików w tej samej lokalizacji. Na przykład:Można tego użyć z dowolnym rodzajem pliku, ale użytkownik będzie musiał ręcznie zweryfikować podpis przy użyciu
gpg --verify
.Niestety spośród obecnie używanych żaden format archiwum (o którym wiem) nie obsługuje wbudowanych podpisów przy użyciu PGP lub X.509. (Wyklucza to CAB, który jest używany przez system Windows wewnętrznie, ale praktycznie nigdzie indziej i jest dość skomplikowany do podpisania). WinRAR 4 był w stanie dodać rekord „weryfikacji autentyczności” przy użyciu zastrzeżonego formatu, ale wykorzystuje twoją licencję WinRAR jako klucz podpisujący, który był wielokrotnie łamany. (Aktualizacja: Ta funkcja została usunięta z WinRAR 5 z powodu braku bezpieczeństwa.)
W systemie Windows (i wkrótce Mac OS X) możliwe jest utworzenie „samorozpakowującego się archiwum” - podpisanego cyfrowo pliku wykonywalnego, który wyodrębnia archiwum z siebie samego - tak działają na przykład instalatorzy oprogramowania w systemie Windows. Jednak SFX są ograniczone do jednego systemu operacyjnego, więc nadają się tylko do dystrybucji programów , a nie dokumentów lub zdjęć. (Programy Java mogą być podpisywane i są wieloplatformowe, ale niewiele systemów nadal ma środowisko wykonawcze Java).
źródło
Archiwa jar, budowane za pomocą narzędzia jar jar, są efektywnie archiwami zip i istnieje narzędzie, jarsigner, do ich podpisywania.
Oto kilka przydatnych linków:
Najpierw wygląda to trochę skomplikowane („Do czego potrzebuję keeytool? Co jeszcze?”), Ale łatwo jest wykonać kroki, aby rozwiązać go w prosty sposób. To działa. Następnie możesz zanurzyć się głębiej w materię.
źródło
manual verification
? Jaka jest alternatywa? Autopopup, który weryfikuje się co 10 minut? Czy system operacyjny automatycznie zweryfikuje archiwum podczas uruchamiania? Po otrzymaniu archiwum - czy to z płyty CD, załącznika e-mail, pliku do pobrania ...? Czy powinna to być wtyczka w twoim skanerze wirusów?.deb
podpisy pakietów są weryfikowane przezdpkg
przed zainstalowaniem pakietu, bez konieczności podejmowania dodatkowych działań przez użytkownika.Jasne, za każdym razem, gdy instalujesz podpisane oprogramowanie, weryfikujesz podpisane archiwum. Aby je utworzyć, należy użyć tych samych narzędzi do pakowania, z których korzystają programiści. Istnieją pewne kompromisy, łatwość użycia w porównaniu z kompatybilnością między platformami. Nie mogę wymyślić sposobu, aby stworzyć samorozpakowujące się archiwum podpisane na wielu platformach.
W systemie Windows utwórz samorozpakowujące się archiwum za pomocą narzędzia iexpress, a następnie podpisz je za pomocą signtool.exe, jak opisano tutaj . Kiedy użytkownicy klikną dwukrotnie plik, będą mieli znane okna potwierdzające dialog identyfikujący cię jako wydawcę archiwum.
źródło
Możesz podpisywać pliki za pomocą jarsignera za pomocą tych dwóch poleceń:
Musisz zainstalować java jdk na swoim komputerze.
-Pierwsze polecenie tworzy magazyn kluczy w bieżącym katalogu (zakładając, że jeszcze nie istnieje). Generuje parę kluczy publiczny / prywatny przy użyciu algorytmu SHA-256.
- Drugi podpisuje plik przy użyciu tego samego algorytmu, magazynu kluczy i aliasu wygenerowanego przez pierwszy.
Aby zweryfikować plik podpisany przy użyciu magazynu kluczy, możesz uruchomić to polecenie:
źródło