2013-07-17 15 views
12

Potrzebuję dodać podpis certyfikatu do mojej kompilacji. Poniżej znajduje się przykład skryptu roboczego, który napisałem, jednak zawiera on hasło do pliku .pfx. Nie mogę zachować hasła w skrypcie budowania. Jakie są "najlepsze praktyki" lub hacki, których używałbyś w tego typu sytuacjach?Jak bezpiecznie przechować hasło .pfx do użycia w MSBuild?

<ItemGroup Label="SignFiles"> 
    <SignFilesInclude="$(FileLocation)\**\*.exe"/> 
</ItemGroup> 

<Exec Command="$(SignTool) sign /v /ac C:\MSCV-VSClass3.cer /f C:\Certificate.pfx /p Password /t http://timestamp.verisign.com/scripts/timestamp.dll %(SignFiles.Identity)"/> 

Po googlowania, czytałem w wielu miejscach, że po uruchomieniu skryptu za pierwszym razem z hasłem, .pfx jest przechowywany w magazynie certyfikatów i hasło nie będzie wymagane w skrypcie po kompilacji że. Działa to jednak, ale chcę się upewnić, że jest to najlepszy sposób, aby to zrobić lub jeszcze lepiej, jest sposób, aby uniknąć umieszczania hasła w skrypcie.

Odpowiedz

18

Zaimportuj plik .pfx do Menedżera certyfikatów Windows dla konta użytkownika używanego podczas budowania. Następnie wybierz odpowiedni certyfikat przy użyciu przełącznika signtool/sha1, a hasło nie jest potrzebne.

  1. Zaloguj się jako użytkownik build
  2. Run certmgr.msc
  3. prawym przyciskiem myszy Certyfikaty - bieżący użytkownik/Osobiste/Certyfikaty i wybierz polecenie Wszystkie zadania/import ...
  4. Wybierz plik .pfx, wprowadź hasło, a następnie kliknij przycisk Dalej i Zakończ
  5. dwukrotnie kliknij importowanego certyfikatu
  6. na stronie szczegółów, algorytm powinien być odcisk SHA1
  7. Skopiuj odcisk palca, to wygląda mniej więcej tak 12 34 56 78 90 ab cd ef 12 34 56 78 90 ab cd ef 12 34 56 78
  8. signtool /sha1 1234567890abcdef1234567890abcdef12345678 /t http://timestamp.verisign.com/scripts/timestamp.dll %(SignFiles.Identity)

a etap 8 nie poprosi o podanie hasła.

Powiązane problemy