Certificate Downloader é uma ferramenta de download de linha de comando para certificados da plataforma Java WeChat Payment APIv3. Esta ferramenta pode obter certificados disponíveis para comerciantes na interface https://api.mch.weixin.qq.com/v3/certificates
, descriptografá-los usando a chave APIv3 e o algoritmo AES_256_GCM e baixar o certificado descriptografado para o local especificado.
Esta ferramenta usa wechatpay-apache-httpclient, Maven, picocli, gson, lombok e outras bibliotecas.
Esta ferramenta foi empacotada em CertificateDownloader.jar por meio do Maven e pode ser baixada na versão.
Após baixar o pacote jar, se você não tiver um certificado, o comando para baixar o certificado pela primeira vez é o seguinte. Para obter instruções específicas, consulte o FAQ - Baixe o certificado pela primeira vez:
java -jar CertificateDownloader.jar -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath}
Se você já possui um certificado da plataforma de pagamento WeChat, o comando completo é o seguinte:
java -jar CertificateDownloader.jar -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath} -c ${wechatpayCertificateFilePath}
Os parâmetros necessários são:
-f <privateKeyFilePath>
, caminho do arquivo de chave privada da API do comerciante-k <apiV3Key>
, a chave para descriptografia do certificado-m <merchantId>
, número do comerciante-o <outputFilePath>
, o caminho para salvar o certificado-s <merchantSerialNo>
, o número de série do certificado API do comercianteOs parâmetros não obrigatórios são:
-c <wechatpayCertificatePath>
, o caminho do certificado da plataforma de pagamento WeChat. Se você ainda não possui um certificado, por favor não passe este parâmetro ainda. Você também pode executar java -jar CertificateDownloader.jar -h
e visualizar a ajuda:
A ferramenta toma as seguintes medidas de segurança:
Depois de baixar o certificado, se ainda estiver preocupado com erros de certificado, você pode:
Use a ferramenta openssl para verificar o certificado da plataforma por meio da cadeia confiável de certificados:
Primeiro, baixe a cadeia confiável de certificado de plataforma CertTrustChain.p7b da plataforma comercial de pagamento WeChat e converta-a para o formato de certificado pem:
openssl pkcs7 -print_certs -in CertTrustChain.p7b -inform der -out CertTrustChain.pem
Em seguida, o arquivo -CAfile especifica certificados confiáveis para verificar o certificado da plataforma baixado:
openssl verify -verbose -CAfile ./CertTrustChain.pem ./WeChatPayPlatform.pem
Para respostas de pagamento do WeChat, o certificado da plataforma precisa ser usado para verificação de assinatura, no entanto, o certificado da plataforma só pode ser baixado através da interface Obter certificado da plataforma, portanto, quando você for obter o certificado pela primeira vez, um "loop infinito"; aparecerá.
Para resolver esse “loop infinito”, você pode pular temporariamente a verificação da assinatura para obter o certificado. Ou seja, você pode baixar o certificado de pagamento WeChat sem fornecer o parâmetro (parâmetro -c). Após baixar o certificado, a ferramenta usará o certificado baixado para verificar a assinatura da mensagem.
Depois de baixar o certificado pela primeira vez, recomendamos fortemente consultar como verificar o certificado da plataforma por meio da cadeia confiável do certificado para verificar a autenticidade do certificado.
alguns: