Hallo zusammen,
Unsere Domino Admins haben mir mal wieder was zu knabbern gegeben. Die denken sich was aus, und ich darf es ausbaden....
Hab mir auch schon ein paar der hier vorhandenen Beiträge angeschaut, bin aber noch nicht sooo weiter gekommen.
Problemstellung:
Bei uns sollen die User neue IDs bekommen (von den Admins so beschlossen, bitte nicht fragen warum, kann ich nicht sagen, und wird auch nicht mit mir diskutiert).
Da von der alten ID aber auch noch nen Mailfile besteht incl. der mit öffentlichem Schlüssel verschlüsselten Dokumente, sollen die Verschlüsselten Dokumente noch zusätzlich mit dem öffentlichen Schlüssel der neuen ID verschlüsselt werden. Da das Mailfile auf einen neuen Server repliziert wird, und von dort dann auch mit der neuen ID gelesen werden soll.
Also praktisch hinzu-geschlüsselt.
Nun habe ich mir gedacht, ich benutze dazu das Feld "PublicEncryptionKey" um den neuen User einzutragen.
Aber so richtig funzt mein Script nicht.
Script:
| Sub Initialize |
| Dim s As New NotesSession |
| Dim db As NotesDatabase |
| Dim doc As NotesDocument |
| Set db = s.CurrentDatabase |
| Dim doccoll As NotesDocumentCollection |
| Dim view As NotesView |
| Set view = db.GetView("($All)") |
| |
| Set doc = view.getfirstdocument |
| While Not doc Is Nothing |
| If (doc.GetItemValue("Encrypt")(0) = "1") Then |
| Dim publicitem As NotesItem |
| Call doc.RemoveItem("PublicEncryptionKeys") |
| |
| Set publicitem = doc.GetFirstItem("PublicEncryptionKeys") |
| If publicitem Is Nothing Then |
| Set publicitem = New NotesItem(doc, "PublicEncryptionKeys","") |
| Call publicitem.AppendToTextList(Evaluate(|@Name([Abbreviate];"Fritz Testuser/AlteID/Server")|,doc)) |
| Call publicitem.AppendToTextList(Evaluate(|@Name([Abbreviate];"Fritz Testuser/NeueID/Server")|,doc)) |
| Else |
| Call doc.ReplaceItemValue("PublicEncryptionKeys",Evaluate(|@Name([Abbreviate];"Fritz Testuser/AlteID/Server":"Fritz Testuser/NeueID/Server")|,doc)) |
| End If |
| Call doc.Encrypt |
| Call doc.ComputeWithForm(False,False) |
| |
| Call doc.Save(True,False) |
| End If |
| Set doc = view.GetNextDocument(doc) |
| Wend |
| |
| End Sub |
Es funktioniert leider erst dann, wenn ich in der Ansicht übern Button "@Command([ToolsRefreshAllDocs])" ausführe.
Was nicht sooooo toll ist, da ja eigentlich nur die verschlüsselten Dokumente angefasst werden sollen. Ansonsten würde die Replikation ja ggfs. sehr lange dauern.
Hat vielleicht jem. von Euch noch ne prickelnde Idee?
Hoffe ihr könnt nem Frischling in eurem Forum weiterhelfen.
Viele Grüße
Manuela