什么是等同于.net (c#)的JSSE
本文关键字:JSSE 等同于 net 什么 | 更新日期: 2023-09-27 17:50:46
我正在使用c#-4.0和EntireX Broker 9.5.1我正在尝试转换为tpcip连接以使用ssl。由于java/Software AGs使用jsse来处理SSL/证书验证,我成功地升级了java代码来做同样的事情。然而,当连接到。net下的相同服务器/端口时,我得到以下错误:02150403: Certificate expired or invalid
错误信息听起来像是在通信。那么,我怎样才能使。net成功地验证证书呢?
PS:证书由Verisign签名。
更新:
IE和Firefox在https://server.domain:port
上连接成功,没有抛出证书错误。我的应用程序实际上连接到ssl://server:port?verify_server=y
verify_server=n
抛出相同的证书错误。
证书未过期。异常的堆栈跟踪正好在Broker.Logon();
处停止。
在SoftwareAG.EntireX.NETWrapper.Runtime.Broker。登录密码(String)
在c:' users ' tfbutton ' documents ' visual Studio 2010'Projects'NEW FADCOM'FAServer' xdotnetclasses ' xwrapper .cs:line 1302
更新:
下面是我创建Broker对象的方法。
try
{
Broker mybroker;
try { mybroker = new Broker(BrokerName, BrokerUser); }
catch (Exception e)
{
Utilities.LogEntry("Error Creating broker instance -- BEFORE LOGON. ", e, true);
throw new WrapperException("Error Creating broker instance -- BEFORE LOGON. "
+ Environment.NewLine + e.Message);
}
try //{ mybroker.Logon(BrokerPass); }
{
mybroker.Password = BrokerPass;
mybroker.Logon(); //<-- stracktrace points here
}
catch (AccessViolationException ave)
{
Utilities.LogEntry("Error During Broker Logon.", ave,
EventLogEntryType.Error);
throw new WrapperException(ave); //wrap and duck
}
}
catch ( Exception e )
{
Utilities.LogEntry("Error Creating broker instance. ", e, true);
XException be = e as XException;
if ( null != be ) //<-- resolves to true
{
String msg = "Certificate error connecting to: " + BrokerName;
throw new WrapperException(msg, e);
}
throw new WrapperException( "Error Creating broker instance. "
+ Environment.NewLine + e.Message); //<-- error caught and re-thrown here
}
原来我找错人了。
我不确定。net是否有等价的JSSE。
我的解决方案原来是简单得多,连接根证书在一个文本文件,并添加
trust_store=path'to'file'myrrootcerts.pem
作为url的参数,即
BROKER-ID