¿Por qué es ilegal el paquete de cuentas empresariales de WeChat?
Y lo extraño es que en Sample.php, no hay valor de retorno de error sin modificar ningún parámetro, y los datos se pueden descifrar correctamente, pero siempre que se cumplan los 4 valores y los 3 parámetros del conjunto. empujados por suite_ticket se cambian, aparecerá un código de error.
Este problema me ha estado molestando durante cuatro días. Después de repetidas depuraciones y búsquedas de soluciones en los últimos días, los resultados son los siguientes:
El valor POST es definitivamente. no se obtiene y la entrada es incorrecta
$sReqMsgSig, $sReqTimeStamp, $sReqNonce se obtienen a través de $_GET, los datos $sReqData se obtienen a través del método $GLOBALS["HTTP_RAW_POST_DATA"], copie y pegue. archivo Sample.php modificado. Además, para garantizar la precisión de estos datos, los paquetes POST de WeChat también se capturaron en el lado del servidor utilizando una herramienta de captura de paquetes, se compararon los contenidos y no hubo diferencias.
2. No hay problema con la ubicación del archivo referenciado
3. La extensión mcrypt en el entorno PHP está activada
4. corpid mencionado en el documento de desarrollo empresarial de WeChat Ha sido reemplazado por suiteid, y la estructura de datos sPostData obviamente está cifrada, no es texto sin formato, y debe descifrarse antes de su uso. .
5. Establezca puntos de interrupción y compare diferencias
Como lo indica el error -40005, al establecer puntos de interrupción durante el proceso de descifrado, los resultados del archivo Sample.php se pueden descifrar correctamente. Inicialmente, después de la comparación, se encontró que había diferencias entre las líneas 112 y 120 de pkcs7Encoder.php, lo que resultó en una falta de coincidencia en el corpid al final de la comparación.
Después de unos días de búsqueda, descubrí que siempre que se utilicen los parámetros del protocolo suite_ticket de terceros enviado, aparecerá un error -40005 durante el descifrado, pero los archivos de muestra del evento se centran y otros mensajes enviados se pueden utilizar para descifrar normalmente de la misma manera. El error ocurre cada vez que se cambian los parámetros a los del paquete de aplicaciones.
No sé si puedes entenderlo. Si estás interesado, puedes chatear conmigo en privado. Tengo capturas de pantalla aquí, pero algunas no se pueden cargar.
Gracias. De Smooth Mobility, tu socio más cercano