Inquiridor
Enviar certificado digital para hospedagem para utilizar com web service

Pergunta
-
Boa tarde,
Estou desenvolvendo um Web Service que comunica com os Web Service da SEFAZ.
Para acessar os web Services da SEFAZ é necessário um certificado digital.
Como eu instalo o certificado digital do meu cliente na minha hospedagem web para que o meu Web Service consiga acessa-lo e envia-lo para o Web Service da SEFAZ.
Já tentei instalar Utilizando as classes X509Certificate2 e X509Store
- localmente funciona, porem na hospedagem sempre retorna a mensagem de acesso negado (System.Security.Cryptography.CryptographicException: Acesso negado.)ao tentar adicionar o certificado na Store
Dim woCert As New X509Certificate2(Server.MapPath("~/CertificadoDigital/certificado.pfx"), "000000", X509KeyStorageFlags.MachineKeySet) Dim woStorePermission As New StorePermission(PermissionState.Unrestricted) woStorePermission.Flags = StorePermissionFlags.OpenStore woStorePermission.Assert() Dim woStore As New X509Store(StoreName.My, StoreLocation.LocalMachine) Try woStore.Open(OpenFlags.MaxAllowed) woStore.Add(woCert) Finally woStore.Close() End Try
Já tentei enviar como um array de bytes para minha hospdagem
- Retorna erro 403 do Web Service da SEFAZ, já que o certificado não está instalado
Já tentei instalar utilizando o certutil na hospedagem
- Mesmo enviando o arquivo para o servidor ele não instala
Acredito que não posso utilizar a CAPICOM com java script pois estou fazendo um Web Service e não uma pagina web.
Se alguém souber alguma maneira de fazer, eu agradeço.
- Editado feliperfranco terça-feira, 19 de fevereiro de 2013 19:58
Todas as Respostas
-
Amigo,
veja que você está tentando pegar o certificado do repositório MY, esta aplicação faz uso de impersonate ? se sim você precisa registrar ele dentro do repositório pessoal deste usuário
Olavo Oliveira Neto
http://olavooneto.wordpress.com
Twitter @Olavooneto
Facebook Olavo Neto
Linkedin Olavo Neto
Se for útil marque como resposta e faça um Developer feliz :) -
-
vc precisa registrar o certificado via código ?
através do MMC, no cliente, vc ja viu se o certificado encontra-se no diretório correto do usuário ?
Olavo Oliveira Neto
http://olavooneto.wordpress.com
Twitter @Olavooneto
Facebook Olavo Neto
Linkedin Olavo Neto
Se for útil marque como resposta e faça um Developer feliz :) -
Tem que ser via código, vai ser uma aplicação web, não precisa estar na maquina dele, tem que estar na maquina onde o Web Service está rodando, no caso na hospedagem web.
Vai ser um emissor de NFe Web igual já existem aos muitos por ai.
Um exemplo é o http://nfemais.com.br/, faz o cadastro la e veja como o certificado digital é instalado.
-