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 los 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 dispone de una entidad emisora de certificados válida, puede generar un almacén de claves/certificado autofirmado haciendo lo siguiente:
- Abra la petición de comandos y cambie el directorio al directorio de 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 -validez 360 -keysize 2048
-
- El paso 1b ha creado un archivo keystore denominado: keystore.jks. Es un almacén de claves 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 la petición de comandos, ejecute el siguiente comando (Sustituir contraseña por la contraseña real establecida en el paso 1b):
keytool -exportcert -alias autofirmado -contraseña keypass -keystore keystore.jks contraseña -storepass -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 los extremos > Nuevo
- Pegue el certificado X.509 codificado usando la codificación base64 de Privacy Enhanced Mail (PEM) extraída en el paso 1d, péguelo en el archivo de certificado y guarde los cambios. La primera línea del certificado debe ser el texto siguiente:
-----INICIO CERTIFICADO-----
La última línea del certificado debe ser el texto siguiente:
-----CERTIFICADO FINAL-----

- Vaya a Gestionar > Administración/Administración central > Administrador 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 de 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 ficha 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 debería 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 su keystore y alias de la lista desplegable e introduzca la contraseña del keystore. Haga que el tipo de identificador 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". Establezca el WSS de salida con el nombre de las "Configuraciones de seguridad de WS salientes" creadas en los pasos 10-12.

- Ahora puede ejecutar la solicitud desde SoapUI. Debería ver una respuesta exitosa
Salida del servicio web de Ariba al middleware:
- Asegúrese de que el paso 1 se ha completado desde los pasos "Entrada al servicio web de Ariba"
-
En Ariba, vaya a Gestionar > Administración/Administración central > Administrador de integración > Configuración de los extremos > 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
- Fije "Firmar con clave privada de Ariba" en Sí y guarde el extremo
- Vaya a Gestionar > Administración/Administración central > Administrador 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 URL que la URL de punto de acceso, 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 se ha marcado Crear servicio MockService
- 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 ficha 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 a Ariba (la extensión de archivo .jks) e introduzca la contraseña del keystore. Una vez hecho esto, el estado del almacén de claves debería ser OK
- Haga clic en la pestaña Configuraciones de seguridad 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 entrante" en el nombre de las "Configuraciones de seguridad WS entrantes" configuradas realizadas en el paso 13.
- Haga doble clic en Respuesta e introduzca manualmente valores 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 la generación de 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