Solución al error ORA-24263: El certificado del servidor remoto no coincide con la dirección de destino.

 Hola Amig@s,

Si por un casual al utilizar el paquete utl_smtp en una base de datos Oracle 12.2x les aparece el siguiente mensaje al intentar enviar un correo:

ORA-24263: El certificado del servidor remoto no coincide con la dirección de destino.

Se debe a que existe un bug documentado en oracle, el 2365964.1, en el que una petición utl_http o utl_smtp intenta utilizar una wallet para un dominio https pero dicha wallet tiene multiples certificados, falla al resolver el nombre.

Este caso me ha pasado al intentar enviar un correo utilizando los servidores de Office 365, concretamente el smtp.office365.com.

Para solucionarlo, en caso de que tengamos una llamada utl_http, debemos añadir al request el parámetro https_host, es decir, si originalmente llamamos a un request de la siguiente manera:

select utl_http.request('smtp.office365.com',NULL,'file:E:\oracle\wallet','password#') from dual;

Para evitar el error, deberemos añadir el parámetro https_host en la propia línea de ejecución, es decir:

select utl_http.request('smtp.office365.com',null,'file:E:\oracle\walleto','password#', https_host=>'outlook.com') from dual;

En este caso outlook.com es el subdominio final que aparece en el certificado del subdomino smtp.office365.com. Esto lo pueden ver desde un browser, accediendo al certificado y en la ruta de certificación, al final de todo el arbol, podrán encontrar el dominio final que lleva, en este caso outlook.com.

Para el caso del utl_smtp, es parecido, pero el parámetro se llama secure_host en vez de https_host pero se añade en el momento en el que se define el STARTTLS, es decir, si originalmente está así:

UTL_SMTP.STARTTLS(conexion);

Debería ir de la siguiente manera:

UTL_SMTP.STARTTLS(conexion,secure_host => 'outlook.com');

y voila!

Con esos cambios ya les debería funcionar el envío de correos correctamente.

Espero que les resulte útil.

Salu2.

Edu.

Share on Google Plus
    Blogger Comment

0 comentarios: