SSL-Verbindung zur Datenbank

Meiner Anwendung benötigen, um eine sichere Verbindung mit SQL Server 2008. Mit aktiviertem "Force Encryption" im server-Seite die folgende Verbindungszeichenfolge aus meiner C# - Anwendung.

Initial Catalog=emp_test;Persist Security Info=True;User ID=sa;Password=***;Data Source=172.21.70.94;Provider=SQLOLEDB;Use Encryption for Data=True;Trust Server Certificate=True;

Habe ich keine Bestimmung, die ein Zertifikat in server - Daher gab ich Vertrauen Server Certificate=True ist, so dass selbst signierte server-Zertifikat wird nicht validiert.

Aber die Verbindung wird nicht hergestellt mit folgenden Fehler.

Datenbank-Fehler: [DBNETLIB][ConnectionOpen CreateFile (SECDoClientHandshake()).]SSL Sicherheitsfehler.

Ohne die beiden Attribute beziehen sich auf Sicherheit, es funktioniert gut.

Was muss ich ändern damit dies funktioniert?

  • Können Sie versuchen, diese für mich? Initial Catalog=emp_test;Persist Security Info=True;User ID=sa;Password=***;Data Source=172.21.70.94;Provider=SQLOLEDB;Encrypt=yes;
  • Hey BigM, Wenn ich Encrypt=ja, Verbindung wird aufgebaut, die ich denke, sollte das nicht passieren, ohne Angabe TrustServerCertificate. Daher fand nie, dass das Attribut in account.
  • Bitte verweisen Sie in diesem post (stackoverflow.com/questions/3674160/...), die deutlich zeigt, dass Encrypt = yes das Zertifikat verwendet.
  • Laut einer Antwort auf diesen Beitrag können Sie auch hinzufügen TrustServerCertificate=True um die Verbindung Zeichenfolge, so dass es anschließen zu können, unabhängig von der cert.
  • Laut diesem MSDN-post - link, ich bin mit einer Initialisierungs-string mit IDataInitialize ich muss das Attribut Verwendung der Daten für die Verschlüsselung anstelle von Verschlüsseln. Ebenso muss ich mit Trust-Server-Zertifikat anstelle von TrustServerCertificate.
  • gibt es einen guten Grund, Sie sind nicht mit den SqlConnection Objekt?
  • Basierend auf Benutzer-db-Typ (mssql oder oracle) ich konstruiere Verbindungszeichenfolge und die Verbindung unter Verwendung von Oledb.
  • Bitte gehen Sie durch diese, es hat die komplette Erklärung. Herstellen der DB-Verbindung mithilfe von Microsoft OLE DB-provider und SQL Native OLE DB-provider
  • Bitte gehen Sie durch die Frage vor: Herstellen der DB-Verbindung mithilfe von Microsoft OLE DB-provider und SQL Native OLE DB-provider

InformationsquelleAutor Praveen | 2012-10-19
Schreibe einen Kommentar