Pergunta

Eu entendi e se eu quiser usar a autenticação no WCF, preciso instalar um certificado no meu servidor que o WCF usará para criptografar dados de dados entre meu servidor e cliente.

Para fins de desenvolvimento, acredito que posso usar o util makecert.exe. Para fazer um certificado de desenvolvimento.

O que é pior Isso pode acontecer se eu usar este certificado no ambiente de produção?

e...

Por que não posso usar este certificado no ambiente de produção?

e ...

O que o certificado realmente fará nesse cenário?

Editar: adicionou outra pergunta

finalmente...

Em um cenário em que o site possui um certificado instalado para fornecer suporte HTTPS, o mesmo certificado também pode ser usado para os serviços do WCF?

Nota no meu aplicativo: é um cliente do NetTCP e serviço de servidor. Os usuários farão login usando o mesmo nome de usuário e senha que eles usam para o site que é passado em texto claro. Eu ficaria feliz em passar o u/n + p/w no ClearText para o WCF, mas isso não é permitido pela estrutura e um certificado deve estar em vigor. No entanto, não quero comprar um certificado devido a restrições orçamentárias!

(Desculpe pela pergunta possivelmente estúpida, mas eu realmente não entendo isso, então receberia alguma ajuda com isso).

Foi útil?

Solução

Bem, nada de importante acontecerá se você usar um certificado de desenvolvedor em ambiente de produção, afinal, um certificado é um certificado e a criptografia que ele fornece é a mesma que qualquer certificado comercial.

No entanto, como o certificado não é assinado por uma autoridade de certificado confiável, ele não garante ao cliente que você é você. Deixe -me colocar isso de outra maneira: se seu serviço fosse uma página da web simples, o navegador diria que o certificado é inválido.

Um certificado para fornecer SSL em um servidor da Web é um certificado que informa ao cliente que o domínio é um domínio confiável e verificado e que a autoridade do certificado pode garantir.

Então, um certificado feito por makecert.exe Seria como você escrevendo seu nome em um pedaço de papel e dizendo, diga um oficial da lei, que essa é a sua carteira de motorista.

Outras dicas

  1. Um certificado precisa ser emitido por uma chamada autoridade de certificado para ser confiável. Os certificados auto-assinados (criados por Makecert etc) não são confiáveis, e todos que navegarão no seu site receberão um aviso de 'certificado inválido' (mais específico: 'O certificado não é confiável porque é auto-signo'). Então, pior caso, as pessoas não vão ao seu site, porque não confiam.

  2. Você pode usar seu certificado auto -assinado em produção, mas não é aconselhável por razões explicadas acima.

  3. O certificado é usado para estabelecer uma conexão segura (HTTPS) entre o cliente e o servidor. Além disso, destina -se a verificar a identidade do servidor. A identidade do seu servidor não poderá ser garantida se o seu certificado for auto-inscrito.

  4. No IIS, se você instalar um certificado em um site, todos os serviços WCF implantados neste site poderão usar o certificado.

Em resumo, use um certificado autoassinado para desenvolvimento (procure uma ferramenta chamada Diagnóstico SSL Para fácil geração de certificados no IIS), mas realmente use um certificado de produção para produção!

"Qual é o pior que pode acontecer se eu usar esse certificado no ambiente de produção", a segurança falhará, falhando em todo o seu serviço.

"Por que não posso usar este certificado no ambiente de produção?"
A autoridade de certificado especificada em seu certificado gerado não é conhecido pelos clientes; portanto, o certificado não pode ser validado/usado.

"O que o certificado realmente fará nesse cenário?" A chave pública é usada pelos clientes para criptografar a comunicação. Este será o guarda-menores que somente o proprietário da chave privada (o servidor neste caso) poderá descriptografá-lo novamente (os teclados privados públicos são criptografia assimétrica)

Espero que isto ajude,

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top