IIS7 adiciona certificado ao site da linha de comando

4

Descobri através do APPCMD que a maior parte da configuração do IIS7 é possível através da linha de comando. Uma coisa que eu ainda não descobri é como: no Gerenciador do IIS, Bindings - > Editar - > escolha um certificado SSL.

"appcmd set site /site.name:foo /?" lista 2 chaves que começam com "bindings" ("protocol", "bindingInformation") mas eu não descobri o que são.

Algum outro lugar sugeriu que "netsh" poderia fazer isso, mas "netsh http show sslcert" mostra meu certificado como vinculado a "0.0.0.0:443" e não a sites específicos do IIS7.

Dado que sei o nome / ID do IIS7 de um site e o hash do meu certificado (que já é o certificado em outros sites aqui), existe alguma maneira de torná-lo o certificado SSL para outro site IIS7? a linha de comando?

UPDATE : Eu fiz isso na interface do usuário e diff'd o registro, e ver que HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Parameters \ SslBindingInfo \ 0.0.0.0: 443 (também no ControlSet0001) é criado com o meu SslCertHash, e um AppId que se parece com o UUID que "netsh http show sslcert" imprime mas com cada seção invertida (81e1c34d4be121 ...). Acho que li que este é o AppId para aplicativos do IIS, mas não tenho certeza. Ele não é alterado no registro quando eu excluo o Site no Gerenciador do IIS e alterno para outro Site com esse certificado SSL. De qualquer forma, isso parece o mesmo nível de granularidade que netsh fornece, portanto, eu realmente não sei onde o Gerenciador do IIS obtém sua atribuição de certificado SSL de vinculações por site.

    
por Ken 08.04.2011 / 02:06

1 resposta

5

Para chamar os bits, isso é diferente do IIS6 e anterior. No IIS 6, a metabase continha o soquete, o hash do certificado associado ao soquete e assim por diante. Em 7, a configuração do IIS contém apenas um soquete (a.b.c.d: 443) e permite que o SO se preocupe com o material de gerenciamento de certificado nesse soquete. (Através da interface gráfica, é projetado para olhar mais ou menos como costumava). A regra é: você só pode ter um certificado ligado a um soquete.

IIS:

No IIS 7, o IIS não se importa com a vinculação de certificado. Eu sei, tipo, suspiro, certo?

No IIS7, tudo o que a configuração do IIS faz é vincular o IIS a um soquete específico (porta IP +). É isso aí. Torna a configuração muito mais portátil entre as caixas quando você não precisa unificar o hash do certificado em cada uma delas.

A configuração do IIS é gerenciada usando APPCMD ou {insere a ferramenta de gerenciamento do IIS 7 escolhida aqui}, criando uma ligação para o site em um soquete.

SO:

A camada do SO assume o controle da parte SSL, portanto, você usa o NETSH para associar um certificado a um soquete específico.

Isso é feito por meio de NETSH .

Sukesh postou um guia para os dois bits há muito tempo e ainda é válido: link

    
por 11.04.2011 / 11:39