|
From: Marcos F. <mar...@ho...> - 2012-11-22 19:00:27
|
Enviado do Email do Windows
De: Marcos Paulo Fontana
Enviado: 22 de novembro de 2012 16:57
Para: mar...@ho...
Assunto: ejb...@li...
Hi,
When I’m trying to create a certificate directly on the main in java, like following code, I can do it normaly, the user and certificate are created well.
public static void main(String[] args) throws InvalidKeyException, NoSuchAlgorithmException, NoSuchProviderException, SignatureException, InvalidAlgorithmParameterException, SecurityException, IOException, CertificateEncodingException {
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
CertificateRequestSession teste = InterfaceCache.getCertficateRequestSession();
Admin admin = new Admin(Admin.TYPE_CACOMMANDLINE_USER);
UserDataVO userdata = new UserDataVO();
String username = "yMariano";
String password = "a1b2c3";
String DN = "E=y...@ho...,CN=Yara mariano, OU=Administrativo,O=IFSP,L=Piracaia,C=BR";
int caid = 1963139164;
String email = "yar...@ho...";
userdata.setUsername(username);
userdata.setPassword(password);
userdata.setDN(DN);
userdata.setCAId(caid);
userdata.setEmail(email);
userdata.setType(SecConst.USER_ENDUSER);
userdata.setTokenType(SecConst.TOKEN_SOFT_BROWSERGEN);
userdata.setStatus(UserDataConstants.STATUS_NEW);
userdata.setEndEntityProfileId(SecConst.EMPTY_ENDENTITYPROFILE);
userdata.setCertificateProfileId(SecConst.CERTPROFILE_FIXED_ENDUSER);
String pkcs10 = new String(Base64.encode(NonEjbTestTools.generatePKCS10Req("CN="+username, password)));
try {
teste.processCertReq(admin, userdata, pkcs10, SecConst.CERT_REQ_TYPE_PKCS10, null, SecConst.CERT_REQ_TYPE_PKCS10);
} catch (Exception ex) {
// TODO Auto-generated catch block
}
}
So I implemented all that in a JSF page and tryed to run it, like i done before, but got this error:
javax.faces.el.EvaluationException: java.lang.NoClassDefFoundError: org/ejbca/util/InterfaceCache
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:387)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: org/ejbca/util/InterfaceCache
at certificate.model.ModelCertificado.emitirCertificado(ModelCertificado.java:28)
at certificate.model.ModelProfile.cadastraProfile(ModelProfile.java:29)
at certificate.facade.FacadeProfile.cadastrarProfile(FacadeProfile.java:18)
at certificate.controler.ControladorProfile.cadastrarProfile(ControladorProfile.java:18)
at certificate.bean.ProfileBean.cadastrarProfile(ProfileBean.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:170)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
... 28 more
Caused by: java.lang.ClassNotFoundException: org.ejbca.util.InterfaceCache from BaseClassLoader@54ed9ff8{VFSClassLoaderPolicy@3ca17e57{name=vfszip:/C:/Users/Marcos/workspace/jboss-5.1.0.GA/server/default/deploy/CertificadosDigitais.war/ domain=ClassLoaderDomain@2c851425{name=vfszip:/C:/Users/Marcos/workspace/jboss-5.1.0.GA/server/default/deploy/CertificadosDigitais.war/ parentPolicy=AFTER_BUT_JAVA_BEFORE parent=ClassLoaderDomain@5867df9{DefaultDomain}} roots=[MemoryContextHandler@242065626[path= context=vfsmemory://3j001-jcuaql-h9u898ou-1-h9u89s8l-2a real=vfsmemory://3j001-jcuaql-h9u898ou-1-h9u89s8l-2a], ZipEntryHandler@1062948764[path=CertificadosDigitais.war/WEB-INF/classes context=file:/C:/Users/Marcos/workspace/jboss-5.1.0.GA/server/default/deploy/ real=file:/C:/Users/Marcos/workspace/jboss-5.1.0.GA/server/default/deploy/CertificadosDigitais.war/WEB-INF/classes]] delegates=null exported=[certificate.controler, certificate.bean, certificate.model, certificate.interfaces, certificate.facade, certificate.dao] <IMPORT-ALL>NON_EMPTY}}
at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:448)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 41 more
2012-11-22 16:45:01,853 WARNING [javax.enterprise.resource.webcontainer.jsf.lifecycle] (http-0.0.0.0-8080-1) #{profileBean.cadastrarProfile}: java.lang.NoClassDefFoundError: org/ejbca/util/InterfaceCache
javax.faces.FacesException: #{profileBean.cadastrarProfile}: java.lang.NoClassDefFoundError: org/ejbca/util/InterfaceCache
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
at javax.faces.component.UICommand.broadcast(UICommand.java:387)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.faces.el.EvaluationException: java.lang.NoClassDefFoundError: org/ejbca/util/InterfaceCache
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
... 27 more
Caused by: java.lang.NoClassDefFoundError: org/ejbca/util/InterfaceCache
at certificate.model.ModelCertificado.emitirCertificado(ModelCertificado.java:28)
at certificate.model.ModelProfile.cadastraProfile(ModelProfile.java:29)
at certificate.facade.FacadeProfile.cadastrarProfile(FacadeProfile.java:18)
at certificate.controler.ControladorProfile.cadastrarProfile(ControladorProfile.java:18)
at certificate.bean.ProfileBean.cadastrarProfile(ProfileBean.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:170)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
... 28 more
Caused by: java.lang.ClassNotFoundException: org.ejbca.util.InterfaceCache from BaseClassLoader@54ed9ff8{VFSClassLoaderPolicy@3ca17e57{name=vfszip:/C:/Users/Marcos/workspace/jboss-5.1.0.GA/server/default/deploy/CertificadosDigitais.war/ domain=ClassLoaderDomain@2c851425{name=vfszip:/C:/Users/Marcos/workspace/jboss-5.1.0.GA/server/default/deploy/CertificadosDigitais.war/ parentPolicy=AFTER_BUT_JAVA_BEFORE parent=ClassLoaderDomain@5867df9{DefaultDomain}} roots=[MemoryContextHandler@242065626[path= context=vfsmemory://3j001-jcuaql-h9u898ou-1-h9u89s8l-2a real=vfsmemory://3j001-jcuaql-h9u898ou-1-h9u89s8l-2a], ZipEntryHandler@1062948764[path=CertificadosDigitais.war/WEB-INF/classes context=file:/C:/Users/Marcos/workspace/jboss-5.1.0.GA/server/default/deploy/ real=file:/C:/Users/Marcos/workspace/jboss-5.1.0.GA/server/default/deploy/CertificadosDigitais.war/WEB-INF/classes]] delegates=null exported=[certificate.controler, certificate.bean, certificate.model, certificate.interfaces, certificate.facade, certificate.dao] <IMPORT-ALL>NON_EMPTY}}
at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:448)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 41 more
2012-11-22 16:45:01,855 SEVERE [javax.enterprise.resource.webcontainer.jsf.lifecycle] (http-0.0.0.0-8080-1) JSF1054: (Phase ID: INVOKE_APPLICATION 5, View ID: /cadastroProfile.jsp) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@156f0858]
2012-11-22 16:45:01,856 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/CertificadosDigitais].[Faces Servlet]] (http-0.0.0.0-8080-1) Servlet.service() for servlet Faces Servlet threw exception
java.lang.ClassNotFoundException: org.ejbca.util.InterfaceCache from BaseClassLoader@54ed9ff8{VFSClassLoaderPolicy@3ca17e57{name=vfszip:/C:/Users/Marcos/workspace/jboss-5.1.0.GA/server/default/deploy/CertificadosDigitais.war/ domain=ClassLoaderDomain@2c851425{name=vfszip:/C:/Users/Marcos/workspace/jboss-5.1.0.GA/server/default/deploy/CertificadosDigitais.war/ parentPolicy=AFTER_BUT_JAVA_BEFORE parent=ClassLoaderDomain@5867df9{DefaultDomain}} roots=[MemoryContextHandler@242065626[path= context=vfsmemory://3j001-jcuaql-h9u898ou-1-h9u89s8l-2a real=vfsmemory://3j001-jcuaql-h9u898ou-1-h9u89s8l-2a], ZipEntryHandler@1062948764[path=CertificadosDigitais.war/WEB-INF/classes context=file:/C:/Users/Marcos/workspace/jboss-5.1.0.GA/server/default/deploy/ real=file:/C:/Users/Marcos/workspace/jboss-5.1.0.GA/server/default/deploy/CertificadosDigitais.war/WEB-INF/classes]] delegates=null exported=[certificate.controler, certificate.bean, certificate.model, certificate.interfaces, certificate.facade, certificate.dao] <IMPORT-ALL>NON_EMPTY}}
at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:448)
at java.lang.ClassLoader.loadClass(Unknown Source)
at certificate.model.ModelCertificado.emitirCertificado(ModelCertificado.java:28)
at certificate.model.ModelProfile.cadastraProfile(ModelProfile.java:29)
at certificate.facade.FacadeProfile.cadastrarProfile(FacadeProfile.java:18)
at certificate.controler.ControladorProfile.cadastrarProfile(ControladorProfile.java:18)
at certificate.bean.ProfileBean.cadastrarProfile(ProfileBean.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:170)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:387)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Whith the following code, that i guess is all right:
public String emitirCertificado(String username, String password, int tipoUsuario, String E, String DN) throws InvalidKeyException, NoSuchAlgorithmException, NoSuchProviderException, SignatureException, InvalidAlgorithmParameterException
{
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
ProfileBean pBean = new ProfileBean();
UserDataVO userdata = new UserDataVO();
CertificateRequestSession criaCert = InterfaceCache.getCertficateRequestSession();
Admin admin = new Admin(Admin.TYPE_CACOMMANDLINE_USER);
int caid;
if (tipoUsuario == 1)
{
DN = DN + "Alunos";
caid = 1963139164; //CAID Alunos
}else if (tipoUsuario == 2)
{
DN = DN + "Professores";
caid = 1134085357; //CAID Professores
}else
DN = DN + "Administrativo";
caid = 1911414444; //CAID Administrativo
userdata.setUsername(username);
userdata.setPassword(password);
userdata.setDN(DN);
userdata.setCAId(caid); //ID CA que assina.
userdata.setEmail(E);
userdata.setType(SecConst.USER_ENDUSER);
userdata.setTokenType(SecConst.TOKEN_SOFT_BROWSERGEN);
userdata.setStatus(UserDataConstants.STATUS_NEW);
userdata.setEndEntityProfileId(SecConst.EMPTY_ENDENTITYPROFILE);
userdata.setCertificateProfileId(SecConst.CERTPROFILE_FIXED_ENDUSER);
String pkcs10 = new String(Base64.encode(NonEjbTestTools.generatePKCS10Req("CN="+username, password)));
try {
criaCert.processCertReq(admin, userdata, pkcs10, SecConst.CERT_REQ_TYPE_PKCS10, null, SecConst.CERT_REQ_TYPE_PKCS10);
pBean.setMensagem("Profile e certificado criados com Sucesso");
return "sucesso";
} catch (Exception ex) {
// TODO Auto-generated catch block
pBean.setMensagem("Ops! Desculpe-nos, algo ocorreu em nosso servidores. Tente novamente!");
return "erro";
}
}
Nenhum vírus encontrado nessa mensagem.
Verificado por AVG - www.avgbrasil.com.br
Versão: 2013.0.2793 / Banco de dados de vírus: 2629/5907 - Data de Lançamento: 11/20/12
Nenhum vírus encontrado nessa mensagem.
Verificado por AVG - www.avgbrasil.com.br
Versão: 2013.0.2793 / Banco de dados de vírus: 2629/5907 - Data de Lançamento: 11/20/12
Aviso: Mensagem enviada com recursos de tecnologia da informação da Rede Energia S.A., podendo conter informação confidencial ou privilegiada. Se recebida por engano, favor devolvê-la ao remetente e eliminá-la, não a divulgando, copiando ou utilizando-a ou documentos a ela anexados. Não gera obrigações à Rede Energia S.A. ou a suas empresas controladoras, controladas ou afiliadas (“empresas relacionadas”) a mensagem expedida por quem não tenha poderes de representação. A Rede Energia S.A. e as empresas relacionadas não se responsabilizam por vírus, ameaças eletrônicas ou alteração do conteúdo original da mensagem. É monitorada toda mensagem enviada ou recebida utilizando recursos de tecnologia da informação da Rede Energia S.A. Notice: This message was sent through Rede Energia S.A. information technology resources and may contain confidential or privileged information. If received by mistake, please reply to the sender, eliminate and do not disclose, copy or use this message or attached documents. Neither Rede Energia S.A. nor its controlling, controlled or affiliated companies (“related companies”) shall be bound by any message sent by a person not having legal authority to represent them. Rede Energia S.A. and the related companies shall not be liable for the existence of virus, electronic threat or change in the original content of the message. Every message sent or received through Rede Energia S.A. information technology resources is monitored. |