Come interagisce uno sviluppatore con Microsoft Certificate * Web Services *

5

Microsoft Certificate Web Services è un servizio Web HTTPS (WS-Trust) che non ha dipendenza Kerberos e può essere utilizzato su una varietà di dispositivi. Questo è nuovo in Windows 2008 ed è separato dal sistema di richiesta chiavi basato sul browser che è esistito nel prodotto da Windows 2000.

Il servizio è basato su WCF e si accede nel seguente formato URL: https://server/server_CES_UsernamePassword/service.svc?wsdl

Domanda

  • In che modo gli strumenti Microsoft interni interagiscono con questo servizio? Quali metodi sono chiamati? Che aspetto ha il SOAP?

  • In che modo uno sviluppatore può interagire con questo servizio in modo significativo? Ho provato a visualizzare l'oggetto direttamente in VS2010, ma non ho trovato alcun oggetto proxy che abilitasse un'azione costruttiva.

Il mio pensiero è che se non riesco ad accedere all'oggetto in VS2012, non potrò usare altre lingue o ottenere Mac o Linux per registrarmi con un certificato.

Ecco un file XML di esempio che viene visualizzato (e consumato da 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>
    
posta random65537 19.01.2013 - 00:04
fonte

1 risposta

1

Non ho idea di come gli strumenti interni di Microsoft interagiscano con il servizio. Dovresti chiedere loro, e loro non te lo diranno. Un amico lavorava in MSIT costruendo detti strumenti, e anche lui non me l'avrebbe mai detto.

Tuttavia, dovrebbe esserci un esempio nell'SDK di Windows che viene installato qui (fonte: link ):

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

Secondo varie fonti non è il campione più approfondito, quindi vedi anche qui: link

    
risposta data 19.01.2013 - 01:43
fonte