Está tudo correto, ja fiz varias vezes acesso ao wsdl e outros serviços em que é necessario a autenticação do cartão com senha.
Cola aqui o conteúdo dos .cfg que você cita no fonte:
if ("A3CARTAO".equals(tipoCertificado)) {
fileCfg = "C:/nfe2/smartcard.cfg";
}
else if ("A3TOKEN".equals(tipoCertificado)) {
fileCfg = "C:/nfe2/Token.cfg";
}
smartcart.cfg:
name = SafeWeb
library = c:\windows\system32\cmP11.dll
token.cfg:
name=SafeWeb
library = c:\windows\system32\cmp11.dll
[quote=mateusviccari]smartcart.cfg:
name = SafeWeb
library = c:\windows\system32\cmP11.dll
token.cfg:
name=SafeWeb
library = c:\windows\system32\cmp11.dll
[/quote]
Ta ae o teu problema. No name está “SafeWeb” e no fonte esta
if ("A3CARTAO".equals(tipoCertificado)) {
System.setProperty("javax.net.ssl.keyStoreProvider","SunPKCS11-SmartCard");
}
onde deveria ser: “SunPKCS11-SafeWeb” que é a junção fixa de “SunPKCS11-” + o valor de name do .cfg
Alencar
putz era esse mesmo o problema,valeu ai, tava quebrando a cabeça tentando descobrir o erro…
Eu não entendi muito bem o que faz esse System.setProperties
[quote=mateusviccari]putz era esse mesmo o problema,valeu ai, tava quebrando a cabeça tentando descobrir o erro…
Eu não entendi muito bem o que faz esse System.setProperties[/quote]
São variáveis do sistema, tipo quando você setá algo no PATH do windows…
Alencar
philler e mateusviccari,
Estou vendo vocês com esses problemas com certificado A3 e me surgiu uma dúvida me ajudem ai por favor, o sistema aqui da minha empresa funciona já faz tempo mas é com certificado A1.
Ano que vem vamos colocar nas filiais que são lojas e precisa funcionar com certificado A3.
Eu já fiz alguns breves testes com o certificado A3 porém eu peguei eles a partir dos certificados instalados no Windows.
Tirando esse problema do cliente ser obrigado a ter windows, tem algum problema utilizar essa abordagem?
Tem alguma vantagem em fazer o que vocês fazem criando os arquivos de configuração com a dll de cada certificado.
[quote=rafaelbtz]…
Tem alguma vantagem em fazer o que vocês fazem criando os arquivos de configuração com a dll de cada certificado.[/quote]
Rafael, em se tratando de A3, não existe certificado instalado no windows.
Até aparece nos certificados do IE, quando o cartão/token está espetado na máquina ou quando vocẽ exporta o certificado
do cartão/token e importa no IE.
Mas isso não quer dizer que você possa assinar NFe assim. A PK de A3 não sai do hardware. O mesmo precisa estar espetado
na máquina que está emitindo a NFe.
Alencar
valeu Philler, bom eu fiz um teste aqui obtendo o certificado a partir do repositório do Windows (com o provider “SunMSCAPI” do Java 6) , eu sei que na verdade não está instalado e que ele precisa estar plugado mas em um teste muito rápido que eu fiz eu assinei um XML com o seguinte código:
KeyStore ks = KeyStore.getInstance("Windows-MY", "SunMSCAPI");
ks.load(null, null);
Enumeration<String> aliasEnum = ks.aliases();
while (aliasEnum.hasMoreElements()) {
String aliasKey = (String) aliasEnum.nextElement();
if (ks.isKeyEntry(aliasKey)) {
new Assinador().assinar(xml, ks, (KeyStore.PrivateKeyEntry)ks.getEntry(aliasKey, new KeyStore.PasswordProtection("0000".toCharArray()))));
}
}
no meu teste quando eu executo o meu Assinador().assinar ele sobe aquela telinha do Certificado pedindo a Senha e assina o XML normalmente. Se o certificado não estiver plugado ele nem retorna no Enum do “ks.aliases()”, desse jeito eu consegui assinar o XML sem nenhuma configuração de .cfg nem nada de DLL, então eu fiquei na dúvida se funciona em todos os casos, por isso estou perguntando aqui pra vocês, talvez alguém já tenha usado essa abordagem e teve algum problema.
Do jeito que vocês estão fazendo ai o usuário também é obrigado a digitar a senha do certificado em toda assinatura, ou existe uma maneira de ele digitar uma vez só?
Buenas, eu costumo guardar a senha criptografada em um arquivo de configuração. Mas, pelo repositório do Windows, creio que não vá adiantar.
Tem que testar o acesso setando a senha. Desta forma ai nunca fiz.
Alencar
E aí galera alguem teria exemplos de XML versão 2 pra cada serviço?
Pessoal, não estou conseguindo acesso a um token Aladdin no win 7 64bits.
Diz um site que o SunProvider não existe para esta plataforma.
http://docs.oracle.com/javase/6/docs/technotes/guides/security/p11guide.html#P11Provider
Alguém já passou por isso? Alguma solução ou afirmação que seja válida e confiável
para repassar ao cliente?
Obrigado pela atenção.
Alencar
[quote=philler]Alguém do RS sabe sobre o Registro de Saída que consta no Ajuste SINIEF 8 de 30/09/2011 e entra
em vigor em 01/01/2012?
Consta no Ajuste que o layout estaria no “Manual de Integração - Contribuinte”, conforme o texto:
ALencar[/quote]
Ninguém???
Pessoal, me deparei com algumas cadeias de certificação diferentes, começando pelas da Raiz Brasileira
que agora tem a v2 e a v3.
Como dica fica o alerta: se a cadeia não estiver correta (com todas as letras) os acessos podem falhar, ok?
Para quem interessar: http://www.iti.gov.br/twiki/bin/view/Certificacao/RepositoriodaACRaiz
Aproveitando, pergunto: alguém sabe dizer o porque o certificado da "Autoridade Certificadora Raiz Brasileira v3"
não é auto-assinado?
Os demais são corretamente pois eles são seus próprios emissores, portanto o v3 também deveria ser.
Mandei um email para comunicacao@iti.gov.br perguntando. Se alguém souber algo, por favor, nos informe.
Alencar
[quote=dudu_sps]gente… estou com algumas dúvidas bem dificeis
vamos la…
consegui gerar os xmls e assinar!
certificado A3
mas… agora não sei como faz pra consumir o web service
achei aqui no forum um codigo asism
[code]
package webService;
import java.security.Security;
import br.inf.portalfiscal.www.nfe.wsdl.NfeStatusServico2.NfeStatusServico2Locator;
import br.inf.portalfiscal.www.nfe.wsdl.NfeStatusServico2.NfeStatusServico2Soap12;
public class Teste {
public static void main(String[] args)
{
try {
System.setProperty("sun.security.ssl.allowUnsafeRenegotiation", "true");
System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
System.setProperty("javax.net.ssl.keyStoreType", "PKCS11");
System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
System.setProperty("javax.net.ssl.keyStorePassword", "senha");//Aqui a senha deste certificado
System.setProperty("javax.net.ssl.trustStoreType", "JKS");
System.setProperty("javax.net.ssl.trustStore", "D:/VipSystem/certificados/keystore.jks");
NfeStatusServico2Locator locator = new NfeStatusServico2Locator();
NfeStatusServico2Soap12 service = locator.getNfeStatusServico2Soap12();
} catch (Exception e) {
e.printStackTrace();
}
}
}[/code]
ja gerei as classes a partir do wsdl do web Service
e o codigo acima gera o seguinte
WARN (org.apache.axis.utils.JavaUtils:1308) - Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.
procurei na internet… alguns falam algo de axis!
oque eu faço com o axis??
sistema desktop
muito obrigado[/quote]
ola estou com problemas para assinar um xml utilizando certificado A3 eu uso um e-cnpj usb com java card e modelo scr3310 não sei como gerar a assinatura por ele de dentro da minha aplicação pode me dizer como vc gerou a sua assinatura pois não sei nem como acessar e gerar minha assinatura, qualquer ajuda é valida e eu agradeço.
[quote=acamargo07]
ola estou com problemas para assinar um xml utilizando certificado A3 eu uso um e-cnpj usb com java card e modelo scr3310 não sei como gerar a assinatura por ele de dentro da minha aplicação pode me dizer como vc gerou a sua assinatura pois não sei nem como acessar e gerar minha assinatura, qualquer ajuda é valida e eu agradeço.[/quote]
Procura no forum da Nota Eletronica aqui no GUJ mesmo.
Tem bastante ajuda e codigo para este fim.
Alencar
[quote=philler][quote=philler]Alguém do RS sabe sobre o Registro de Saída que consta no Ajuste SINIEF 8 de 30/09/2011 e entra
em vigor em 01/01/2012?
Consta no Ajuste que o layout estaria no “Manual de Integração - Contribuinte”, conforme o texto:
ALencar[/quote]
Ninguém???[/quote]
Colegas do RS, estou a caça de informações sobre o Registro de Saídas do projeto NFe.
Já existe a obrigatoriedade do fornecimento da Data/Hora de saída, mas tem clientes que não querem ou não podem prever isso.
Por isso a necessidade do registro do evento, previsto no Ajuste Sinief 8 de 30/09/2011.
Mas não consigo achar nada oficial. Algo parecido só na SEFAZ de MG.
Por favor, quem tiver alguma informação, mesmo que seja de “não haver informação oficial” repasse ao grupo.
Obrigado a todos pela atenção.
Alencar
Pessoal, estou enfrentando um problema com um novo certificado de um cliente tipo A1 mas o problema acontece apenas na SEFAZ MG e no ambiente de produção no de homologação não acontece.
Todo o processo de comunicação ocorre sem problemas, porém, a nota volta com a seguinte rejeição:
999-Rejeicao: Erro nao catalogado nao foi possivel encontrar o certificado da AC
o Certificado é emitido pela AC SINCOR G3, já baixei o certificado RAIZ no site deles ja exportei o pfx de tudo que é jeito e nada a rejeição permanece. Porém SÓ em MG e SÓ em produção.
Utilizando o emissor da receita federal ocorre um erro de “SSLHandshakeException: Received fatal alert: unknown_ca”
Alguém sabe o que pode ser isso, a SEFAZ de MG está com contingencia ativada, será que é algum erro la na SEFAZ?
Boa tarde, Alguém de vocês está utilizando o certificado A1 emitido apatir de 01/01/2012, se alguém estiver utilizando poderia me responder se teve algum tipo de problema ou se teve que alterar a maneira de assinar as notas fiscais?
att.
Leonardo