Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: v_haderer am 02.09.13 - 10:52:09

Titel: Problem mit doc.encrypt
Beitrag von: v_haderer am 02.09.13 - 10:52:09
Hallo Zusammen!
Ich habe ein mehr oder weniger großes Problem mit Dokumentverschlüsselung  ???:

Ich verschlüssle ein "normales" Richtextfeld in einem Notesdokument....

   Set encItem = doc.GetFirstItem( "VM_Daten" )
   encItem.IsEncrypted = True      
   Call doc.Encrypt
   Call doc.Save(True,False)         
   

....so weit so gut, funktioniert einwandfrei.

Leider bei meinem Kunden nicht, das Feld wird einfach ohne Rückmeldung nicht verschlüsselt.  Notesversion und Fixpacks sind ident meiner Enwicklungsumgebung, das Feld SecretEnryptionKeys ist ebenfalls ordnungsgemäß befüllt. Ich habe auch Produktivzugriff auf diese DB mit meinem User(meiner ID)  und gleichen Rechten wie alle anderen Benutzer, mit meinem User funktionierts. Einziger Unterschied ist das in Produktion ID-Vault eingeschalten ist, kann dies wirklich mein Problem sein?

Danke für eure Hilfe
glg
V
Titel: Re: Problem mit doc.encrypt
Beitrag von: pram am 02.09.13 - 11:39:03
Ist das Dokument in der Maske offen?
Wenn ja, muss das Feld SecretEnryptionKeys in dieser ebenfalls existieren.
Ansonsten darf zwischen
Code
  Call doc.Encrypt
   Call doc.Save(True,False)   
kein Dokumentzugriff mehr erfolgen, da es sonst wieder entschlüsselt wird

Gruß
Roland
Titel: Re: Problem mit doc.encrypt
Beitrag von: v_haderer am 02.09.13 - 11:59:28
Das Dokument ist zuvor geöffnet, das Uidoc wird aber vorm Encrypt geschlossen. Allerdings schmeiß ich etwas später im Code noch 2 Autorenfelder raus und speichere es nochmals im Backend (macht aber ein Serveragent).
Titel: Re: Problem mit doc.encrypt
Beitrag von: pram am 02.09.13 - 14:50:05
Du musst vor jedem Save prüfen, ob das Feld "SecretEncryptionKeys" gesetzt ist und ob doc.isEncrypted FALSE ist.
Falls dies der Fall ist, bist du Schlüsselinhaber und Notes hat das Dokument entschlüsselt. Du musst dann wieder ein encrypt aufrufen.

Gruß
Roland