Ir para conteúdo
  • Cadastre-se

Felipe Flores

Membros
  • Total de ítens

    6
  • Registro em

  • Última visita

Tudo que Felipe Flores postou

  1. Fala pessoal, estou tendo uma dificuldade em assinar uma string, isso mesmo, uma string e não um XML, sempre quando valido dá como assinatura inválida. Segue meu código: Store := CoStore.Create; Store.Open ( CAPICOM_CURRENT_USER_STORE , 'My' , CAPICOM_STORE_OPEN_READ_ONLY ) ; CertsLista := Store.Certificates as ICertificates2; CertsSelecionado := CertsLista.Select ( 'Certificado(s) Digital(is) disponível(is)' , 'Selecione o Certificado Digital para uso no aplicativo' , false ) ; if not ( CertsSelecionado.Count = 0 ) then begin CertDados := IInterface ( CertsSelecionado.Item[ 1 ] ) as ICertificate; Assinante := CoSigner.Create; Assinante.Certificate := CertDados; sigData := CoSignedData.Create; sigData.Content := 'OI5ZXWOTpo2sKdZbha+Idg=='; {Conteúdo a ser assinado} teste := sigData.Sign ( Assinante , False , CAPICOM_ENCODE_BASE64 ) ; end; Alguém já passou por isso? Grato!
  2. O arquivo XML não se trata de uma NFe nem nada, se trata de um XML normal mas que deve ser assinado, mas, utilizo o componente para pelo menos assinar digitalmente geralmente quando usava para assinar ficava lá no rodapé, porém este deve ser no Header, como nunca trabalhei com isso e como não achei exemplos no ACBr resolvi perguntar caso alguém já passou por isso e também se tem como fazer com o componente da ACBr.
  3. Bom dia Pessoal, Eu gostaria de saber se há algum exemplo em que assine um XML e os dados do Certificado devam ficar no Header do SOAP, pois o serviço de autenticação via certificado digital do webservice, utiliza a especificação WS-Security1. Confesso que nunca fiz isso, apenas assinatura normal. - Utilizo o Delphi 7 Alguém tem uma luz? Grato!
  4. para fim de solução, o problema estava neste bloco <?xml version="1.0" encoding="iso-8859-1"?><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /><DigestValue></DigestValue></Reference></SignedInfo><SignatureValue/></Signature> entre uma tag e outra estava com identação, desde já agradeço
  5. esse é o arquivo assinado, quando não assinado a tag Signature não está nada preenchido. ADÃO ERALDO MACHADO.xml
  6. Bom dia Pessoal, como nunca trabalhei com assinatura digital estou tendo uma certa dificuldade para assinar um arquivo XML não fiscal onde não terá aquela parte de referência a Nota Fiscal, utilizo o Delphi 7, está assinando normalmente, mas sempre ao validar diz estar com a assinatura inválida, tenho tomado cuidado em não editá-lo após a assinatura, se alguém poder me ajudar: var A : TDFeSSL; S : AnsiString; I : Integer; begin Result := true; A := TDFeSSL.Create; A.SSLLib := libCapicom; try A.SelecionarCertificado; {Carrega o XML} XMLSignature.Active := false; XMLSignature.Active := True; XMLSignature.LoadFromFile ( 'C:\CertSignature_tmp.xml' ) ; with TStringList.Create do try S := ''; {retira dos os espaços em braco e quebras de linha} for I := 0 to Count - 1 do S := S + Trim ( StringReplace ( StringReplace ( Strings[ I ] , #13 , '' , [ rfReplaceAll ] ) , #10 , '' , [ rfReplaceAll ] ) ) ; // obtém o XML assinado no Text do StringList Text := '<?xml version="1.0" encoding="utf-8"?>' + A.Assinar ( XMLSignature.XML.Text , 'Assinatura' , '' ) ; // salva o XML em disco SaveToFile ( CaminhoCertidao ) ; finally Free; end; A.Free; {Apaga o arquivo temporário} DeleteFile ( 'C:\CertSignature_tmp.xml' ) ; except MessageBox ( Handle , 'Erro ao carregar os certificados.' , 'Erro' , MB_ICONSTOP or MB_OK ) ; Result := false; Abort; end;
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...