有沒有辦法以編程方式簽署數據庫中的代理?我想使用服務器代理運行來簽署我通過它的數據庫的代理。我想用LotusScript或XPage來做到這一點。你可以以編程方式簽署數據庫中的代理嗎?
MJ
用LotusScript有沒有辦法以編程方式簽署數據庫中的代理?我想使用服務器代理運行來簽署我通過它的數據庫的代理。我想用LotusScript或XPage來做到這一點。你可以以編程方式簽署數據庫中的代理嗎?
MJ
用LotusScript方法在兩個答案都是正確的。但他們將在筆記客戶端上工作...
簽署任何文檔需要存在於您的ID文件中的私鑰。因此,通常情況下,您不能使用未在Notes客戶機上運行的代碼簽署代理。
但是,有些產品(例如Ytria SignEZ)使用C-API簽名設計元素,但它們將必要的ID文件緩存在安全存儲中(使用最新版本ID Vault可用於此目的,但我不知道多少API的一部分對我們開放)。
更新:正如Fredrik所說,通過管理請求始終可以使用服務器ID進行簽名。
運行此代碼與簽名者ID在優選的試劑
Dim session As New Notessession
Dim db As Notesdatabase
Set db = session.Currentdatabase
Call db.sign(DBSIGN_DOC_ALL)
在SSJS
var DB:NotesDatabase=sessionAsSigner.getDatabase(database.getServer(),database.getFilePath());
DB.sign(NotesDatabase.DBSIGN_DOC_ALL)
============ =====
的LotusScript
dim AdminPNotesId
dim AdminP as NotesAdministrationProcess
Set AdminP = notesSession.CreateAdministrationProcess(Server)
AdminpNoteId=AdminP.SignDatabaseWithServerID(Server,Database)
SSJS
var AdminP=sessionAsSigner.CreateAdministrationProcess(Server)
var AdminPNoteID=AdminP.SignDatabaseWithServerID(Server,Database)
我這個幾年前使用LS代理完成。我記得是這樣的:
標誌使用
NotesDocument.Sign
雖然我從來沒有嘗試過使用SSJS。但它的作品至少使用代理與適當的ID簽名(見下面的更新)
編輯1: @Sven:當然,我忘了提,你需要保存設計文檔簽名後.. 。
編輯2: @Serdar:你說的沒錯:籤我需要簽名者的Notes標識的代理,所以弗萊德的更新的解決方案是一個
5.你必須保存文檔* NotesDocument.save *; - ) –
但是,這隻能運行在客戶端,而不是在服務器上,或者我錯了嗎? –
謝謝Sven糾正我,有點快:--) 正確的方法是使用AdminP進程和函數signDatabaseWithServerID(服務器,數據庫) –