Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > Envío de registros y sus respuestas
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-09-2025
Decanato Decanato is offline
Miembro
 
Registrado: abr 2025
Posts: 98
Poder: 2
Decanato Va por buen camino
Pasar certificado pfx a pem para CURL

Hola a todos y especialmente a los que utilizáis CURL para comunicar con AEAT.
He estado haciendo las pruebas con mi certificado (p12) y va estupendo. Pues bien, empiezo con los clientes y el formato del certificado del primero (e imagino que habrán muchos así) que me encuentro es pfx, que directamente no lo soporta CURL. He estado leyendo que hay que pasarlo a pem mediante OPENSSL para poderlo utilizar con CURL, pues bien me pongo a ello. Ejecuto desde el sistema:

openssl pkcs12 -in certificado.pfx -out certificado.pem -nodes

Al ejecutar esto me solicita una contraseña:

Enter Import Password:

Y el cursor para, se supone, introducir la contraseña. Pues bien, por mucho que pulso teclas no me pilla nada y, por supuesto al pulsar intro me dice:

Mac Verify error: invalid password?

A ver si alguno que se mueva con esto me puede echar un cable, porque nunca me he tenido que pelear ni con CURL (esto ya más o menos lo he pillado) ni con los certificados (con esto ando perdidísimo). Igual hago preguntas bastante estúpidas, disculpadme si esd así... pero ya digo, el tema de certificados estoy super verde.

Os agradecería infinito que me echaseis un cable. Gracias!!
Responder Con Cita
  #2  
Antiguo 18-09-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.761
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por Decanato Ver Mensaje
Hola a todos y especialmente a los que utilizáis CURL para comunicar con AEAT.
He estado haciendo las pruebas con mi certificado (p12) y va estupendo. Pues bien, empiezo con los clientes y el formato del certificado del primero (e imagino que habrán muchos así) que me encuentro es pfx, que directamente no lo soporta CURL. He estado leyendo que hay que pasarlo a pem mediante OPENSSL para poderlo utilizar con CURL, pues bien me pongo a ello. Ejecuto desde el sistema:

openssl pkcs12 -in certificado.pfx -out certificado.pem -nodes

Al ejecutar esto me solicita una contraseña:

Enter Import Password:

Y el cursor para, se supone, introducir la contraseña. Pues bien, por mucho que pulso teclas no me pilla nada y, por supuesto al pulsar intro me dice:

Mac Verify error: invalid password?

A ver si alguno que se mueva con esto me puede echar un cable, porque nunca me he tenido que pelear ni con CURL (esto ya más o menos lo he pillado) ni con los certificados (con esto ando perdidísimo). Igual hago preguntas bastante estúpidas, disculpadme si esd así... pero ya digo, el tema de certificados estoy super verde.

Os agradecería infinito que me echaseis un cable. Gracias!!
Pfx=p12
Te deberia funcionar
Renombralo a ver
Responder Con Cita
  #3  
Antiguo 18-09-2025
Decanato Decanato is offline
Miembro
 
Registrado: abr 2025
Posts: 98
Poder: 2
Decanato Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Pfx=p12
Te deberia funcionar
Renombralo a ver
Lo estoy probando y parece que si, que va bien... Voy a cerciorarme del todo.
Gracias por el cable, ermendalenda, como siempre aportando y ayudando!!!
Responder Con Cita
  #4  
Antiguo 18-09-2025
Decanato Decanato is offline
Miembro
 
Registrado: abr 2025
Posts: 98
Poder: 2
Decanato Va por buen camino
Nada, lo hago en el ordenador del cliente un no va... el CURL me devuelve el siguiente error:

Curl (35): schannel: AcquireCredentials Handle failed: SEC_E_NO_CREDENTIALS (0x8009030E) - No hay credenciales disponibles en el paquete de seguridad

En mi equipo está visto que no lo puedo probar porque se lo traga todo, y no sé por qué.

Me pregunto si es necesario que los navegadores (Chrome y Edge) tengan importado el certificado y si puede ser eso. Lamento preguntar cosas que igual son muy básicas, pero es que para mi esto es como dar palos de ciego

Si alguien fuese tan amable de detallarme los pasos que hay que seguir para instalar un certificado en un equipo y que luego me permita utilizarlo con CURL le estaría agradecido hasta el infinito
Responder Con Cita
  #5  
Antiguo 18-09-2025
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Poder: 29
delphi.com.ar Va camino a la fama
Los archivos PFX puede contener en un solo archivo, el certificado de dominio, la clave privada y todos los certificados intermedios y/o el certificado de raiz. Por eso es normal que estén protegidos con contraseña, si no te notificaron la contraseña es muy posible que esté vacía, pero openssl te la va a preguntar de todas maneras, pero no debes ingresar ningún valor. (enter, enter)

Saludos.
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #6  
Antiguo 18-09-2025
Decanato Decanato is offline
Miembro
 
Registrado: abr 2025
Posts: 98
Poder: 2
Decanato Va por buen camino
Cita:
Empezado por delphi.com.ar Ver Mensaje
Los archivos PFX puede contener en un solo archivo, el certificado de dominio, la clave privada y todos los certificados intermedios y/o el certificado de raiz. Por eso es normal que estén protegidos con contraseña, si no te notificaron la contraseña es muy posible que esté vacía, pero openssl te la va a preguntar de todas maneras, pero no debes ingresar ningún valor. (enter, enter)

Saludos.
Si si, ya me dieron la contraseña y conseguí generar el fichero PEM... Pero esperaba también que se generase un fichero KEY que no se ha generado y claro, al intentar la conexión con curl me da un error 58

Tienes idea de por qué no me genera el fichero KEY???... para generar el fichero PEM ejecuto en la línea de comandos esto:

openssl pkcs12 -in certificado.pfx -out certificado.pem -nodes
Responder Con Cita
  #7  
Antiguo 18-09-2025
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Poder: 29
delphi.com.ar Va camino a la fama
Cita:
Empezado por Decanato Ver Mensaje
Tienes idea de por qué no me genera el fichero KEY???... para generar el fichero PEM ejecuto en la línea de comandos esto:
Porque solo estás extrayendo el certificado de dominio. La clave privada la puedes extraer de dos formas:

Código:
# Sin cifrar, que no se protege con contraseña:
openssl pkcs12 -in certificado.pfx -nocerts -nodes -out certificado.key

# Cifrada, protegida con contraseña:
openssl pkcs12 -in certificado.pfx -nocerts -out certificado.key
¿Cómo es la instrucción de CURL que estás usando?... ¿Esto es porque el servidor requiere un certificado del cliente?
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #8  
Antiguo 18-09-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.761
Poder: 7
ermendalenda Va por buen camino
Agregale el parametro -k y si no va pon la llamada completa excluyendo contraseñas
Responder Con Cita
  #9  
Antiguo 18-09-2025
Decanato Decanato is offline
Miembro
 
Registrado: abr 2025
Posts: 98
Poder: 2
Decanato Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Agregale el parametro -k y si no va pon la llamada completa excluyendo contraseñas
Ese parámetro se lo añado al comando curl??? Lo dices para hacer lo que me dijiste de renombrar el pfx a p12??

El curl que mando, cuando es con p12, es el siguiente:

curl.exe --connect-timeout 300 -m 300 -S -L -d "@DNI_CIF.xml" -o c:\sgb\xml\DNI_CIF_Respuesta.xml --cert-type P12 --cert Certificado.p12ass https://www1.agenciatributaria.gob.e.../ws/VNifV2SOAP

Ahí dices que lo meta???... Y qué hace exactamente ese parámetro??

Gracias por tu interés y paciencia
Responder Con Cita
  #10  
Antiguo 18-09-2025
Decanato Decanato is offline
Miembro
 
Registrado: abr 2025
Posts: 98
Poder: 2
Decanato Va por buen camino
Cita:
Empezado por delphi.com.ar Ver Mensaje
Porque solo estás extrayendo el certificado de dominio. La clave privada la puedes extraer de dos formas:

Código:
# Sin cifrar, que no se protege con contraseña:
openssl pkcs12 -in certificado.pfx -nocerts -nodes -out certificado.key

# Cifrada, protegida con contraseña:
openssl pkcs12 -in certificado.pfx -nocerts -out certificado.key
¿Cómo es la instrucción de CURL que estás usando?... ¿Esto es porque el servidor requiere un certificado del cliente?
Ah vale, gracias, he generado ya el PEM y el KEY sin cifrar, a ver qué tal mañana y os cuento.

La instrucción curl que estoy intentando es simplemente para verificar un DNI y es la siguiente:

curl.exe --connect-timeout 300 -m 300 -S -L -d "@DNI_CIF.xml" -o DNI_CIF_Respuesta.xml --cert certificado.pem --key certificado.key https://www1.agenciatributaria.gob.e.../ws/VNifV2SOAP

En la que probé antes era lo mismo pero con --cert certificado.pem --key certificado.pem
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
curl para hacer una petición SOAP, Ayuda!! JETA Registros de Facturacion y Eventos (XML) 6 16-07-2025 12:54:05
tengo openssl zlib curl iconv libssh libxml2 libxslt version lib para static linkin JXJ C++ Builder 2 12-07-2017 00:17:09


La franja horaria es GMT +2. Ahora son las 06:14:03.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi