Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

146
Vistas
Cómo encriptar cada solicitud de jabón en php

No puedo realizar una solicitud SOAP cifrada en PHP. Según la documentación, encripté cada solicitud a la pasarela de pago. Generé un CSR y lo envié a la autoridad para el certificado. Me enviaron el certificado de dominio y el certificado de CA. El mayor problema es que la documentación no está destinada a PHP. Según el documento:

El servicio web está protegido con WS-Security Sign y política de cifrado

Después de buscar durante mucho tiempo, encontré una clase de ayuda de Git, pero cada vez que intento conectarme, aparece el siguiente error:

Error de seguridad general (No se encontraron certificados para el descifrado (KeyId))

Código de falla: wsse: seguridad no válida

Traté de configurar el encabezado SSL de la siguiente manera:

 $contextOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'cafile' => '../../certs/CA.cer', 'local_cert' => '../../certs/server.cer', 'local_pk' => '../../certs/private_key.key', 'verify_depth' => 0, 'allow_self_signed'=>true, ) ); $sslContext = stream_context_create($contextOptions);

Actualizar

Definí las claves como:

 define('PRIVATE_KEY', 'server_prvate_key.key'); define('CERT_FILE', 'domain_cert.cer'); define('SERVICE_CERT', 'CA.cer');

¿Algún problema con esta definición (consulte el enlace GIT anterior)?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

¿Has probado a usar curl?

Utilice la siguiente opción para configurar su certificado:

 curl_setopt($ch,CURLOPT_CAINFO, 'CA.cer' ); curl_setopt($ch,CURLOPT_SSLCERT, 'domain_cert.cer' ); curl_setopt($ch,CURLOPT_SSLKEY, 'server_prvate_key.key' ); curl_setopt($ch,CURLOPT_SSLCERTPASSWD, 'certificate_password' ); //if have

Utilizo una conexión encriptada a las pasarelas de pago y otros servicios que usan curl y funciona de maravilla.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda