Compartilhar via


Função WsCreateXmlSecurityToken (webservices.h)

Cria um token de segurança de seu formulário XML especificado.

Sintaxe

HRESULT WsCreateXmlSecurityToken(
  [in]           WS_XML_BUFFER                        *tokenXml,
  [in, optional] WS_SECURITY_KEY_HANDLE               *tokenKey,
                 const WS_XML_SECURITY_TOKEN_PROPERTY *properties,
  [in]           ULONG                                propertyCount,
                 WS_SECURITY_TOKEN                    **token,
  [in, optional] WS_ERROR                             *error
);

Parâmetros

[in] tokenXml

Ponteiro para uma estrutura WS_XML_BUFFER que contém o token de segurança em seu formulário XML. O buffer referenciado deve ter exatamente um elemento XML de nível superior.

[in, optional] tokenKey

Ponteiro para uma estrutura SECURITY_KEY_HANDLE que pode ou não conter uma chave de prova de posse criptográfica. Se presente, a chave poderá ser usada para associar esse token de segurança a uma mensagem. Se o valor do parâmetro tokenKey não for NULL, o token deverá ter uma chave de prova de posse. Se o valor for NULL, a estrutura será considerada um "token de portador", conforme definido abaixo.

  • Um token de portador também chamado de token básico ou sem chave é serializado em uma mensagem para demonstrar a posse do token pela mensagem e para indicar a intenção de aplicar as declarações do token a essa mensagem.
  • Um token de prova de posse também chamado de PoP ou token criptográfico tem uma chave criptográfica associada que deve ser usada para "assinar" uma mensagem para demonstrar a posse do token e para indicar a intenção de aplicar as declarações do token a essa mensagem. Um exemplo é um certificado X.509: a mensagem deve ser assinada com a chave privada do certificado para que uma entidade de segurança receptora aceite a mensagem como carregando as declarações presentes no certificado.

properties

Uma matriz de estruturas de WS_XML_SECURITY_TOKEN_PROPERTY que contêm propriedades opcionais para o token de segurança XML.

O valor desse parâmetro pode ser NULL, nesse caso, o parâmetro propertyCount deve ser 0 (zero).

[in] propertyCount

O número de propriedades na matriz de propriedades .

token

Com êxito, um ponteiro que recebe o endereço da estrutura WS_SECURITY_TOKEN que representa o token de segurança XML criado.

Quando não precisar mais dessa estrutura, você deve liberá-la chamando WsFreeSecurityToken.

O token de segurança retornado poderá ser usado com WS_XML_TOKEN_MESSAGE_SECURITY_BINDING se for para ser

apresentado a um serviço.

[in, optional] error

Ponteiro para uma estrutura de WS_ERROR que recebe informações de erro adicionais se a função falhar.

Valor retornado

Se a função for bem-sucedida, ela retornará NO_ERROR; caso contrário, ele retorna um código de erro HRESULT.

Código de retorno Descrição
E_INVALIDARG
Um ou mais argumentos são inválidos.
E_OUTOFMEMORY
Memória insuficiente para concluir a operação.
Outros erros
Essa função pode retornar outros erros não listados acima.

Requisitos

   
Cliente mínimo com suporte Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho webservices.h
Biblioteca WebServices.lib
DLL WebServices.dll