2011-08-16 9 views
11

Chcę zautomatyzować konfigurację SSL dla witryny sieci Web w IIS6. Wygląda na to, że selfSSL i certutil mogą być użyte do tego, ale certyfikaty są dla mnie nowe i nie jestem pewien, jak je połączyć.IIS6: Utwórz/zainstaluj samopodpisany certyfikat SSL z wiersza polecenia

Z tego co rozumiem muszę:

  1. utworzyć certyfikat
  2. przypisać certyfikat do strony
  3. dodać bezpieczny (SSL/443) wiązanie do strony

Chciałbym również uniknąć tworzenia nowego certyfikatu, jeśli certyfikat witryny został już utworzony. W ten sposób nie otrzymam wielu rewolucyjnych certyfikatów.

+0

Masz już certyfikat lub chcesz nowego certyfikatu dla każdego serwera? –

+0

To jest świetne pytanie i czekam na odpowiedź. Jedną rzeczą, na którą chciałbym zwrócić uwagę, jest użycie SelfSSL, szczególnie w przypadku wielu witryn w jednym wystąpieniu usług IIS. Z mojego doświadczenia wynika, że ​​było dobrze z jedną stroną na raz. Uważam, że istnieje obejście tego problemu, a nawet zaktualizowane narzędzie, które nie ma błędu (SSLDiag?). Więcej informacji na ten temat można znaleźć w następującym wątku komentarza na blogu - http://blogs.msdn.com/b/david.wang/archive/2005/04/20/selfssl-bug-with-websites.aspx#413765 –

+0

Lee - Chcę nowego certyfikatu. Znalazłem selfSSL wydaje się dostarczać to poprzez linię poleceń Saul - Dzięki za te informacje! Prawdopodobnie użyjemy selfSSL (lub czegoś podobnego) w naszych środowiskach dev/sqa/mock, ale ręcznego tworzenia do produkcji. – chief7

Odpowiedz

16

Proponuję spojrzeć na IIS 6 Resource Kit: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17275

Jest to narzędzie w zestawie zasobów zwanego selfssl.exe - automatyzuje tworzenie, zadania, a nawet zaufanie nowo utworzonego certyfikatu. Używamy go całkiem sporo tam, gdzie pracuję, aby zapewnić, że nasze skrzynki dev mają certyfikaty, których możemy użyć podczas testowania/programowania.

Oto wiersz poleceń używamy - stworzy cert (na localhost) przy użyciu klucza rozmiarze 1024, zaufać, i sprawiają, że ważne dla ~ 10 lat:

selfssl.exe /T /N:CN=localhost /K:1024 /V:3650 

Jeśli hostują wiele witryn, musisz podać parametr /S, aby określić identyfikator witryny, do którego chcesz dodać certyfikat.

Uwaga: to również działa jak mistrz z IIS 5 na WinXP, ale nigdy nie próbowałem go na żadnej z rodziny IIS 7.

1

Jeśli używasz Wix do authoringu konfigurację, a następnie uruchomiony ten CustomAction (który po prostu działa SelfSSL) załatwi dla Ciebie:

<CustomAction Id="InstallCert" 
       ExeCommand="selfssl.exe /N:CN=fqdn.myserver.com /V:365" /> 

<InstallExecuteSequence> 
    <Custom Action="InstallCert" After="InstallFinalize" /> 
</InstallExecuteSequence> 

Ta akcja:

  • Wygeneruj certyfikat
  • Zainstaluj certyfikat na Default Web Site
  • Dodaj https wiążące linię

polecenia wyjaśnił:

/N:CN=[fully qualified server name] 
/V: = Validity in days (365 in my example) 

Można określić portu z /P:[port number] przełącznika. Domyślną wartością jest 443, co chcesz, więc możesz ją pominąć.

Zastrzeżenie: Wygląda na to, że błąd w SelfSSL, który wydaje się być resolved.

Jeśli nadal uruchomić do niego, alternatywą jest, aby przełączyć się SSLDiag narzędzie, które ma podobną składnię:

SSLDiag.exe /selfssl /n:CN=fqdn.myserver.com /v:365 

nie mam doświadczenia z innymi narzędziami konfiguracji autorskich (InstallShield itd), ale jestem na pewno mają przepisy na uruchamianie programów linii poleceń. Najgorszy przypadek, możesz uruchomić to poprzez plik wsadowy!

Mam nadzieję, że to pomoże.