인증서 다운로더는 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 도구를 사용하여 인증서 신뢰 체인을 통해 플랫폼 인증서를 확인합니다.
먼저 WeChat 결제 가맹점 플랫폼에서 플랫폼 인증서 신뢰 체인 CertTrustChain.p7b를 다운로드하고 이를 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 결제 인증서를 다운로드할 수 있습니다. 인증서를 다운로드한 후 도구는 다운로드한 인증서를 사용하여 메시지 서명을 확인합니다.
처음으로 인증서를 다운로드한 후에는 인증서 신뢰 체인을 통해 플랫폼 인증서를 확인하는 방법을 참조하여 인증서의 진위 여부를 확인하는 것이 좋습니다 .
일부: