如何让XSockets使用HTTPS和WSS

本文关键字:HTTPS WSS 使用 XSockets | 更新日期: 2023-09-27 18:21:05

当我使用"ws://"URL时,我的XSockets.Net代码运行良好,但当我尝试实现安全版本时,我无法使其运行。

我使用以下C#示例代码作为指南:

//Sample 1 - Certificate from store public class ChuckNorrisConfig :
ConfigurationSetting {
  public MyCustomConfig1() : base(new Uri("wss://my.server.ip.address:4502"))
  {
    this.CertificateLocation = StoreLocation.LocalMachine;
    this.CertificateSubjectDistinguishedName = "cn=localmachine";
  } 
}
//Sample 2 - X509Certificate2
public class MyCustomConfig2 : ConfigurationSetting {
 public ChuckNorrisConfig() : base(new Uri("wss://my.server.ip.address:4502"))
 {
   this.Certificate = new X509Certificate2("file.name", "password");//  line 369
 }
}

我得到以下错误:

错误2014/09/07-19:50:16无法启动XSockets服务器。System.Reflection.TargetInvocationException:已引发异常通过调用的目标。--->System.Security.Cryptography.CryptographicException:系统无法找到指定的文件。

在System.Security.Cryptography.CryptographicException.SthrowCryptographicException(Int32小时)System.Security.Cryptography.X509Certificates.X509Utils._QueryCertFileType(字符串fileName)System.Security.Cryptography.X509Certificate.X509Certificate.LoadCertificateFromFile(字符串fileName,对象密码,X509KeyStorageFlags keyStorageFlags)System.Security.Cryptographic.X509Certificates.X509Certificate2.ctor(字符串fileName,字符串密码)C: ''MyProjects''NET.Server''Program.cs:第369行---结束内部异常堆栈跟踪--

它在第369行出错了,我用注释标记了它。我不知道"file.name"应该是什么。我如何获得SSL证书的"file.nme"?我一直在使用我制作的自签名测试证书,但我不知道从哪里可以获得它的"file.name"我希望有一个可运行代码的实际例子,我可以参考,而不必看一般的东西。

有人有工作XSockets WSS实现的完整示例吗?我使用的是XSockets.Net 3.0.6版本,谢谢。

如何让XSockets使用HTTPS和WSS

如果你在机器上安装了证书,你需要使用Sample1(听起来这就是你想要的)。

您可以使用certmanager certmgr.msc在计算机中查找证书,并按名称查找。

示例1是在您有实际文件证书并且不想导入它的情况下。