Manage Learn to apply best practices and optimize your operations.

Removing document encryption

Here's the method to remove the encription from a NotesDocument object through LotusScript.

Here's the method to remove the encription from a NotesDocument object through LotusScript (details at the end of the message).

1- The user needs the encryption key to decrypt the document in the first time.

2- Modify the document (any field)

3- Save the doc

4- Remove all the $Seal items from the document

5- Save the document

Here's the function I used:

Function RemoveSeal(doc As NotesDocument)
doc.tmp_x = "1" 'Modify the doc
Call doc.Save(True,False) 'Save without encryption

While doc.HasItem("$Seal") 'Remove all the $Seal
Call doc.RemoveItem("$Seal")

End Function

Details of the solution:

1- A NotesDocument allways has to be encrypted (call doc.Encrypt) before saved to keep the document encrypted. If not, the document is saved with all its items decrypted.

2- A $Seal item is added to a NotesDocument each time the doc.Encrypt is called. The $Seal items are removed when the document is saved through the UI Document (Form). A document can then have many $Seal items.

3- Since the $Seal items IsEncrypted property = True, all the $Seal items are encrypted when you call the doc.Encrypt. And an other $Seal is added aferwards.

4- Since you need all the encryption keys for the $Seal items to open or save a document, you need to remove them all to get rid of the encryption. and since many of them are encrypted, you need to save the doc without encryption to see them all (and remove them).

5- You can then save the document without any encryption or add a new Encryption key if needed using the commands :
doc.EncryptionKeys = "MyKey"
call doc.Encrypt
call doc.Save()

N.B. Since I found almost NO DOCUMENTATION on any of this, I had to come up with my personal deductions and tests. So, if you have more accurate information on all of this, I would be glad to hear from you. Email me at or email the and searchDomino will post your feedback here.

Dig Deeper on Java for Lotus Notes Domino



  • iSeries tutorials's tutorials provide in-depth information on the iSeries. Our iSeries tutorials address areas you need to know about...

  • V6R1 upgrade planning checklist

    When upgrading to V6R1, make sure your software will be supported, your programs will function and the correct PTFs have been ...

  • Connecting multiple iSeries systems through DDM

    Working with databases over multiple iSeries systems can be simple when remotely connecting logical partitions with distributed ...