Páginas

quarta-feira, 18 de agosto de 2021

DICAS 3384 - WINDEV WEBDEV MOBILE - Assinar Criar Componente e utilizar windev - Parte 15- Curso Webservice - 51






https://youtu.be/MMJYqQGj7uQ



Bom Dia Boa Tarde Boa Noite

Mande um email pedido para receber todas notificaçoes dos videos 

==============================================================

Seja Membro do Canal e tenha direito a consultorias com precos diferenciados
https://www.youtube.com/channel/UCQGPHrppG5XKoRbeOIgLJEA/join
Beneficios Membros: 
     Skype Privado
     Sugerir ou pedir Videos
     Valroes de consultorias com precos acesiveis
     Pedir para eu refazer uma exemplo versao inferior
     Quero Refazer meu sistema no windev, onde comecar?
     Como fazer uma proteção on-line do seu sistema ?
     Meu projeto será grande, como devo fazer?

==============================================================


Esse Video vai estrear as 10:00 do dia 20/08/2021

DICAS 3384 - WINDEV WEBDEV MOBILE - Assinar Criar Componente e utilizar windev - Parte 15- Curso Webservice - 51







ASSUNTOS

00:00 Introducao
00:52 Vamos criar o projeto assinar_componente_amarildo_3384
01:38 Vamos criar as procedures assinar_xml e assinar_xml_serial 
02:09 Vamos copiar agora os codigos que colocamos no editor 
02:40 Vamos colocar os .net 
03:32 Vamos compilar 
03:50 vou mostrar o que ele gerou

------------------ CODIGO
//PROCEDURE assinar_xml(recebe_xml,recebe_refUri,recebe_id,receber_certificado_local_arquivo,receber_senha)

//,recebe_dados_certificado
//Info(recebe_dados_certificado)

clX509certi is X509Certificate2(receber_certificado_local_arquivo,receber_senha)
//clX509certi is X509Certificate2(recebe_dados_certificado)

clDoc is System.Xml.XmlDocument;
clDoc.LoadXml(recebe_xml) // Ler um arquivo Xml 
nQtdeRefUri is int= clDoc.GetElementsByTagName(recebe_refUri).Count //_refUri= (sRefUri IS STRING = "infNFe")
IF (nQtdeRefUri) =0 THEN
RESULT "erro assinar" //nao existe // does not exists // ne pas exister
ELSE
VrSignedXml is SignedXml(clDoc) //cria um objeto assinado  
VrSignedXml.SigningKey = clX509certi.PrivateKey // adiciona a chave do certificado 
Reference is Reference //= new Reference(); // Cria a referencia para assinatura 
Reference.URI = "#" + recebe_id
Env is XmlDsigEnvelopedSignatureTransform  // adiciona um XmlDsigEnvelopedSignatureTransform para a assinatura    
Reference.AddTransform(Env)    
c14 is XmlDsigC14NTransform 
Reference.AddTransform(c14)
VrSignedXml.AddReference(Reference) // adiciona a referencia no xml assinado 
VrkeyInfo is KeyInfo // Cria a chave 
VrkeyInfo.AddClause(new KeyInfoX509Data(clX509certi)) // carrega o certificado em um keyinfox509 e adiciona ao keyinfo 
VrSignedXml.KeyInfo = VrkeyInfo // adiciona o keyinfo ao xml assinado 
VrSignedXml.ComputeSignature()  
xmlDigitalSignature is System.Xml.XmlElement dynamic = VrSignedXml.GetXml() // busca a representacao XML da assinatura e salva no XML       
clDoc.DocumentElement.AppendChild(clDoc.ImportNode(xmlDigitalSignature, True)) // adiciona a assinatura no documento  
RESULT clDoc.get_InnerXml() //salva o documento assinado 
END

----- CODIGO 

//PROCEDURE assinar_xml_serial(recebe_xml,recebe_refUri,recebe_id,receber_serial_numero)
clCertificado is X509Store(StoreName.My, StoreLocation.CurrentUser) //Carrega Store do windows, utilizando o Usuario Logado
clCertificado.open(OpenFlags.ReadOnly)
clCertificado_carrega is X509Certificate2Collection(clCertificado.Certificates) // Carregar Certificados
clCertificado_colecao is X509Certificate2Collection(clCertificado_carrega.Find(X509FindType.FindBySerialNumber,receber_serial_numero,False)) //Busca certificado que tem o SerialNumber
clX509certi is X509Certificate2
FOR EACH clX509certi OF clCertificado_colecao // fazer um loop para pegar o certificado desejado
clDoc is System.Xml.XmlDocument;
clDoc.LoadXml(recebe_xml) // Ler um arquivo Xml 
nQtdeRefUri is int= clDoc.GetElementsByTagName(recebe_refUri).Count //_refUri= (sRefUri IS STRING = "infNFe")
IF (nQtdeRefUri) =0 THEN
RESULT "erro assinar" //nao existe // does not exists // ne pas exister
ELSE
VrSignedXml is SignedXml(clDoc) //cria um objeto assinado  
VrSignedXml.SigningKey = clX509certi.PrivateKey // adiciona a chave do certificado 
Reference is Reference //= new Reference(); // Cria a referencia para assinatura 
Reference.URI = "#" + recebe_id
Env is XmlDsigEnvelopedSignatureTransform  // adiciona um XmlDsigEnvelopedSignatureTransform para a assinatura    
Reference.AddTransform(Env)    
c14 is XmlDsigC14NTransform 
Reference.AddTransform(c14)
VrSignedXml.AddReference(Reference) // adiciona a referencia no xml assinado 
VrkeyInfo is KeyInfo // Cria a chave 
VrkeyInfo.AddClause(new KeyInfoX509Data(clX509certi)) // carrega o certificado em um keyinfox509 e adiciona ao keyinfo 
VrSignedXml.KeyInfo = VrkeyInfo // adiciona o keyinfo ao xml assinado 
VrSignedXml.ComputeSignature()  
xmlDigitalSignature is System.Xml.XmlElement dynamic = VrSignedXml.GetXml() // busca a representacao XML da assinatura e salva no XML       
clDoc.DocumentElement.AppendChild(clDoc.ImportNode(xmlDigitalSignature, True)) // adiciona a assinatura no documento  
RESULT clDoc.get_InnerXml() //salva o documento assinado 
END
END


--------------------- Indice WebService

Criar Projeto WebService - Lista Site - - WebService - 001/...
Deploy - Gerando WebService/Levando Servidor/Instalar/Mostrar - WebService - 002/...
Instalando SoapUI - Testar WebService - Aula 1040 - WebService - 003/...
Ajustando Xml Lista Site WebService - WebService - 004/...
Consumir WebService - WebService - 005
Xml - Consumir Ler Xml e colocar Tabela - WebService - 006
Dolar - Consumir WebService - Cotação Dolar - 007
Cnpj Receita - Consumir WebService - 008/...
Cep Buscar WebService Correio - WebService - 009/...
CONSULTA CADASTRO SEFAZ P-1 - DICAS 1871 - WINDEV_23 - WEBSERVICE 010 - 
CONSULTA CADASTRO SEFAZ P-2 - 1872 - PUBLICA - WINDEV_23 - WEBSERVICE 011 - 
CONSULTA CADASTRO SEFAZ P-3 - 1873 - PUBLICA - WINDEV_23 - WEBSERVICE 012 -
DICAS 1877 - WINDEV_23 - WEBSERVICE 014 - CNPJ BUSCA CADASTRO ACBR
DICAS 2019 - WINDEV - WEBSERVICE - 015 - APRENDER A FAZER REST WEBSERVICE
DICAS 2020 - WINDEV - WEBSERVICE - 016 - CRIANDO TABELAS
DICAS 2021 - WINDEV - WEBSERVICE - 017 - WDTESTREST
DICAS 2022 - WINDEV MOBILE - WEBSERVICE - 018 - LER WEBSERVICE RESTSend
DICAS 2023 - WINDEV MOBILE - WEBSERVICE - 019 - LER WEBSERVICE RESTSend SOMENTE 1 REGISTRO
DICAS 2024 - WINDEV MOBILE - WEBSERVICE - 020 - WEBSERVICE RESTSend CRIA NOVO REGISTRO - httpPost
DICAS 2025 - WINDEV MOBILE - WEBSERVICE - 021 - WEBSERVICE RESTSend ALTERA REGISTRO - httpPut
DICAS 2026 - WINDEV MOBILE - WEBSERVICE - 022 - WEBSERVICE httpRequest httpDelete
DICAS 2033 - WINDEV - WEBSERVICE 23 - HTTPRequest - HTTPGetResult - fSaveBuffer - BAIXAR ARQUIVO
AO VIVO-SOAP-DICA 2095-WINDEV MOBILE WEBDEV-WEBSERVICE COM MOBILE -
DICAS 2096-2095 - WINDEV WEBDEV MOBILE - WEBSERVICE 25 - SOAP
DICAS 2097 - WINDEV MOBILE - WEBSERVICE 26 - MOSTRAR CLIENTES - SOAP
DICAS 2132 - HANGOUT AO VIVO 20 HORAS 30/05 - WEBSERVICE SOAP COM MOBILE
DICAS 2163 WINDEV WEBDEV MOBILE WEBSERVICE 28 SOAP
DICAS 2226 WINDEV WEBDEV MOBILE 24 NOVIDADES 26 WEBSERVICE 29 HTTPREQUEST - BUSCA CNPJ
DICA 2687 - WINDEV WEBDEV MOBILE - WEBSERVICE 32 - EXPLICANDO WEBSERVICE SOAP E CONSUMIDO MOBILE E DESKTOP

------------------- 

















Bom Dia Boa Tarde Boa Noite

Mande um email pedido para receber todas notificaçoes dos videos 

==============================================================

Seja Membro do Canal e tenha direito a consultorias com precos diferenciados
https://www.youtube.com/channel/UCQGPHrppG5XKoRbeOIgLJEA/join
Beneficios Membros: 
     Skype Privado
     Sugerir ou pedir Videos
     Valroes de consultorias com precos acesiveis
     Pedir para eu refazer uma exemplo versao inferior
     Quero Refazer meu sistema no windev, onde comecar?
     Como fazer uma proteção on-line do seu sistema ?
     Meu projeto será grande, como devo fazer?

==============================================================


Esse Video vai estrear as 10:00 do dia 24/06/2021

DICAS 3358 - WINDEV WEBDEV MOBILE - Modificar o Estilo Controle  e Gravar como um Estilo Webdev - Aula Top - CURSO WEBDEV 97 - estilo 1





ASSUNTOS