Erhalte den verschlüsselten Spaltennamen mit ihrem Verschlüsselungsschlüssel und Zertifikat auf dem SQL-Server

9

Ich verwende SQL Server 2008 / 2012. In meiner Datenbank habe ich eine Tabelle mit verschlüsselter Spalte. Die Spalte wird mit der folgenden Abfrage verschlüsselt:

Erstellen Sie die Beispieltabelle

%Vor%

Richten Sie den Hauptschlüssel ein

%Vor%

Erstellen Sie den symmetrischen Schlüssel und das ZERTIFIKAT

%Vor%

Daten verschlüsseln

%Vor%

Ich bin Entschlüsselung dieser Daten mit der Abfrage -

%Vor%

Hier geben wir den Schlüssel / Zertifikat-Wert fest codiert.

Ich erhalte den verschlüsselten Spaltennamen mit ihrer Tabelle durch diese Abfrage -

%Vor%

Und die Schlüssel- und Zertifikatsliste nach dieser Abfrage -

%Vor%

Nun möchte ich wissen, welcher Schlüssel / welches Zertifikat zu welcher verschlüsselten Spalte gehört. SO kann ich die Entschlüsselung für diese Spalte anwenden, ohne einen fest codierten Wert anzugeben. Bitte hilf mir ....

    
parita porwal 09.11.2016, 06:34
quelle

2 Antworten

2

Nach der Suche und dem Versuch habe ich die Lösung gefunden, die -

ist %Vor%

Diese Abfrage liefert den verschlüsselten Schlüssel, der zu dieser Spalte gehört.

    
parita porwal 09.11.2016, 11:45
quelle
1

Sie können nicht, zumindest mit den integrierten Systemfunktionen und -ansichten von T-SQL.

Der Typ einer Spalte kann auch varbinary sein und die Daten müssen nicht verschlüsselt werden.

Wenn Sie dynamische T-SQL-Anweisungen erstellen und Zertifikate und Schlüssel hartcodieren möchten, können Sie eine mapping -Tabelle erstellen. Zum Beispiel so etwas:

%Vor%

Es ist nicht das perfekte Workaround (ja, Sie müssen die Daten pflegen), aber wenn neue Spalten nicht ständig verschlüsselt werden, kann es den Job erledigen.

    
gotqn 09.11.2016 09:12
quelle

Tags und Links