C# – Como adicionar PIN/Senha automaticamente no Certificado A3.

Suporte Técnico, Instalação e Configuração de Certficado Digital Seara Experian

Em dezenas de artigos eu vi métodos que adicionam o PIN automaticamente, mas nenhum funcionava, inclusive alguns fizeram eu até perder o certificado do cartão.

Essa parte abaixo costumam usar nos métodos:

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(csp);
RSACryptoServiceProvider.UseMachineKeyStore = true;
rsa.PersistKeyInCsp = false;

Com essas duas propriedades, linha 2 e 3, ela apagava o PIN do cartão ou fazia não funcionar a senha.
Método para adicionar o PIN / Senha no certificado A3 automaticamente.

public static RSACryptoServiceProvider LerDispositivo(RSACryptoServiceProvider key, string PIN)
{
CspParameters csp = new CspParameters(key.CspKeyContainerInfo.ProviderType, key.CspKeyContainerInfo.ProviderName);
SecureString ss = new SecureString();
foreach (char a in PIN)
{
ss.AppendChar(a);
}
csp.ProviderName = key.CspKeyContainerInfo.ProviderName;
csp.ProviderType = key.CspKeyContainerInfo.ProviderType;
csp.KeyNumber = key.CspKeyContainerInfo.KeyNumber == KeyNumber.Exchange ? 1 : 2;
csp.KeyContainerName = key.CspKeyContainerInfo.KeyContainerName;
csp.KeyPassword = ss;
csp.Flags = CspProviderFlags.NoPrompt | CspProviderFlags.UseDefaultKeyContainer;

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(csp);
return rsa;
}

Abaixo coloquei o método que desenvolvi para assinar o arquivo XML e que assina o método de adicionar o PIN no cartão, automaticamente, sem fazer nada manualmente: Continue reading

Apostila desenvolvimento de aplicações comerciais com C#

TituloApostila
Olá, Pessoal

Meu nome é Vinicius trabalho com desenvolvimento de software há alguns anos e adquiri nesse tempo um conhecimento que gostaria de compartilhar. Nesse meu primeiro post quero apresentar a vocês uma apostila que fiz para a ministração do curso, acredito que ela possa economizar muito do seus tempo com pesquisa na web, pois o conteúdo está compilado de uma forma que vai desde como iniciar um projeto no Visual Studo até conceitos mais avançados de orientação a objetos.

Espero que seja de muita ajuda aos meus companheiros de profissão, sempre tão atarefados e pressionados. Continue reading