2011-08-16 16 views
11

Desidero automatizzare l'installazione di SSL per un sito Web in IIS6. Sembra selfSSL e certutil può essere usato per farlo, ma i certificati sono nuovi per me e non sono sicuro di come metterli insieme.IIS6: Crea/installa certificato SSL autofirmato dalla riga di comando

Da quello che ho capito che ho bisogno di:

  1. creare un certificato
  2. assegnare il certificato al sito
  3. aggiungere un sicuro (SSL/443) il legame al sito

Vorrei anche evitare di creare un nuovo certificato se il certificato del sito è già stato creato. In questo modo non mi ritrovo con un gruppo di cerimonie ridondanti.

+0

Hai già un certificato o vuoi un nuovo certificato per ogni singolo server? –

+0

Questa è una grande domanda e non vedo l'ora di sentire le risposte. Una cosa che vorrei mettere in guardia è l'uso di SelfSSL, in particolare con più siti in una istanza di IIS. Nella mia esperienza è stato ok con un singolo sito alla volta. Credo che ci sia una soluzione alternativa per il problema e anche uno strumento aggiornato che non ha il bug (SSLDiag?). Ci sono ulteriori dettagli sul problema nel thread del commento del blog seguente: http://blogs.msdn.com/b/david.wang/archive/2005/04/20/selfssl-bug-with-websites.aspx#413765 –

+0

Lee - Voglio un nuovo certificato. Ho trovato selfSSL sembra fornire questo tramite linea di comando Saul - Grazie per le informazioni! Probabilmente useremo il selfSSL (o qualcosa di simile) per i nostri ambienti dev/sqa/mock ma la creazione manuale per la produzione. – chief7

risposta

16

vorrei suggerire si guarda l'IIS 6 Resource Kit: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17275

C'è uno strumento nel kit risorsa chiamata selfssl.exe - automatizza la creazione, l'assegnazione e anche di fiducia del certificato appena creato. Lo usiamo un bel po 'dove lavoro per assicurarmi che le nostre scatole di sviluppo abbiano certificati che possiamo usare durante test/sviluppo.

Ecco la linea di comando che usiamo - si creerà il CERT (per localhost) utilizzando una chiave a grandezza naturale di 1024, la fiducia, e renderla valida per ~ 10 anni:

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

Se ospitano più siti, sarà necessario utilizzare il parametro /S per specificare l'ID del sito a cui si desidera aggiungere il certificato.

Nota: questo funziona anche come un champ con IIS 5 su WinXP, ma non l'ho mai provato su nessuna delle famiglie IIS 7.

1

Se stai usando Wix per la creazione della configurazione, quindi l'esecuzione di questo CustomAction (che gestisce semplicemente SelfSSL) farà il trucco per voi:

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

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

Questa azione:

  • Generare il certificato
  • Installare il certificato su Default Web Site
  • Aggiungere i https vincolanti linea

Comando spiegato:

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

È possibile specificare la porta con /P:[port number] interruttore. Il valore predefinito è 443, che è ciò che desideri in modo che tu possa lasciarlo fuori.

Caveat: Sembra che ci sia un bug con SelfSSL che sembra essere stato resolved.

Se ancora esegue in esso, un'alternativa è quella di passare a SSLDiag strumento che ha una sintassi simile:

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

non ho esperienza con altri strumenti di configurazione di authoring (InstallShield ecc), ma io sono sicuro di avere disposizioni per l'esecuzione di programmi a riga di comando. Nel peggiore dei casi, è possibile eseguire questo attraverso un file batch!

Spero che questo aiuti.

Problemi correlati