Ir para conteúdo
  • Cadastre-se

Marcelo Moya Dias

Membros
  • Total de ítens

    1
  • Registro em

  • Última visita

Tudo que Marcelo Moya Dias postou

  1. 'Para quem quiser, segue um exemplo em VB.NET que gera a chave para certificados A3. 'Caso o certificado não possua CNPJ no subject, localizar pelo número serial. Imports System Imports System.Collections.Generic Imports System.Text Imports System.Collections Imports System.Security Imports System.Security.Cryptography Imports System.Security.Cryptography.X509Certificates Imports System.Security.Cryptography.Pkcs Imports System.Security.Cryptography.Xml Imports System.Xml Imports System.Xml.Schema Private Function GetChaveSAT(CNPJSoftwareHouse As String, CNPJEstbComercial As String) As String 'Procura pelo certificado da sofwarehouse no repositório do Windows Dim cert As X509Certificate2 = FindCertOnStore(CNPJEstbComercial) 'Se não achar o certificado, finaliza If cert Is Nothing Then MessageBox.Show("Certificado não encontrado") Return "" End If 'Cria chave criptografada Dim rsa As RSACryptoServiceProvider = cert.PrivateKey Dim data As Byte() = Encoding.UTF8.GetBytes(CNPJSoftwareHouse + CNPJEstbComercial) Dim sig As Byte() = rsa.SignData(data, "SHA256") Dim base64sign As String = Convert.ToBase64String(sig) Return base64sign End Function Private Function FindCertOnStore(CNPJ As String) As X509Certificate Dim st As New X509Store(StoreLocation.CurrentUser) st.Open(OpenFlags.ReadOnly) For Each cert As X509Certificate In st.Certificates If cert.Subject.IndexOf(CNPJ) > -1 Then Return cert End If Next Return Nothing End Function 'E se for A1, mais fácil ainda: Private Function GetChaveSAT(CNPJSoftwareHouse As String, CNPJEstbComercial As String) As String 'Cria o certificado A1 Dim cert As New X509Certificate2("C:\meucertificado.pfx", "senha1234") 'Se não achar o certificado, finaliza If cert Is Nothing Then MessageBox.Show("Certificado não encontrado") Return "" End If 'Cria chave criptografada Dim rsa As RSACryptoServiceProvider = cert.PrivateKey Dim data As Byte() = Encoding.UTF8.GetBytes(CNPJSoftwareHouse + CNPJEstbComercial) Dim sig As Byte() = rsa.SignData(data, "SHA256") Dim base64sign As String = Convert.ToBase64String(sig) Return base64sign End Function
×
×
  • 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...