簡體   English   中英

通過TCP對C#服務進行SSL認證

[英]SSL certification on C# service over TCP

我有2個服務器端(虛擬)程序,它們創建一個TCP服務器(TCPListener),然后嘗試使用X509證書(BeginAuthenticateAsServer)對服務器進行身份驗證。 客戶端程序已准備就緒。

這兩個服務器端程序之間的區別在於,其中一個是簡單的控制台應用程序,而另一個是Windows服務。

由於某種原因,客戶端可以連接到控制台應用程序,但不能連接到服務。 兩個程序的設計相同。

我正在使用以下行來描述我將使用的證書:

serverCertificate = new X509Certificate( "C:\\Users\\Tom\\workspace\\ServerSSL.cer", "12345678" );

我認為服務程序中的特權有些令人費解,但在最近幾天我沒想到。 The server mode SSL must use a certificate with the associated private key. 錯誤。 當我嘗試搜索答案作為幫助時,我得到了有關IIS / webservices主題的結果,但我使用的是簡單的Windows 7 Pro。

請問您可以幫忙嗎?

ServerSSL.cer文件很可能僅包含證書,而不包含私鑰。 這就是錯誤消息告訴您的內容。

嘗試查找pfxp12文件。 或者,如果您有一個包含私鑰(即.key )的單獨文件,則需要使用這兩個文件(.key和.cer)制作一個pfx(p12)文件。 您可以使用opensslxca來做到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM