मैं एक साधारण सिग्नल एप्लिकेशन बनाना चाहता हूं। http का उपयोग करना सब कुछ ठीक काम करता है, लेकिन जब मैं https और प्रमाणपत्र का उपयोग करने का प्रयास करता हूं तो एप्लिकेशन काम नहीं करता है।प्रमाण पत्र के साथ सिग्नल
अभी के लिए, केवल एक चीज जो मैं करना चाहता हूं वह सर्वर में क्लाइंट प्रमाणपत्र है।
सर्वर (प्रमाणीकरण हैंडलर):
public class ClientCertificateAuthenticationHandler : AuthenticationHandler<ClientCertificateAuthenticationOptions>
{
protected override Task<AuthenticationTicket> AuthenticateCoreAsync()
{
var cert = Context.Get<X509Certificate>("ssl.ClientCertificate");
if (cert == null)
{
return Task.FromResult<AuthenticationTicket>(null);
}
try
{
Options.Validator.Validate(cert);
}
catch
{
return Task.FromResult<AuthenticationTicket>(null);
}
return null;
}
}
ग्राहक (हब)
var connection = new HubConnection("https://localhost:8080/");
connection.AddClientCertificate(X509Certificate.CreateFromCertFile("c1.cer"));
IHubProxy myHub = connection.CreateHubProxy("MyHub");
connection.Start().Wait();
सर्वर में, ऐसा करने से जब मैं कर var cert = Context.Get<X509Certificate>("ssl.ClientCertificate");
मैं null
मिलता है।
तो, मैं क्या गलत कर रहा हूं?
उत्तर के लिए धन्यवाद। मैंने अपने App.config में कॉन्फ़िगरेशन लगाए, लेकिन परिणाम वही था। –
मैंने एंट्री एसएसएल => SslNegotiateCert – pm100
को सही किया है मैंने पहले ही कोशिश की है। लेकिन अभी भी काम नहीं कर रहा है। शेष कोड में कुछ हो सकता है, लेकिन मैं यह नहीं समझ सकता कि क्या। –