Certificate Downloader es una herramienta de descarga de línea de comandos para certificados de la plataforma Java WeChat Payment APIv3. Esta herramienta puede obtener certificados disponibles para el comerciante desde la interfaz https://api.mch.weixin.qq.com/v3/certificates
, descifrarlos utilizando la clave APIv3 y el algoritmo AES_256_GCM y descargar el certificado descifrado en la ubicación especificada.
Esta herramienta utiliza wechatpay-apache-httpclient, Maven, picocli, gson, lombok y otras bibliotecas.
Esta herramienta se ha empaquetado en CertificateDownloader.jar a través de Maven y se puede descargar en la versión.
Después de descargar el paquete jar, si no tiene un certificado, el comando para descargar el certificado por primera vez es el siguiente. Para obtener instrucciones específicas, consulte las Preguntas frecuentes: descargar el certificado por primera vez:
java -jar CertificateDownloader.jar -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath}
Si ya tienes un certificado de la plataforma de pagos WeChat, el comando completo es el siguiente:
java -jar CertificateDownloader.jar -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath} -c ${wechatpayCertificateFilePath}
Los parámetros requeridos son:
-f <privateKeyFilePath>
, ruta del archivo de clave privada de la API comercial-k <apiV3Key>
, la clave para descifrar el certificado-m <merchantId>
, número de comerciante-o <outputFilePath>
, la ruta para guardar el certificado-s <merchantSerialNo>
, el número de serie del certificado API del comercianteLos parámetros no obligatorios son:
-c <wechatpayCertificatePath>
, la ruta del certificado de la plataforma de pago WeChat. Si aún no tiene un certificado, no pase este parámetro todavía. También puedes ejecutar java -jar CertificateDownloader.jar -h
y ver la ayuda:
La herramienta toma las siguientes medidas de seguridad:
Después de descargar el certificado, si todavía le preocupan los errores del certificado, puede:
Utilice la herramienta openssl para verificar el certificado de la plataforma a través de la cadena de confianza del certificado:
Primero, descargue la cadena de confianza de certificados de plataforma CertTrustChain.p7b de la plataforma comercial de pagos WeChat y conviértala al formato de certificado pem:
openssl pkcs7 -print_certs -in CertTrustChain.p7b -inform der -out CertTrustChain.pem
Luego, el archivo -CAfile especifica certificados confiables para verificar el certificado de plataforma descargado:
openssl verify -verbose -CAfile ./CertTrustChain.pem ./WeChatPayPlatform.pem
Para las respuestas de pago de WeChat, el certificado de la plataforma debe usarse para la verificación de la firma; sin embargo, el certificado de la plataforma solo se puede descargar a través de la interfaz de adquisición del certificado de la plataforma, por lo que cuando vaya a obtener el certificado por primera vez, se producirá un "bucle infinito"; aparecerá.
Para solucionar este "bucle infinito", puedes saltarte temporalmente la verificación de firma para obtener el certificado. Es decir, puede descargar el certificado de pago de WeChat sin proporcionar el parámetro (parámetro -c). Después de descargar el certificado, la herramienta utilizará el certificado descargado para verificar la firma del mensaje.
Después de descargar el certificado por primera vez, recomendamos encarecidamente consultar cómo verificar el certificado de la plataforma a través de la cadena de confianza del certificado para verificar la autenticidad del certificado.
alguno: