converter .pfx para (.key e .crt)

3,013 views
Skip to first unread message

sergio santos

unread,
May 6, 2015, 9:08:48 AM5/6/15
to nfe...@googlegroups.com
Oi pessoal,

eu tenho um arquivo .pfx (certificado). Preciso converter para .crt e gerar um .key. Para isso eu usei os seguintes comandos:

openssl pkcs12 -in certificadoKEYUOV.pfx -nocerts -out certificadoKEYUOV.key
openssl pkcs12 -in certificadoKEYUOV.pfx -clcerts -nokeys -out certificadoKEYUOV.crt

Porém, quando tento assinar o XML usando estes arquivos .key e .crt, fica aparecendo o seguinte erro:


------------------
<b>Warning</b>:  openssl_sign() [<a href='function.openssl-sign'>
function.openssl-sign</a>]: supplied key param cannot be coerced into a private key in <b>/home/intranet/library/nfephpv3_10/nfse/assinatura_digital/assinatura_digital.php</b> on line <b>164</b><br />
<br />
<b>Warning</b>:  openssl_free_key() expects parameter 1 to be resource, boolean given in <b>/home/intranet/library/nfephpv3_10/nfse/assinatura_digital/assinatura_digital.php</b> on line <b>176</b><br />
<br />
<b>Notice</b>:  Undefined variable: erro in <b>/var/www/serginho/tlmk/trunk/telemarketing/application/modules/nfe/controllers/TxtController.php</b> on line <b>373</b><br />
------------------


Fico imaginando que pode ter ocorrido algum erro no momento que eu gerei os arquivos .key .crt


Obrigado

Roberto Machado

unread,
May 6, 2015, 9:10:39 AM5/6/15
to nfe...@googlegroups.com
Voce esta usando a API ???

para que usar o open_ssl ???

O que você quer fazer ???

Roberto

sergio santos

unread,
May 6, 2015, 9:16:44 AM5/6/15
to nfe...@googlegroups.com
Oi Roberto,

Eu uso a API para fazer parte do processo. Neste caso, é uma NFSe, por isso tive que usar um código diferente para assinar o XML.

Porém, neste código, eu preciso usar os formatos .key e .crt.

Usei o openssl para converter o certificado de .pfx para .key e .crt. Mas acredito que tem algo errado neste parte sim, pois fica dando o erro que eu enviei antes.

Obrigado

Roberto Machado

unread,
May 6, 2015, 9:21:17 AM5/6/15
to nfe...@googlegroups.com
OK .... mas você pode usar as chaves pem geradas pela API priKEY e certKEY

Roberto

sergio santos

unread,
May 18, 2015, 2:17:15 PM5/18/15
to nfe...@googlegroups.com
Oi Roberto, estou usando os arquivos (priKEY e certKEY), porém o sistema retorna a seguinte mensagem de erro:

"Arquivo em desacordo com o XML Schema."

É um webservice criado por uma empresa "e-receita"

Veja:
http://webservice.ereceita.net.br/ws/vicosa/wsHomologacao.php#

Roberto Machado

unread,
May 18, 2015, 2:39:55 PM5/18/15
to nfe...@googlegroups.com
Isso não tem haver com as chaves e sim com o XSD que define a estrutura do seu XML.

Roberto

sergio santos

unread,
May 18, 2015, 2:45:12 PM5/18/15
to nfe...@googlegroups.com

Roberto, perdoe-me pelas perguntas. Porém, este sistema de NFSe está sem documentação. E com isso estou meio perdido.

Veja que eu estou enviando o XML assim:


cabecalho.xml
<?xml version='1.0' encoding='utf-8'?>
<cabecalho versao='2.02' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns='http://www.abrasf.org.br/nfse.xsd'>
   <versaoDados>2.02</versaoDados>
</cabecalho>

dados.xml
<?xml version='1.0' encoding='UTF-8'?>
<GerarNfseEnvio xmlns='http://www.abrasf.org.br/nfse.xsd' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
.....


Você acha que esta informação de xsd que estão neste XML estão erradas? Ou pode ser outra coisa?

Roberto Machado

unread,
May 18, 2015, 2:50:40 PM5/18/15
to nfe...@googlegroups.com
Não foi o que eu disse ...

O xml, e a comunicação devem ser ESTRITAMENTE estruturados conforme o XSD e com o WSDL do webservice caso contrario havera alguma rejeição.

Os XSD estabelecem a forma do documento (os campos, hierarquia, tamanhos e tipos)  e o WSDL estabelece a mesma coisa para a comunicação SOAP.

 Esses documentos você pega aqui http://www.abrasf.org.br/pagina_publica.php

Roberto

Roberto Machado

unread,
May 18, 2015, 3:15:01 PM5/18/15
to nfe...@googlegroups.com
Você deve usar o xsd para validar as mensagens antes de enviar ou pelo menos durante a fase de desenvolvimento.

Fique atento ao fato que não tem ninguém mantendo essas classes de NFSe e portanto devem estar desatualizadas.
O modelo ABRASF está na versão 2.02, porém é necessário verificar as ESPECIFICIDADES da prefeitura (versão do modelo usada atualmente pela Prefeitura e as MODIFICAÇÕES que fizeram sobre esse modelo). Tem prefeitura usando 1.0, 1.1, 2.0, 2.02 etc...

NFSe é um "NOJO" 

Roberto
361.gif
Reply all
Reply to author
Forward
0 new messages