Javax.net.ssl.SSLHandShakeException:没有合适的协议(IKVM dll)

Javax.net.ssl.SSLHandShakeException:没有合适的协议(IKVM dll),java,c#,ssl,sslhandshakeexception,ikvm,Java,C#,Ssl,Sslhandshakeexception,Ikvm,您好,我遇到了一个关于连接Java服务器的问题。我们希望从Java转移到C#实现,但不幸的是,我们严重依赖第三方Java库 为了实现C#应用程序,我将jar文件转换为dll,我使用IKVM在C#应用程序中引用该dll。一切似乎都正常工作,对象初始化正确,但是当我试图调用一个java方法来设置连接时,我收到了上述异常 从我的C#应用程序调用java的javax.net.ssl GetSupportedCipherSuite表明连接所需的密码不受支持。但是,当运行相同的代码时,但这次是用java编写

您好,我遇到了一个关于连接Java服务器的问题。我们希望从Java转移到C#实现,但不幸的是,我们严重依赖第三方Java库

为了实现C#应用程序,我将jar文件转换为dll,我使用IKVM在C#应用程序中引用该dll。一切似乎都正常工作,对象初始化正确,但是当我试图调用一个java方法来设置连接时,我收到了上述异常

从我的C#应用程序调用java的javax.net.ssl GetSupportedCipherSuite表明连接所需的密码不受支持。但是,当运行相同的代码时,但这次是用java编写的,将显示相应的套件。我相信这就是握手失败的原因,但我不确定如何让C#应用程序支持指定的密码

我使用的是.NETFramework4.8。我试过了
System.Net.ServicePointManager.SecurityProtocol=SecurityProtocolType.Tls12

但它似乎什么也没做


有人知道是什么原因导致java和C支持的密码套件之间存在差异吗?

我通过添加一个安全提供程序解决了这个问题。原来第三方库使用的是BouncyCastle

增加了一行
java.security.security.addProvider(新org.bouncycastle.jce.provider.BouncyCastleProvider())一切正常