windows - IIS6: Opret/installer SSL selvsigneret cert fra kommandolinjen

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg vil automatisere opsætningen af ​​SSL til en hjemmeside i IIS6. Det ser ud som selfSSL, og certutil kan bruges til at gøre dette, men certifikater er nye for mig, og jeg er ikke sikker på, hvordan man kan sætte dem sammen.


Fra hvad jeg forstår, skal jeg:



  1. Opret et certifikat

  2. tildel certifikatet til webstedet

  3. Tilføj en sikker (SSL/443) binding til webstedet



Jeg vil også gerne undgå at oprette et nyt certifikat, hvis site cert er allerede oprettet. På den måde slutter jeg ikke med en flok redderende certs.

Bedste reference


Jeg foreslår, at du kigger på IIS 6 Resource Kit: http://www.microsoft.com/download/da/details.aspx?displaylang=dau0026amp;id=17275[9]


Der findes et værktøj i ressourcekitet, der hedder selfssl.exe - det automatiserer oprettelsen, tildelingen og endog tillid til det nyoprettede certifikat. Vi bruger det ganske lidt, hvor jeg arbejder for at sikre, at vores dev-kasser har certifikater, vi kan bruge under test/udvikling. [10]


Her er kommandolinjen vi bruger - den vil oprette cert (for localhost) ved hjælp af en nøglestørrelse på 1024, tillid det og gøre den gyldig til ~ 10 år:


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


Hvis du er vært for flere websteder, skal du bruge parameteren /S til at angive den webside, du vil føje certifikatet til.


Bemærk: Dette virker også som en champ med IIS 5 på WinXP, men jeg har aldrig prøvet det på nogen af ​​IIS 7-familien.

Andre referencer 1


Hvis du bruger Wix til at oprette dit opsætning, vil køre denne CustomAction (som bare kører SelfSSL ) gøre tricket for dig: [11] [12]


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

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


Denne handling vil :



  • Generer certifikatet

  • Installer certifikatet til Default Web Site

  • Tilføj https-bindingen



Forklaret kommandolinje:


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


Du kan angive port med /P:[port number] switch. Standardværdien er 443, hvilket er hvad du vil, så du kan forlade det.


Advarsel : Der synes at være fejl med SelfSSL, som synes at være blevet løst. [13]


Hvis du stadig løber ind i det, er alternativet at skifte til værktøjet SSLDiag, som har en lignende syntaks:


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


Jeg har ikke erfaring med andre setup authoring-værktøjer (InstallShield osv.), Men jeg er sikker på, at de har bestemmelser til at køre kommandolinjeprogrammer. Det værste tilfælde kan du køre dette gennem en batchfil!


Håber dette hjælper.