2017-07-28 1 views
0

.NET Framework Ver = 4.6.2 , Database = SQL Server 2016Immer verschlüsselt - Die Spalte konnte nicht entschlüsselt werden. Rufen Sie aus dem Windows-Service-App

App Type = Windows Service

Wir arbeiten an der "immer verschlüsselt" -Funktion in der SQL 2016 db, um die Verschlüsselung bestimmter Kundendatenspalten durchzuführen. Unsere Webanwendung basiert auf der ASP.NET MVC-Architektur und funktioniert gut mit dieser neuen Funktion. Wir haben das Zertifikat vom Datenbankserver kopiert und auf den IIS-Webserver importiert. Und die Web-Anwendung funktioniert reibungslos.

Wenn wir jedoch versuchen, über eine Windows-Dienstanwendung, die auf einem separaten Server ausgeführt wird, auf die Datenbank zuzugreifen, wird die folgende Ausnahme ausgelöst.

Fehler beim Entschlüsseln der Spalte 'ColumnX'. Fehler beim Entschlüsseln eines Spaltenverschlüsselungsschlüssels mithilfe des Schlüsselspeicheranbieters: 'MSSQL_CERTIFICATE_STORE'. Die letzten 10 Bytes des verschlüsselten Spaltenverschlüsselungsschlüssels sind: '76 -34-51-DA-41-8F-52-D1-A1-EE '. Keyset existiert nicht

Wir haben kopiert und importiert das gleiche Zertifikat mit den ähnlichen Schritten zu dem Server, der die Windows-Dienstanwendung ausführt.

Bitte schlagen Sie vor, wenn ich etwas in der Zertifikatsinstallation vermisse. Müssen wir einige Eigenschaften im installierten Zertifikat bearbeiten?

Antwort

1

Immer verschlüsselte Funktionalität erfordert für den Benutzer, der auf die Datenbank zugreifen möchte, sowohl öffentlichen als auch privaten Schlüssel.

Von der Nachricht Keyset does not exist Ich nehme an, Sie haben Schlüssel nur teilweise oder nur einen Teil des Satzes importiert.

bearbeiten
Haben Sie den Zugriff auf diese Elemente haben? %ALLUSERSPROFILE%\Microsoft\Crypto\RSA\MachineKeys OR C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys

Normalerweise, wenn der private Schlüssel fehlt oder es gibt einige Berechtigungsfehler MachineKey Ordner (Registry) zuzugreifen. Es gibt den "Keyset does not exist" Fehler.

+0

Es war ein Berechtigungsproblem auf dem Zertifikat im Windows-Server verwendet. Nachdem ich den Lesezugriff auf eine bestimmte Benutzergruppe gegeben habe, fängt es an zu arbeiten. – Karan

+0

@Karan: Ich bin froh, dass es angefangen hat, für dich zu arbeiten :) – tukan

Verwandte Themen