在Linux上运行时Mono System.Security.Cryptography.CryptographicException

时间:2012-06-18 12:11:22

标签: .net jboss mono

我正在使用mono 2.10.2在RHEL 5上运行.Net应用程序。该应用程序有一个引用程序集Dll,它向JBoss服务器发出Web服务调用。我得到' System.Security .Cryptography.CryptographicException' 当我在RHEL中运行它时。我在Windows上安装了mono并在那里运行正常。客户端应用程序使用.p12证书

我使用以下命令运行程序:

mono --debug --trace=N:MyApplication "Prod_Module/TestApp/bin/Debug/abc Prod Module Test.exe"

运行时我得到以下跟踪:

  

[0x40570940:] EXCEPTION处理:   System.Security.Cryptography.CryptographicException:Store Root   不存在。 [0x40570940:] EXCEPTION处理:   System.Security.Cryptography.CryptographicException:Store Root   不存在。 [0x42155940:] EXCEPTION处理:   System.Net.WebException:远程服务器返回错误:(500)   内部服务器错误。 [0x40fd8940:] EXCEPTION处理:   System.Net.WebException:远程服务器返回错误:(500)   内部服务器错误。 [0x2b15fbbefb50:] EXCEPTION处理:   System.ServiceModel.FaultException:Unmarshalling Error:意外   元素(uri:" http://ws.array.asi.abc.com/" ;, local:" username")。   预期元素为< {}用户名&gt ;,< {}密码> [0x2b15fbbefb50:]   EXCEPTION处理:System.ServiceModel.FaultException:Unmarshalling   错误:意外元素(uri:" http://ws.array.asi.abc.com/",   当地:"用户名&#34)。预期元素为< {}用户名&gt ;,< {}密码>   [0x2b15fbbefb50:] EXCEPTION处理:   System.ServiceModel.FaultException:Unmarshalling Error:意外   元素(uri:" http://ws.array.asi.abc.com/" ;, local:" username")。   预期元素为< {}用户名&gt ;,< {}密码> [0x2b15fbbefb50:]   EXCEPTION处理:System.ServiceModel.FaultException:Unmarshalling   错误:意外元素(uri:" http://ws.array.asi.abc.com/",   当地:"用户名&#34)。预期元素为< {}用户名&gt ;,< {}密码>   [0x2b15fbbefb50:] EXCEPTION处理:   abc.Prod.Module.Exception_Model.ModulePluginException:Unmarshalling   错误:意外元素(uri:" http://ws.array.asi.abc.com/",   当地:"用户名&#34)。预期元素为< {}用户名&gt ;,< {}密码>   解组错误:意外元素   (uri:" http://ws.array.asi.abc.com/" ;, local:" username")。预期   元素是< {}用户名>,< {}密码>

     

JBoss(v7.1)服务器日志包含以下内容:

     

01:26:09,038警告[org.apache.cxf.phase.PhaseInterceptorChain]   (http - 0.0.0.0-3506-1)拦截器   {http://ws.array.asi.abc.com/}ArrayWSAPIImplService#{http://ws.array.asi.abc.com/}login   抛出异常,现在展开:org.apache.cxf.interceptor.Fault:   解组错误:意外元素   (uri:" http://ws.array.asi.abc.com/" ;, local:" username")。预期   元素是< {}用户名&gt ;,< {}密码>在   org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:801)     在   org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:642)     在   org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:156)     在   org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:109)     在   org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)     在   org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)     在   org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:207)     在   org.jboss.wsf.stack.cxf.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:91)     在   org.jboss.wsf.stack.cxf.transport.ServletHelper.callRequestHandler(ServletHelper.java:169)     在   org.jboss.wsf.stack.cxf.CXFServletExt.invoke(CXFServletExt.java:87)     在   org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:185)     在   org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:108)     在javax.servlet.http.HttpServlet.service(HttpServlet.java:754)   [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] at   org.jboss.wsf.stack.cxf.CXFServletExt.service(CXFServletExt.java:135)     在   org.jboss.wsf.spi.deployment.WSFServlet.service(WSFServlet.java:140)   [jbossws-spi-2.0.3.GA.jar:2.0.3.GA] at   javax.servlet.http.HttpServlet.service(HttpServlet.java:847)   [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)   [jbossweb-7.0.13.Final.jar:] at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)   [jbossweb-7.0.13.Final.jar:] at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)   [jbossweb-7.0.13.Final.jar:] at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)   [jbossweb-7.0.13.Final.jar:] at   org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)   [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final] at   org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)   [jboss-as-web-7.1.1.Final.jar:7.1.1.Final] at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)   [jbossweb-7.0.13.Final.jar:] at   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)   [jbossweb-7.0.13.Final.jar:] at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)   [jbossweb-7.0.13.Final.jar:] at   org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)   [jbossweb-7.0.13.Final.jar:] at   org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)   [jbossweb-7.0.13.Final.jar:] at   org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:671)   [jbossweb-7.0.13.Final.jar:] at   org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:930)   java.lang.Thread.run上的[jbossweb-7.0.13.Final.jar:](Thread.java:662)   [rt.jar:1.6.0_27]引起:javax.xml.bind.UnmarshalException     - 链接异常:[javax.xml.bind.UnmarshalException:意外元素(uri:" http://ws.array.asi.abc.com/",   当地:"用户名&#34)。预期元素为< {}用户名&gt ;,< {}密码>]     在   com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:434)     在   com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:371)     在   com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:348)     在   org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:778)     ... 29更多引起:javax.xml.bind.UnmarshalException:意外   元素(uri:" http://ws.array.asi.abc.com/" ;, local:" username")。   预期元素为< {}用户名&gt ;,< {}密码>在   com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:662)     在   com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:258)     在   com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:253)     在   com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:120)     在   com.sun.xml.bind.v2.runtime.unmarshaller.Loader.childElement(Loader.java:105)     在   com.sun.xml.bind.v2.runtime.unmarshaller.StructureLoader.childElement(StructureLoader.java:251)     在   com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:498)     在   com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:480)     在   com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartElement(StAXStreamConnector.java:247)     在   com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:181)     在   com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:369)     ... 31更多引起:javax.xml.bind.UnmarshalException:意外   元素(uri:" http://ws.array.asi.abc.com/" ;, local:" username")。   预期元素为< {}用户名&gt ;,< {}密码> ......还有42个

是否与客户证书有关?

1 个答案:

答案 0 :(得分:2)

您需要自己导入证书,如Mono Security FAQ所述。