Pasos para configurar la autenticación basada en certificados (WS-Security) para servicios web mediante SoapUI
Este artículo de la base de conocimientos ha sido traducido automáticamente para su comodidad. SAP no ofrece ninguna garantía con respecto a la exactitud o integridad de la traducción automática. Puede acceder al contenido original si cambia al inglés mediante el selector de idiomas.
Pasos para configurar la autenticación basada en certificados (WS-Security) para servicios web
Entrada al servicio web de Ariba:
- Utilice un almacén de claves junto con un certificado X.509 codificado mediante la codificación base64 de Privacy Enhanced Mail (PEM). Si no tiene uno de una autoridad de certificación válida, puede generar un almacén de claves/certificado autofirmado haciendo lo siguiente:
- Abra el símbolo del sistema y cambie el directorio al directorio bin de instalación Java de su equipo
- Ejecute el siguiente comando para generar un almacén de claves (en Windows) - Sustituya la contraseña por una contraseña real que desee utilizar:
keytool -genkey -keyalg RSA -alias autofirmado -keystore keystore.jks -contraseña storepass -valid 360 -keysize 2048
-
- El paso 1b ha creado un archivo keystore llamado: keystore.jks. Es un almacén de claves de Java que contiene mi nuevo certificado y las claves públicas y privadas.
- Ahora extraiga el certificado PEM del almacén de claves que se puede implementar en la IU de Ariba para la autenticación de extremo. Desde el símbolo del sistema, ejecute el siguiente comando (Sustituir contraseña por la contraseña real establecida en el paso 1b):
keytool -exportcert -alias autofirmado -keypass contraseña -keystore keystore.jks -storepass password -rfc -file keytool_crt.pem
- A efectos de esta solución, me referiré a la configuración de la solicitud en SoapUI. En Ariba, vaya a Gestionar > Administración/Administración central > Administrador de integración > Configuración de extremo > Nuevo
- Pegue el certificado X.509 codificado mediante la codificación base64 de Privacy Enhanced Mail (PEM) extraída en el paso 1d, péguela en el archivo de certificado y grabe las modificaciones. La primera línea del certificado debe ser el texto siguiente:
-----INICIAR CERTIFICADO-----
La última línea del certificado debe ser el siguiente texto:
-----CERTIFICADO FINAL-----

- Vaya a Gestionar > Administración/Administración central > Gestor de integración > Configuración de integración > Elija el servicio web deseado, edítelo, asegúrese de que esté activado y utilice el extremo creado en el paso 3.
- Copiar la URL WSDL
- En SoapUI, cree un nuevo proyecto SoapUI y utilice la URL WSDL copiada de Ariba
- Haga doble clic en el proyecto

- Haga clic en la pestaña Almacenes de claves y haga clic en el icono Añadir (parece un signo +)
- Seleccione el archivo keystore creado en el paso 1 (la extensión de archivo .jks) e introduzca la contraseña del keystore. Una vez hecho esto, el estado del almacén de claves debe ser OK

- Haga clic en la pestaña Configuraciones de seguridad de WS de salida y haga clic en el icono Añadir (parece un signo +)
- Haga clic en el icono Añadir en el panel inferior para añadir el tipo de seguridad. Seleccione "Firma"
- Seleccione el keystore y el alias de la lista desplegable e introduzca la contraseña del keystore. Defina el tipo de identificador de clave = "Nombre de emisor y número de serie". Una vez configurada, la configuración tendrá el siguiente aspecto:

- Abra la solicitud en SoapUI haciendo doble clic en ella:

- En la solicitud, haga clic en la pestaña "Aut". Fije el WSS de salida en el nombre de sus "Configuraciones de seguridad de WS de salida" creadas en los pasos 10-12.

- Ahora puede ejecutar la solicitud desde SoapUI. Deberías ver una respuesta exitosa
Salida del servicio web de Ariba al middleware:
- Asegúrese de que el paso 1 se ha completado en los pasos "Entrada a servicio web de Ariba"
-
En Ariba, vaya a Gestionar > Administración/Administración central > Administrador de integración > Configuración de extremo > Nuevo > seleccione Tipo como "Salida"
Para "URL", especifique el punto final. Esta será la ubicación en la que Ariba envía la solicitud SOAP. Ariba recomienda el uso de https; sin embargo, http también funcionará:
Ejemplo:
https://<domain>:<port>/WSOutbound
- Establezca "Firmar con clave privada de Ariba" en Sí y guarde el extremo
- Vaya a Gestionar > Administración/Administración central > Gestor de integración > Configuración de integración > Elija el servicio web deseado, edítelo, asegúrese de que esté activado y utilice el extremo creado en el paso 2. Además, establezca la URL (debe ser la misma que la URL de punto final, pero podría tener parámetros adicionales en la URL)
- Abra la URL WSDL y cópiela en el navegador
- En SoapUI, cree un nuevo proyecto SoapUI y utilice la URL WSDL copiada de Ariba
- Asegúrese de que la creación de MockService esté marcada
- En la siguiente pantalla, rellene los datos relacionados con el puerto y la vía de acceso
- Haga doble clic en el proyecto que acaba de crear
- Haga clic en la pestaña Almacenes de claves y haga clic en el icono Añadir (parece un signo +)
- Seleccione el archivo keystore creado en el paso 1 del servicio web Entrada en Ariba (la extensión de archivo .jks) e introduzca la contraseña del almacén de claves. Una vez hecho esto, el estado del almacén de claves debe ser OK
- Haga clic en la pestaña Configuraciones de seguridad de WS entrantes y haga clic en el icono Añadir (parece un signo +)
- Asigne un nombre a la entrada y seleccione el valor del almacén de claves para "Descifrar almacén de claves" y "Almacén de claves de firma" e introduzca la contraseña del almacén de claves
- Haga clic en el MockService dentro del proyecto Soap
- En Propiedades de MockService, fije "WSS de entrada" en el nombre de las "Configuraciones de seguridad de WS de entrada" configuradas en el paso 13
- Haga doble clic en Respuesta e introduzca valores manualmente para que la respuesta cumpla con el resultado deseado (éxito o error). Esta es la respuesta enviada a Ariba cuando la solicitud entra en SoapUI.
- Ahora puede generar datos en la aplicación Ariba que utiliza el servicio web previsto para enviar datos a su SoapUI.
Para obtener más información sobre cómo generar un almacén de claves con los pasos mencionados, consulte:
http://www.john-james-andersen.com/blog/service-now/tutorial-soap-into-servicenow-via-x509-ws-security.html
Para obtener más información sobre la configuración específica de WS-Security en SoapUI, consulte:
http://www.soapui.org/SOAP-and-WSDL/applying-ws-security.html
Compras
Contratos estratégicos
Gestión de la información y el rendimiento de los proveedores
Sourcing estratégico