Загрузчик сертификатов — это инструмент командной строки для загрузки сертификатов платформы Java WeChat Payment APIv3. Этот инструмент может получать сертификаты, доступные продавцу, из интерфейса https://api.mch.weixin.qq.com/v3/certificates
, расшифровывать их с помощью ключа APIv3 и алгоритма AES_256_GCM и загружать расшифрованный сертификат в указанное место.
Этот инструмент использует wechatpay-apache-httpclient, Maven, picocli, gson, lombok и другие библиотеки.
Этот инструмент был упакован в CertificateDownloader.jar через Maven, и его можно загрузить в выпуске.
Если после загрузки пакета jar у вас нет сертификата, команда для первой загрузки сертификата выглядит следующим образом. Конкретные инструкции см. в разделе Часто задаваемые вопросы — Загрузите сертификат в первый раз:
java -jar CertificateDownloader.jar -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath}
Если у вас уже есть сертификат платежной платформы WeChat, полная команда выглядит следующим образом:
java -jar CertificateDownloader.jar -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath} -c ${wechatpayCertificateFilePath}
Обязательные параметры:
-f <privateKeyFilePath>
, путь к файлу закрытого ключа API продавца.-k <apiV3Key>
, ключ для расшифровки сертификата-m <merchantId>
, номер продавца-o <outputFilePath>
, путь для сохранения сертификата-s <merchantSerialNo>
— серийный номер сертификата API продавца.Необязательные параметры:
-c <wechatpayCertificatePath>
— путь к сертификату платежной платформы WeChat. Если у вас еще нет сертификата, пожалуйста, не передавайте этот параметр. Вы также можете запустить java -jar CertificateDownloader.jar -h
и просмотреть справку:
Инструмент принимает следующие меры безопасности:
Если после загрузки сертификата вас все еще беспокоят ошибки сертификата, вы можете:
Используйте инструмент openssl для проверки сертификата платформы через цепочку доверия сертификатов:
Сначала загрузите цепочку доверия сертификатов платформы CertTrustChain.p7b с платформы платежного сервиса WeChat и преобразуйте ее в формат сертификата pem:
openssl pkcs7 -print_certs -in CertTrustChain.p7b -inform der -out CertTrustChain.pem
Затем файл -CAfile указывает доверенные сертификаты для проверки загруженного сертификата платформы:
openssl verify -verbose -CAfile ./CertTrustChain.pem ./WeChatPayPlatform.pem
Для ответов на платежи WeChat сертификат платформы необходимо использовать для проверки подписи; однако сертификат платформы можно загрузить только через интерфейс «Получить сертификат платформы», поэтому, когда вы впервые получаете сертификат, происходит «бесконечный цикл». появится.
Чтобы решить этот «бесконечный цикл», вы можете временно пропустить проверку подписи для получения сертификата. То есть вы можете загрузить платежный сертификат WeChat без указания параметра (параметр -c). После загрузки сертификата инструмент будет использовать загруженный сертификат для проверки подписи сообщения.
После первой загрузки сертификата мы настоятельно рекомендуем обратиться к инструкции по проверке сертификата платформы через цепочку доверия сертификатов, чтобы проверить подлинность сертификата.
некоторый: