Situação/Requisito: | Conforme modificações internas da Pamcary, a emissão do certificado antigo não está mais sendo efetuada. Para tal, os sistemas que se comunicam com o sistema Pamcard devem se adaptar para utilizar o mesmo certificado utilizado para emissão de documentos junto a SEFAZ (como NFe, CTe, MDFe, entre outros). |
Solução/Implementação: | Conversão do arquivo “.PFX” para arquivos “.PEM” |
---|
Atualmente o Framework Logix não possui funcionalidade para conversão de arquivos PFX para arquivos PEM. Estamos com uma issue para estudo da possibilidade de desenvolvimento disto, porém, ainda sem previsão de liberação oficial. Para resolver o problema pode ser utilizada a ferramente OPENSSL, mencionada a seguir. Instalação do programa OPENSSL - Acesse http://slproweb.com/products/Win32OpenSSL.html e instale a versão de acordo com seu sistema operacional.
- Após instalado, copie o arquivo do seu certificado com extensão “pfx”, e cole na pasta “bin” onde o OpenSSL foi instalado.
- Abra o prompt de comando e acesse esta mesma pasta.
- Execute os comandos abaixo para gerar:
- Arquivo com Certificados: openssl pkcs12 -in "NOME ARQUIVO CERTIFICADO".pfx -out "FILIAL TMS10005".pem -nokeys –cacerts
Obs: Após gerado o arquivo “.PEM”, mova o último bloco “BEGIN CERTIFICATE” para o topo do arquivo. Esta ordenação dos blocos pode interferir no momento de uso da chave privada, e por consequência, gerar erro. - Arquivo com Chave Privada: openssl pkcs12 -in "NOME ARQUIVO CERTIFICADO".pfx -out "FILIAL TMS10005".pem –nocerts –nodes
Os comandos mencionados acima foram os que funcionaram nos testes internos na Totvs. Porém, como os certificados podem ser gerados de formas diferentes, os comandos para conversão também podem ser outros, conforme mencionamos abaixo. Observações sobre a geração do arquivo “PEM” para o Certificado: - O arquivo “PEM” pode ser gerado somente com o arquivo denominado “Client”, através do comando “-clcerts”.
- O arquivo “PEM” pode ser gerado somente com o arquivo denominado “CA”, através do comando “-cacerts”.
Observações sobre a geração do arquivo “PEM” para a Chave Privada: - O arquivo “PEM” pode ser gerado com a Chave Privada criptografada, através dos comandos “-des” ou “-des3”.
- O arquivo “PEM” pode ser gerado sem criptografia da Chave Privada, através do comando “-nodes”.
- O arquivo “PEM” também pode ser gerado no formato RSA. Este formato, junto ao formato "-nodes", são os formatos atualmente funcionais na comunicação entre os sistemas Totvs e o Pamcard.
Maiores detalhes de comandos para geração dos arquivos "PEM", podem ser consultados em: |
Arquivo appserver.ini/totvsappserver.ini e parâmetro “STARTPATH” |
---|
Abra o arquivo “appserver.ini”/"totvsappserver.ini" e procure pela variável “StartPath”. Este será o diretório para onde os arquivos “.pem” deverão ser copiados (tanto do certificado quanto da chave privada). Aproveitando que o arquivo “appserver.ini” está aberto, inclua o trecho abaixo, para que o sistema armazene os arquivos XML enviados e recebidos, facilitando assim uma análise dos dados que estão transitando entre Logix e Pamcard. A variável “XMLSAVEALL” irá salvar arquivos XML com descrição “snd” (enviados pelo Logix) e “rcv” (retornados pelo Pamcard) na mesma pasta da variável “StartPath”. [WEBSERVICES] Enable=1 ENVIRONMENT=AMBIENTE LOGIX ONDE A COMUNICAÇÃO COM O PAMCARD OCORRERÁ Logix=1 TRACEHOST=1 XMLSAVEALL=1 FWTRACELOG=1 FWLOGMSG_DEBUG=1 trace=1 conout=1 fwframe_tracelog=1
Após realizados os testes, ou quando for mais conveniente, as variáveis podem ser removidas/comentadas. |
TMS10005 - Administradoras de pagamento eletrônico de frete |
---|
Neste programa informe a senha do certificado, pois ela será utilizada durante a comunicação com o Pamcard. Altere também a URL para a nova URL do WebService do Pamcard. Obs: Os caminhos dos certificados se tornaram obsoletos neste momento, pois conforme item anterior, eles obrigatoriamente devem ser armazenados no diretório mapeado pela variável “StartPath”. Porém, estes campos serão mantidos sem previsão de remoção. |
TMS00002 - Contrato de frete TMS20003 - Painel de contratos de frete |
---|
Estes programas foram adaptados para efetuar a comunicação com o WebService Pamcard, de acordo com a URL determinada no programa TMS10005. Quando a URL for a antiga, seja para ambiente de Homologação ou Produção, estes programas vão continuar utilizando o certificado emitido pela própria Pamcary, e enviarão o XML seguindo a estrutura antiga. Quando for a URL nova, seja para ambiente de Homologação ou Produção, estes programas irão utilizar o certificado e chave privada no formato "PEM" (conforme mencionado no começo deste documento), bem como irão seguir a nova estrutura dos arquivos XML. |
|