証明書ダウンローダーは、Java WeChat Payment APIv3 プラットフォーム証明書のコマンド ライン ダウンロード ツールです。このツールは、 https://api.mch.weixin.qq.com/v3/certificates
インターフェイスから販売者が入手可能な証明書を取得し、APIv3 キーと AES_256_GCM アルゴリズムを使用してそれらを復号化し、復号化された証明書を指定された場所にダウンロードできます。
このツールは、wechatpay-apache-httpclient、Maven、picocli、gson、lombok およびその他のライブラリを使用します。
このツールは Maven を通じて CertificateDownloader.jar にパッケージ化されており、リリースでダウンロードできます。
jar パッケージをダウンロードした後、証明書を初めてダウンロードするコマンドは次のとおりです。具体的な手順については、「FAQ - 初めて証明書をダウンロードする」を参照してください。
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 支払い応答の場合、署名検証にプラットフォーム証明書を使用する必要がありますが、プラットフォーム証明書は [プラットフォーム証明書の取得] インターフェイスを通じてのみダウンロードできるため、初めて証明書を取得するときに「無限ループ」が発生します。が現れます。
この「無限ループ」を解決するには、証明書を取得するための署名検証を一時的にスキップします。つまり、パラメーター (-c パラメーター) を指定せずに WeChat 支払い証明書をダウンロードできます。証明書をダウンロードした後、ツールはダウンロードした証明書を使用してメッセージの署名を検証します。
初めて証明書をダウンロードした後は、証明書信頼チェーンを通じてプラットフォーム証明書を検証し、証明書の信頼性を確認する方法を参照することを強くお勧めします。
いくつかの: