Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: AndreasB am 18.10.10 - 16:21:23

Titel: Verschlüsselung mit Geheimschlüssel funktioniert nicht
Beitrag von: AndreasB am 18.10.10 - 16:21:23
Hallo zusammen,

brauche bitte Hilfe bei folgendem Szenario:

UserA legt sich einen Geheimschlüssel namens "TestKey" an. Er definiert in einer Maske (Design) 2 Felder zum verschlüsseln, legt aber keinen Standard-Schlüssel für diese Maske fest. Nun erstellt er ein neues Dokument mit dieser Maske und gibt in den Dokumenteigenschaften unter "Geheime Verschlüsselungsschlüssel" den Schlüssel "TestKey" an. Er speichert das Dokument.

Lt. Hilfe von Notes sollte das Dokument jetzt verschlüsselt abgelegt sein - IST ES ABER NICHT!!

UserB, der NICHT über den Schlüssel "TestKey" verfügt, kann beide Felder sehen!!

UserA verschlüsselt das Dokument mit Hilfe einer kleinen Script-Aktion (doc.encrypt) -> erst jetzt ist das Dokument richtig verschlüsselt, und UserB kann die beiden Felder nicht mehr sehen.

ABER: Macht UserA eine Änderung an dem Dokument und speichert diese, ist das Dokument wieder offen! - UserB kann wieder beide Felder sehen!

Das gleiche Phänomen habe ich auch, wenn ich der Maske im Designer schon einen Default-Schlüssel mitgebe ....

Habe ich jetzt da beim Verschlüsseln etwas falsch verstanden, oder ist das ein Bug in Notes (Tests liefen mit 8.0.2 und 8.5.2)

Schonmal Danke und viele Grüsse!
Titel: Re: Verschlüsselung mit Geheimschlüssel funktioniert nicht
Beitrag von: jablo am 18.10.10 - 18:22:41
Hast du zufällig im Postsave oder Queryclose noch Scriptcode der etwas im Backend mit dem Dokument macht und es dann mit doc.save speichert?

Wenn ja müsstest da mal schauen, dass du da das encrypt auch mit setzt. Unter 6.5 hatte ich das mal, dass beim Speichern von verschlüsselten Dokumenten im Backend die Felder nicht verschlüsselt wurden.
Titel: Re: Verschlüsselung mit Geheimschlüssel funktioniert nicht
Beitrag von: AndreasB am 19.10.10 - 11:16:24
Danke, der Tipp ist schonmal Gold wert! In Masken ohne Code in diesen Events funktioniert die Verschlüsselung!

Im PostSave ist tatsächlich nochmal Code drin, der das Doc auch nochmal speichert. Allerdings führt auch hier ein vorangestelltes doc.encrypt nach wie vor nicht zum gewünschten Erfolg...
Titel: Re: Verschlüsselung mit Geheimschlüssel funktioniert nicht
Beitrag von: AndreasB am 19.10.10 - 11:31:10
... bzw. bekomme die Fehlermeldung "Cannot encrypt NotesDocument when instantiated by NotesUIDocument".
Titel: Re: Verschlüsselung mit Geheimschlüssel funktioniert nicht
Beitrag von: jablo am 20.10.10 - 14:05:47
Kenne diese Meldung so nicht. Was machst du den genau im code? So ist ganz schlecht zu orackeln, woran das liegen könnte.
Titel: Re: Verschlüsselung mit Geheimschlüssel funktioniert nicht
Beitrag von: AndreasB am 20.10.10 - 14:56:18
Nichts spektakuläres:

Sub Queryclose(Source As Notesuidocument, Continue As Variant)
   Dim doc As NotesDocument
   
   Set doc = source.Document
   Call doc.Encrypt
   Call doc.Save(True, False)
End Sub

In der Zeile mit doc.Encrypt kommt dann ie Fehlermeldung "Cannot encrypt NotesDocument when instantiated by NotesUIDocument".

Selbst wenn ich die DocID nehme und über notesDatabase.GetDocumentByUNID(unid$) das Dokument hole kommt diese Fehlermeldung! Und das finde ich schon sehr strange ...



Titel: Re: Verschlüsselung mit Geheimschlüssel funktioniert nicht
Beitrag von: ascabg am 20.10.10 - 15:18:14
Hallo,

Nur zum Verstaendnis.

Der Code ist im QuerySave-Event?
Hier ist das zu verschluesselnde Dokument doch durch ein UI-Dokument instanziiert.

Source


Andreas
Titel: Re: Verschlüsselung mit Geheimschlüssel funktioniert nicht
Beitrag von: AndreasB am 20.10.10 - 15:35:46
Siehe 1. Antwort von jablo (2. Beitrag hier) ...