Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Você deve considerar os itens a seguir que afetam a segurança ao implementar sessões seguras. Para obter mais informações sobre considerações de segurança, consulte Considerações de segurança e práticas recomendadas para segurança.
Sessões e metadados seguros
Quando uma sessão segura é estabelecida e a propriedade RequireCancellation é definida como false, o Windows Communication Foundation (WCF) envia uma declaração mssp:MustNotSendCancel como parte dos metadados no documento da Linguagem de Descrição dos Serviços Web (WSDL) para o ponto de extremidade de serviço. A mssp:MustNotSendCancel declaração informa aos clientes que o serviço não responde às solicitações para cancelar a sessão segura. Quando a RequireCancellation propriedade é definida como true, o WCF não emite uma asserção mssp:MustNotSendCancel no documento do WSDL. Espera-se que os clientes enviem uma solicitação de cancelamento para o serviço quando não precisarem mais da sessão segura. Quando um cliente é gerado usando a ServiceModel Metadata Utility Tool (Svcutil.exe), o código do cliente reage adequadamente à presença ou ausência da declaração mssp:MustNotSendCancel .
Conversas seguras e tokens personalizados
Há alguns problemas com a combinação de tokens personalizados e chaves derivadas devido à maneira como está definido na especificação WS-SecureConversation. A especificação diz que wsse:SecurityTokenReference é um elemento opcional que faz referência ao token derivado: "/wsc:DerivedKeyToken/wsse:SecurityTokenReference Esse elemento opcional é usado para especificar token de contexto de segurança, token de segurança ou chave/segredo compartilhado usado para a derivação. Se não for especificado, supõe-se que o destinatário possa determinar a chave compartilhada do contexto da mensagem. Se o contexto não puder ser determinado, uma falha como wsc:UnknownDerivationSource deve ser gerada."
Isso significa que, se você quiser que um token personalizado seja derivado, deverá encapsular seu tipo de cláusula em um SecurityTokenReference elemento. Há uma opção para desativar a derivação, mas o padrão é derivar chaves. Se você não conseguir encapsular a chave, a serialização do token de chave derivada terá sucesso, mas tentar desserializá-la gerará uma exceção.