एस SqlConnection
का उपयोग करते समय प्रमाण पत्र पिन कैसे करता है? SqlConnection Connection String Parameter Keywords & Values से, मुझे पता है कि मैं एसएसएल/टीएलएस के बल को प्रोत्साहित करने के लिए Encrypted
true
पर सेट कर सकता हूं।.Net SqlConnection, सर्वर प्रमाणीकरण, और प्रमाणपत्र पिनिंग
हालांकि, प्रमाण पत्र पिन करने के लिए, मुझे विश्वास है कि हमें ServicePointManager
से ServerCertificateValidationCallback
का उपयोग करने की आवश्यकता है (नीचे नमूना कोड HTTP/HTTPS के लिए अर्ने वजोज द्वारा प्रदान किया गया था)। मैं स्पष्ट नहीं हूं कि PinCertificate
(ServicePointManager
से) SqlConnection
में तार कैसे करें।
अपडेट: माइक्रोसॉफ्ट.public.dotnet.languages.csharp पर आर्ने वाजोज के साथ बात करते हुए, ऐसा लगता है कि कनेक्शन पर वांछित नियंत्रण होना संभव नहीं है। वजोज ने Encrypting Connections to SQL Server पर एक लिंक पेश किया।
public static void Main(string[] args)
{
ServicePointManager.ServerCertificateValidationCallback = PinCertificate;
WebRequest wr = WebRequest.Create("https://www.google.com/");
wr.GetResponse();
}
public static bool PinCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
byte[] chash = certificate.GetCertHash();
StringBuilder sb = new StringBuilder(chash.Length * 2);
foreach (byte b in chash)
sb.AppendFormat("{0:X2}", b);
// Verify against known SHA1 thumb print of the certificate
String hash = sb.ToString();
if (hash != "C1956DC8A7DFB2A5A56934DA09778E3A11023358")
return false;
return true;
}
VB.NET में प्रमाण पत्र सत्यापन का एक उदाहरण: http://social.msdn.microsoft.com/forums/en-US/netfxnetcom/thread/ 5f5af31c-74f2-4147-8b70-e9e8ec03c76a। कन्वर्ट करने के लिए काफी आसान होना चाहिए। –
एमएसडीएन उदाहरण 'सर्विसपॉइंट प्रबंधक' और 'सर्वर प्रमाणपत्र प्रमाणन कॉलबैक' का उपयोग करता है ('MyCertValidationCb' को कॉल करना)। मैंने पोस्ट किए गए नमूने से अलग नहीं है। मैं अभी भी स्पष्ट नहीं हूं कि कोई 'SqlConnection' में' सर्वर प्रमाणपत्र प्रमाणन कॉलबैक 'कैसे चलाता है। – jww
http://support.microsoft.com/default.aspx?scid=276553 यह सहायता करता है? – King