¿Cómo interactúa un desarrollador con el Certificado de Microsoft * Servicios web *

5

Los Servicios web de certificados de Microsoft son un servicio web HTTPS (WS-Trust) que no tiene dependencia de Kerberos y se puede usar en una variedad de dispositivos. Esto es nuevo en Windows 2008 y es independiente del sistema de solicitud de claves basado en navegador que existe en el producto desde Windows 2000.

El servicio se basa en WCF y se accede en el siguiente formato de URL: https://server/server_CES_UsernamePassword/service.svc?wsdl

Pregunta

  • ¿Cómo interactúan las herramientas internas de Microsoft con este servicio? ¿Qué métodos se llaman? ¿Cómo es el SOAP?

  • ¿Cómo puede un desarrollador interactuar con este servicio de una manera significativa? Intenté ver el objeto directamente en VS2010, pero no encontré ningún objeto proxy que permitiera ninguna acción constructiva.

Mi opinión es que si no puedo acceder al objeto en VS2012, no podré usar ningún otro idioma ni conseguir que Mac o Linux también se inscriban con un certificado.

Aquí hay un archivo XML de muestra que se muestra (y que consume svcutil).

<?xml version="1.0" encoding="UTF-8"?>
-<wsdl:definitions name="SecurityTokenService" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:tns="http://tempuri.org/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://tempuri.org/" xmlns:i0="http://schemas.microsoft.com/windows/pki/2009/01/enrollment">-<wsp:Policy wsu:Id="WSHttpBinding_ISecurityTokenService_policy">-<wsp:ExactlyOne>-<wsp:All>-<sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">-<wsp:Policy>-<sp:TransportToken>-<wsp:Policy><sp:HttpsToken RequireClientCertificate="false"/></wsp:Policy></sp:TransportToken>-<sp:AlgorithmSuite>-<wsp:Policy><sp:Basic256/></wsp:Policy></sp:AlgorithmSuite>-<sp:Layout>-<wsp:Policy><sp:Strict/></wsp:Policy></sp:Layout><sp:IncludeTimestamp/></wsp:Policy></sp:TransportBinding>-<sp:SignedSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">-<wsp:Policy>-<sp:UsernameToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">-<wsp:Policy><sp:WssUsernameToken10/></wsp:Policy></sp:UsernameToken></wsp:Policy></sp:SignedSupportingTokens>-<sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"><wsp:Policy/></sp:Wss11>-<sp:Trust10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">-<wsp:Policy><sp:MustSupportIssuedTokens/><sp:RequireClientEntropy/><sp:RequireServerEntropy/></wsp:Policy></sp:Trust10><wsaw:UsingAddressing/></wsp:All></wsp:ExactlyOne></wsp:Policy><wsdl:import location="https://smimepol01aa.ad.freesmime.com/FreeSMIME Policy 01aa_CES_UsernamePassword/service.svc?wsdl=wsdl0" namespace="http://schemas.microsoft.com/windows/pki/2009/01/enrollment"/><wsdl:types/>-<wsdl:binding name="WSHttpBinding_ISecurityTokenService" type="i0:ISecurityTokenService"><wsp:PolicyReference URI="#WSHttpBinding_ISecurityTokenService_policy"/><soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/></wsdl:binding>-<wsdl:service name="SecurityTokenService">-<wsdl:port name="WSHttpBinding_ISecurityTokenService" binding="tns:WSHttpBinding_ISecurityTokenService"><soap12:address location="https://smimepol01aa.ad.freesmime.com/FreeSMIME%20Policy%2001aa_CES_UsernamePassword/service.svc/CES"/>-<wsa10:EndpointReference><wsa10:Address>https://smimepol01aa.ad.freesmime.com/FreeSMIME%20Policy%2001aa_CES_UsernamePassword/service.svc/CES</wsa10:Address></wsa10:EndpointReference></wsdl:port></wsdl:service></wsdl:definitions>
    
pregunta random65537 19.01.2013 - 00:04
fuente

1 respuesta

1

No tengo idea de cómo las herramientas internas de Microsoft interactúan con el servicio. Tendrías que preguntarles, y ellos no te lo dirán. Un amigo solía trabajar en la construcción de MSIT, dijo que las herramientas, e incluso él no me lo dijo.

Sin embargo, debería haber una muestra en el SDK de Windows que se instala aquí (fuente: enlace ):

C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\security\x509 certificate enrollment\CSharp\enrollWithIX509EnrollmentHelper

Según diversas fuentes, no es la muestra más profunda, así que vea aquí también: enlace

    
respondido por el Steve 19.01.2013 - 01:43
fuente