SqlConnection
을 사용할 때 인증서를 어떻게 고정합니까? SqlConnection Connection String Parameter Keywords & Values에서 Encrypted
을 true
으로 설정하여 SSL/TLS 사용을 권장 할 수 있습니다..Net SqlConnection, 서버 인증 및 인증서 고정
그러나 인증서를 확보하려면 ServicePointManager
에서 ServerCertificateValidationCallback
을 사용해야한다고 생각합니다. 아래 샘플 코드는 Arne Vajhøj에서 HTTP/HTTPS 용으로 제공 한 것입니다. PinCertificate
(ServicePointManager
)에서 SqlConnection
으로 연결하는 방법이 명확하지 않습니다.
업데이트 : microsoft.public.dotnet.languages.csharp의 Arne Vajhøj와 대화하여 원하는 연결을 제어 할 수없는 것처럼 보입니다. Vajhøj는 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. 전환하기 쉬워야합니다. –
MSDN 예제는'ServicePointManager'와'ServerCertificateValidationCallback' ('MyCertValidationCb' 호출)을 사용합니다. 그 샘플은 제가 게시 한 샘플과 다릅니다. 나는 아직도'ServerCertificateValidationCallback'을'SqlConnection'으로 연결하는 방법에 대해서는 명확하지 않습니다. – jww
http://support.microsoft.com/default.aspx?scid=276553이 정보가 도움이됩니까? – King