Hallo,
ich habe da irgendeinen Denkfehler, stecke da seit gestern fest, aber ich sehe es irgendwie nicht.
Kurz: Ich komme nicht an die Encryption Keys ran, nicht mal an die meiner eigenen ID.
Und ja: Ich bin Password Reset Authority und im Administator Client geht auch alles mit der IDVault, daher schliesse ich ein Konfigurationsproblem eigendlich aus.
Total vergessen: Der User ist in der Vault, habe den Test dafür im Code rausgenommen um es etwas zu kürzen. Notes und Domino sind Version 11.0.1
Habe da mal einen kleinen Test Agent erstellt, der mein Problem verdeutlicht, vielleicht hat ja jemand einen Idee, oder es ist sogar total offensichtlich und ich bin einfach nur blind dafür.
Sub Initialize
On Error GoTo lblErrorHandler
Dim session As NotesSession
Set session = New NotesSession
Dim idVault As NotesIDVault
Set idVault = session.GetIDVault()
' name of the user whose ID file you are looking for
Dim username As String
username = "CN=firstname lastname/O=company"
' password of the user whose ID file you are looking for
Dim password As String
password = "usersPassword"
' name of server to contact in the search for the ID file
Dim servername As String
servername = "CN=server/O=company"
Dim userID As NotesUserID
Set userID = idVault.GetUserID(username, password, servername)
Dim keys As Variant
keys = userID.Getencryptionkeys()
If UBound(keys) = 0 Then
If Len(keys(0)) = 0 Then
' immer der Fall, obwohl signiert und ausgeführt mit einem user
' welcher die Rechte auf der Vault hat
Print "Keys are empty"
End If
End If
lblExit:
Exit Sub
lblErrorHandler:
Print "Error"
Resume lblExit
End Sub
Habe die Vault komplett neu gemacht, aber keine Änderung, das Problem bleibt.
Habe mal etwas Code hinzugefügt.
Die IDs sind alle in der Vault und da ich die neu gemacht habe sollte das eigentlich passen.
Habe dennoch mal auf den Testuser eingeloggt und mit der Vault gesynced, kann ja nicht schaden.
Mein Designer hat sich bei 'userID.' geweigert mir eine Autovervollständigung zu machen, also habe ich halt das Script geschlossen und neu aufgemacht. Der Designer blieb aber hartnäckig der Meinung er müsse da nichts tun. Also Manuell das Username drangeschrieben und es hat sich auch ohne Probleme speichern lassen.
If Not idVault.IsIDInVault(username, servername) Then
Print "User NICHT in der Vault gefunden"
GoTo lblExit
End If
Dim userID As NotesUserID
Set userID = idVault.GetUserID(username, password, servername)
Print userID.Username
Das passt alles.
Aber noch etwas anderes. Andrew, in deinem Code sehe ich nichts, was eine sichtbare Ausgabe im Client erzeugt, wenn keys vorhanden sind. Liegt es evtl daran? Du erwartest etwas, was aber nicht passieren kann?
Wohlmöglich hast Du Recht und ich erwarte hier etwas, was so gar nicht existiert.
Meine Erwartung ist, das ich hier den Private Key vorfinde, mit welchem ich ganz normal verschlüsseln kann.
Kann es sein das ich hier einen Denkfehler begangen habe und nur zusätzliche Keys drin sind?