Certificate Downloader est un outil de téléchargement en ligne de commande pour les certificats de la plateforme Java WeChat Payment APIv3. Cet outil peut obtenir des certificats disponibles chez les commerçants à partir de l'interface https://api.mch.weixin.qq.com/v3/certificates
, les déchiffrer à l'aide de la clé APIv3 et de l'algorithme AES_256_GCM, et télécharger le certificat déchiffré à l'emplacement spécifié.
Cet outil utilise wechatpay-apache-httpclient, Maven, picocli, gson, lombok et d'autres bibliothèques.
Cet outil a été intégré dans CertificateDownloader.jar via Maven et peut être téléchargé dans la version.
Après avoir téléchargé le package jar, si vous n'avez pas de certificat, la commande pour télécharger le certificat pour la première fois est la suivante. Pour des instructions spécifiques, veuillez consulter la FAQ - Télécharger le certificat pour la première fois :
java -jar CertificateDownloader.jar -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath}
Si vous disposez déjà d'un certificat de plateforme de paiement WeChat, la commande complète est la suivante :
java -jar CertificateDownloader.jar -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath} -c ${wechatpayCertificateFilePath}
Les paramètres requis sont :
-f <privateKeyFilePath>
, chemin du fichier de clé privée de l'API du commerçant-k <apiV3Key>
, la clé pour le déchiffrement du certificat-m <merchantId>
, numéro du commerçant-o <outputFilePath>
, le chemin pour enregistrer le certificat-s <merchantSerialNo>
, le numéro de série du certificat API du commerçantLes paramètres non obligatoires sont :
-c <wechatpayCertificatePath>
, le chemin du certificat de la plateforme de paiement WeChat. Si vous n'avez pas encore de certificat, merci de ne pas encore transmettre ce paramètre. Vous pouvez également exécuter java -jar CertificateDownloader.jar -h
et afficher l'aide :
L'outil prend les mesures de sécurité suivantes :
Après avoir téléchargé le certificat, si vous craignez toujours des erreurs de certificat, vous pouvez :
Utilisez l'outil openssl pour vérifier le certificat de la plateforme via la chaîne de confiance du certificat :
Tout d’abord, téléchargez la chaîne de confiance des certificats de plateforme CertTrustChain.p7b à partir de la plateforme marchande de paiement WeChat et convertissez-la au format de certificat pem :
openssl pkcs7 -print_certs -in CertTrustChain.p7b -inform der -out CertTrustChain.pem
Ensuite, le fichier -CAfile spécifie les certificats de confiance pour vérifier le certificat de plateforme téléchargé :
openssl verify -verbose -CAfile ./CertTrustChain.pem ./WeChatPayPlatform.pem
Pour les réponses de paiement WeChat, le certificat de plateforme doit être utilisé pour la vérification de la signature ; cependant, le certificat de plateforme ne peut être téléchargé que via l'interface d'acquisition de certificat de plateforme, donc lorsque vous allez obtenir le certificat pour la première fois, une « boucle infinie » apparaîtra.
Afin de résoudre cette « boucle infinie », vous pouvez temporairement ignorer la vérification de la signature pour obtenir le certificat. C'est-à-dire que vous pouvez télécharger le certificat de paiement WeChat sans fournir le paramètre (paramètre -c). Après avoir téléchargé le certificat, l'outil utilisera le certificat téléchargé pour vérifier la signature du message.
Après avoir téléchargé le certificat pour la première fois, nous vous recommandons fortement de vous référer à la façon de vérifier le certificat de la plateforme via la chaîne de confiance du certificat pour vérifier l'authenticité du certificat.
quelques: