Entschlüsseln verschlüsselter SQL Server-Daten von .net

Ist es möglich, die EncryptByCert-verschlüsselten Daten zu entschlüsseln, die in einer SQL Server-Spalte in .net gespeichert sind?

Ich möchte EncryptByCert in einer gespeicherten Datei verwenden Prozedur, um einen Wert RSA-encrypted in einer Spalte zu speichern. Anschließend stellt eine Clientanwendung eine Verbindung mit SQL Server her und fordert die codierten Daten an. Anschließend muss sie mit dem privaten Schlüssel des Zertifikats dekodieren. Ist das möglich?

Ich habe kein tiefgreifendes Wissen über Verschlüsselung. Deshalb stelle ich diese Frage. Vielleicht gibt es dafür ein gutes Beispiel?

1
Ich bin mir ziemlich sicher, dass diese Entschlüsselung möglich ist, aber ich habe nicht gefunden, welches Format von EncryptByCert verwendet wird.
hinzugefügt der Autor Paŭlo Ebermann, Quelle

1 Antworten

SQL Server verschlüsselt die Daten in einer Bytefolge und gibt dies als Ergebnis zurück. Dort wird kein Containerformat verwendet . Daher kann es direkt vom RSACryptoServiceProvider entschlüsselt werden. Wichtig zu erwähnen ist hier, dass SQL Server PKCS # 1 V1.5 Padding verwendet (mindestens SQL Server 2005).

One thing to notice:
SQL server returns the encrypted result in reverse order as it is desired from RSACryptoServiceProvider. Therefore the byte sequence has to be reversed before decrypting it with RSACryptoServiceProvider.Decrypt.

2
hinzugefügt