iOS 13 y SAP Business One Mobile

Hola buenas.

Nuestros amigos de Apple han actualizado su sistema operativo a iOS13.

Tras este cambio los dispositivos Apple no conectan con la aplicación nativa de SAP Business One.

Hay que crear un nuevo certificado según indican en la nota SAP Nº: 2847012 (h_tps://launchpad.support.sap.com/#/notes/2847012) .
Esta nota redirige a otra nota, la nota SAP Nº: 2019275
(h_tps://launchpad.support.sap.com/#/notes/2019275) que explica como crear el certificado a mano, desde línea de comandos, ya que la herramienta desde el Integration Component no lo puede hacer.

El caso es que he intentado seguir estas instrucciones y no soy capaz a generar el certificado y que sea correcto, esas instrucciones parece que las ha hecho el enemigo.

¿Alguien ha sido capaz a realizarlo y puede compartir los pasos correctos?

Si lo sigues al pie de la letra si se genera. En lo personal siempre recomiendo hacerlo a mano. Si necesitas mas apoyo con gusto mi estimado @meqs

1 me gusta

Te recopilo los pasos que sigo para que verifiques si me cuelo en algo:
1.-
cd C:\OpenSSL-Win32\bin
2.-
set OPENSSL_CONF=C:\OpenSSL-Win32\bin\openssl.cfg
3.-
openssl genrsa -out ServerKey.key 2048
4.-
openssl req -x509 -new -key ServerKey.key -sha256 -days 825 -out myCA.cer -subj /C=CN/O=SAP/OU=B1/CN=“IP”
¿Esta dirección IP va entre comillas o sin comillas?
Este proceso genera el myCA.cer
¿que hay que copiar al directorio del integration? el fichero del certificado u otro?
5.-
openssl pkcs12 -export -out keystore.p12 -inkey ServerKey.key -in myCA.cer
6.-
Copiar keystore.p12 al directorio del integration
7.-
Cambiar directorio linea de comandos a
cd C:\Program Files (x86)\SAP\SAP Business One Integration\sapjre_64\bin
8.-
Borrar credenciales anteriores
keytool -delete -alias tomcat -keystor “C:\Program Files (x86)\SAP\SAP Business One Integration\IntegrationServer\Tomcat\webapps\B1iXcellerator.keystore” -storepass <keystore_password>
La contraseña por defecto que viene con la instalación
9.-
Importar la nueva
keytool -importkeystore -srckeystore “C:\Program Files (x86)\SAP\SAP Business One Integration\IntegrationServer\Tomcat\webapps\B1iXcellerator\keystore.p12” -srcstoretype PKCS12 -destkeystore “C:\Program Files (x86)\SAP\SAP Business One Integration\IntegrationServer\Tomcat\webapps\B1iXcellerator.keystore” -deststoretype JKS -deststorepass <keystore_password> -srcstorepass <keystore_password>
Sustituir la contraseña por defecto en estas últimas posiciones
10.-
Ejecutar un cambio de Alias
keytool -changealias -alias 1 -destalias tomcat -keystore “C:\Program Files (x86)\SAP\SAP Business One Integration\IntegrationServer\Tomcat\webapps\B1iXcellerator.keystore” -storepass <keystore_password>

2 Me gusta

Yo he tenido problemas con esto desde hace 3 semanas…
El partner no ha podido crear el certificado para IOS13. incluso levantó una nota a SAP y se supone que se conectan hoy a las 9:30 para validar el caso.

:frowning:

EN el IOS13 cambian los certificados con las nueva forma de seguridad.
Les comparte el link de la pagina oficial de apple

1 me gusta

A ver si @juliancab nos comenta algo al respecto de la generación del certificado y los pasos a seguir.

que paso que paso, si esto esta requete fácil jajaja, no lo he intentado actualmente para IOS 13 ya que no cuento con el dispositivo con ese S.O. pero no representa ningún problema la generación, incluso hay un video en youtube de como generarlo.

hay un archivo .bat que hace todo el proceso, buscalo como Mike Taylor Batleship Kobra creo, no se si lo estoy escribiendo bien, espero poder probarlo mas tarde en alguno de mis ambientes GCP.

1 me gusta

Hola! te cuento mas o menos como fue mi proceso para generar el certificado.
Primero que nada genere el certificado por mi cuenta ya que no he usado la herramienta del IF, para esto hice la config del openssl modificando el archivo cfg desde notepad quedando las lineas que comenta en la nota SAP de la siguiente manera:
Para la seccion de [ CA_default ]:
# Extension copying option: use with caution.
** copy_extensions = copy**

Para la seccion [ v3_req ]:
# Include email address in subject alt name: another PKIX recommendation
** subjectAltName=@alt_names**

En este paso hice una pausa y despues de darle mucha vuelta coloque el parametro extendedKeyUsage = serverAuth exactamente antes de la siguiente etiqueta quedando asi:

# This really needs to be in place for it to be a proxy certificate.
proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo
extendedKeyUsage = serverAuth

Luego al final final del archivo debes colocar el ultimo parametro quedando asi:

ess_cert_id_chain = no # Must the ESS cert id chain be included?
** # (optional, default: no)**
[ alt_names ]

IP.1=xxx.xxx.xxx.xxx

Ya con esta config en el openssl y las lineas de comando para consola de la nota el certificado se crea y funciona.

Espero te funcione.
Saludos,

2 Me gusta

Buena noche, ya intente modificar el archivo CFG, tal como la indica la nota de sap, pero aun no conecta en I0S 13, los asteriscos tambien deben de ir?? tambien note que hay 2, copy_extensions = copy , en el archivo, los 2 se deben de sustiuir?

Saludos y gracias!!

lo he podido configurar sin problemas, aplicando la nota de SAP, un compañero de desarrollo hizo un exe que ejecuta los mismo procesos, solo necesitas tener instalado OpenSSL de 32 y 64 bits (creo que funciona con 32, pero le instale los 2 por cualquier cosa)

ese exe te genera una carpeta en el escritorio y en ella tienes el certificado, un punto importante aparte del certificado es que en el integration tengas tu BD en la parte del SLD y el test conection sea exitoso, de no ser así tendrás problemas al intentar conectarte, algo como acceso denegado o algo así por el estilo.

1 me gusta

@meqs, me imagino que este tema habrá sido solucionado ¿cuál es la respuesta que más se acercó?
Así la marcamos como solución y cerramos este debate :pray:

No esperaba verlo acá colega.
Recientemente tuve este problema y exactamente se soluciona con esto

Adicionalmente, puedo agregar que en mi caso, los certificados los genero en linux, por lo que el archivo config no está en la misma ruta, sin embargo ejecutando este comando se puede encontrar.

openssl version -a | grep OPENSSLDIR

Con eso aparecerá el directorio donde está el archivo openssl.cfg
Luego con nuestro editor favorito lo cambiamos

vi /dir/openssl.cfg

Esta gente del cupertino siempre causando dolores de cabeza para la app mobile…

Saludos

4 Me gusta

Un mensaje ha sido fusionado con un tema existente: Felipe Loyola - Chile SAP Business One