|
Esta petición tiene como objetivo validar el estado de un certificado mediante el servicio de validación de TrustedX. A continuación se describen los elementos más importantes de esta petición.
En primer lugar, hay que tener en cuenta que se trata de una petición SOAP por lo que consta de dos partes, en primer lugar una cabecera (SOAP-ENV:Header) que contiene datos sobre seguridad y autenticación y de un cuerpo (SOAP-ENV:Body) con la información principal o carga útil definida en diferentes esquemas XML.
El elemento de la cabecera wsse:UsernameToken que puede verse en el ejemplo, permite al usuario presentar las credenciales al sistema mediante el mecanismo de usuario/contraseña, y autenticarse/autorizarse correctamente.
Como se puede observar, para realizar una petición de validación de certificados se utiliza el elemento dss:VerifyRequest, indicando que el perfil de firma (atributo Profile) es el de certstatus, de este modo se diferencia este perfil con el que permite la verificación de firmas, aun no explicado.
A su vez, el elemento dss:VerifyRequest contiene en este ejemplo, aquel atributo opcional que permite la selección de la política de servicio sobre la cual va a validarse el certificado (el. dss:ServicePolicy). Las políticas las define la persona encargada de la administración de TrustedX y debe hacerlas públicas a los usuarios de alguna manera.
Por último, se adjunta al elemento dss:Base64Signature, el certificado a validar en Base64, indicando en el atributo Type que la firma en este caso es un certificado firmado.
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<SOAP-ENV:Header>
<wsse:Security><wsse:UsernameToken wsu:Id="SecurityToken-5978847319590924181"><wsse:Username>dave</wsse:Username><wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">trustedx</wsse:Password></wsse:UsernameToken></wsse:Security></SOAP-ENV:Header>
<SOAP-ENV:Body wsu:Id="Id-3790929153794131125">
<dss:VerifyRequest xmlns:css="http://www.safelayer.com/TWS" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dss="http://www.docs.oasis-open.org/dss/2004/06/oasis-dss-1.0-core-schema-wd-27.xsd" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:xades="http://uri.etsi.org/01903/v1.2.2#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Profile="urn:safelayer:tws:dss:1.0:profiles:certstatus:1.0:verify" RequestID="Id-4095479411226266653">
<dss:OptionalInputs><dss:ServicePolicy>urn:safelayer:tws:policies:validation:sample:local</dss:ServicePolicy></dss:OptionalInputs><dss:SignatureObject><dss:Base64Signature Type="urn:safelayer:tws:dss:1.0:profiles:names:certificate">MIIEVzCCAz+gAwIBAgICBLMwDQYJKoZIhvcNAQEFBQAwbjFBMD8GA1UEChM4U2FmZWxheWVyIFNlY3VyZSBDb21tdW5pY2F0aW9ucywgUy5BLiBbQy5JLkYuIEE2MTkzMDA0Nl0xKTAnBgNVBAMTIFNhZmVsYXllciAtIENsYXNzIDEgUm9vdCBDQSBEZW1vMB4XDTA5MDEyMTEwMzk1M1oXDTIyMDEyMTEwMzk1M1owPjELMAkGA1UEBhMCRVMxETAPBgNVBAoTCFRydXN0ZWRYMQ0wCwYDVQQLEwREZW1vMQ0wCwYDVQQDEwREYXZlMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKgonDOEw1jOJF4w0QQsYfrw5hZA3yW9HqJcQXHWq7IhuXd+P5M6TqM3FFGw6eJg1ZbYdCc15njxFlfzzUhQ8mv9h/Dc45h3S9bHZD5j9WBlJ/bqKczV2iGKOHka5UYJNAQKdeDkKLTEvJlP0+16pbWzOkzqKk7lyINcnzSYXbxQIDAQABo4IBsTCCAa0wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCA/gwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMBEGCWCGSAGG+EIBAQQEAwIFoDAdBgNVHQ4EFgQUfw4g7lN7fyRsHPV5MiputZb2AyIwgZgGA1UdIwSBkDCBjYAUNEmbBBkEQgCP0PZ4m8TXjcAX7TShcqRwMG4xQTA/BgNVBAoTOFNhZmVsYXllciBTZWN1cmUgQ29tbXVuaWNhdGlvbnMsIFMuQS4gW0MuSS5GLiBBNjE5MzAwNDZdMSkwJwYDVQQDEyBTYWZlbGF5ZXIgLSBDbGFzcyAxIFJvb3QgQ0EgRGVtb4IBATA4BggrBgEFBQcBAQQsMCowKAYIKwYBBQUHMAGGHGh0dHA6Ly92YS5zYWZlbGF5ZXIuY29tOjgwOTQwZwYDVR0fBGAwXjBcoFqgWIYpaHR0cDovL2NhLnNhZmVsYXllci5jb20vY3Jscy9jcmxEZW1vcy5jcmyGK2h0dHA6Ly9kZW1vLnNhZmVsYXllci5jb20vY3Jscy9jcmxEZW1vcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAFSpzvI2xo7aV+zSEQfa9nqqhTiiEVc1JbTveb6UROtueIN9uZcZoheXH6+Su+5kdZEqfjl9OJPV8h2f2r4yMNSkiCuPQMrq6p3RZeP7oQr7vP9GIvxhQCr9xdAP4PjKKn+kj1gS7RXdhEBmpyrKNxb/eq9WU3T6c3d8P38/Ea+kijYbEarzc9gqRSl853vaR8UDcADjWXwXfAAQ4dmuHizsUNqQ4JV5hBe5089V/hxazZAvneCQvyVMlJl6koMl96tl5FOy3aqyer96+QkWFLw8AO4yHBayO46y4sSy2bH9zgUUIPz2NJh/I7KFOYN8hPcTk+yq1jwqWMIGBDF+VSU=</dss:Base64Signature></dss:SignatureObject></dss:VerifyRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
| | | | | | | |
La explicación siguiente, hace referencia a la respuesta obtenida por la plataforma TrustedX una vez enviada la petición, por lo que se debe pulsar el botón de "probar" anterior para la generación de esta respuesta.
En primer lugar, si observamos la respuesta obtenida, el elemento dss:VerifyResponse indica que es una respuesta de verificación y como además contiene en el atributo Profile con valor certstatus, indica que es una validación de certificados.
Por otro lado, el elemento dss:Result con sus dos indicadores dss:ResultMajor y dss:ResultMinor, indica el resultado de la validación. Una validación correcta es aquella que en ambos valores son correctos es decir Success y ValidSignature_OnAllDocuments respectivamente.
Además, existe la posibilidad de que una respuesta de validación de certificados retorne otros valores de información opcionales. Algunos de ellos, se añaden debido a que han sido seleccionados previamente, en la política de firma utilizada en la propia consola de administración del producto TrustedX. Otros en cambio, son esperados en una respuesta si se han pedido explícitamente en la petición correspondiente. Por último, existe un conjunto de estos que siempre son retornados en la respuesta, como el nivel de confianza en una raíz css:TrustInfo, o las políticas de validación que se han utilizado en la plataforma TrustedX para validar el certificado (css:ValidationPolicy). |