Autor Thema: NotesIDVault - NotesUserID - Getencryptionkeys()  (Gelesen 3672 mal)

Offline Andrew Harder

  • Senior Mitglied
  • ****
  • Beiträge: 295
  • Geschlecht: Männlich
NotesIDVault - NotesUserID - Getencryptionkeys()
« am: 22.10.20 - 11:26:00 »
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.

Code
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
« Letzte Änderung: 22.10.20 - 11:30:12 von Andrew Harder »
Andy

Offline Tode

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: NotesIDVault - NotesUserID - Getencryptionkeys()
« Antwort #1 am: 22.10.20 - 11:49:39 »
Welchen Benutzer / Passwort gibst Du mit? Im Kommentar steht korrekterweise "password of the user whose ID file you are looking for"... Aber verwendest Du auch wirklich das Passwort, was zur ID gehört? Mit DEINEM Kennwort geht das nämlich nicht (ausser Du greifst auf Deine ID zu)...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Andrew Harder

  • Senior Mitglied
  • ****
  • Beiträge: 295
  • Geschlecht: Männlich
Re: NotesIDVault - NotesUserID - Getencryptionkeys()
« Antwort #2 am: 22.10.20 - 12:41:15 »
Danke für die Rückmeldung.

Ja, mache ich.
Ich nutze bei Passwort das Passwort, welches auf der ID und damit auch im Vault des jeweiligen Users ist, nicht das des aktuellen Users der das ausführt.
Um sicherzugehen das das Passwort passt, hatte ich es nochmal gesetzt in der Vault.
Hatte dann aber festgestellt das dies nicht nötig war, denn wenn ich das falsche Passwort im String angebe, dann wirft Notes bereits vorher einen Fehler.
Andy

Offline CarstenH

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 668
  • Geschlecht: Männlich
Re: NotesIDVault - NotesUserID - Getencryptionkeys()
« Antwort #3 am: 22.10.20 - 15:18:43 »
Bei mir funktioniert es mit obigem Script, zumindest für meine eigene ID. Andere ID's habe ich jetzt nicht getestet.
Ich bekomme alle Geheimschlüssel, die ich im Client auch unter Benutzersicherheit > Dokumente sehe.

Client ist 10.0.1FP4

HTH
Carsten

Offline Andrew Harder

  • Senior Mitglied
  • ****
  • Beiträge: 295
  • Geschlecht: Männlich
Re: NotesIDVault - NotesUserID - Getencryptionkeys()
« Antwort #4 am: 23.10.20 - 07:59:13 »
Danke für die Rückmeldung.

Wenn der Code grundsätzlich funktioniert, dann gehe ich davon aus das doch etwas an der Vault nicht stimmt.
Ich suche mal in der Richtung weiter, danke!

Andy

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: NotesIDVault - NotesUserID - Getencryptionkeys()
« Antwort #5 am: 23.10.20 - 08:23:40 »
Bei mir funktioniert Dein Code ebenfalls ( unter 10, 11, 11.01, 11.01FP1 )

wird denn der username ausgegeben aus dem UserId Objekt?
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Tode

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: NotesIDVault - NotesUserID - Getencryptionkeys()
« Antwort #6 am: 23.10.20 - 08:33:16 »
Ich finde den Link nicht, aber ich bin kürzlich über einen Artikel gestolpert, indem es hiess, dass geänderte IDs, bei denen die einzige Änderung die Secret Keys sind, unter Umständen nicht in die ID Vault hochgeladen werden, dass also die ID dort diese Keys einfach nicht enthält... Wenn Du die Keys in Deiner Lokalen ID hast, könntest Du mal versuchen, die ID in der Vault "zwangsupzudaten" (indem Du z.B. Dein Kennwort änderst oder das ID- Dokument in der Vault löschst...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: NotesIDVault - NotesUserID - Getencryptionkeys()
« Antwort #7 am: 23.10.20 - 08:37:36 »
Ich finde den Link nicht, aber ich bin kürzlich über einen Artikel gestolpert, indem es hiess, dass geänderte IDs, bei denen die einzige Änderung die Secret Keys sind, unter Umständen nicht in die ID Vault hochgeladen werden, dass also die ID dort diese Keys einfach nicht enthält... Wenn Du die Keys in Deiner Lokalen ID hast, könntest Du mal versuchen, die ID in der Vault "zwangsupzudaten" (indem Du z.B. Dein Kennwort änderst oder das ID- Dokument in der Vault löschst...

Oder indem Du in den ID Eigenschaften den Button IDVaultSync drückst ...

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?

Schmeiß mal den Debugger an ...


« Letzte Änderung: 23.10.20 - 08:39:39 von eknori »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Andrew Harder

  • Senior Mitglied
  • ****
  • Beiträge: 295
  • Geschlecht: Männlich
Re: NotesIDVault - NotesUserID - Getencryptionkeys()
« Antwort #8 am: 23.10.20 - 08:56:41 »
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.

Code
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.

Zitat
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?
Andy

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: NotesIDVault - NotesUserID - Getencryptionkeys()
« Antwort #9 am: 23.10.20 - 09:07:42 »
Damit ich es richtig verstehe. Das Print "Keys are empty" kommt immer ?
Das deutet dann aber darauf hin, daß gar kein Key in der ID im Vault vorhanden ist.

Öffne einmal deine ID über "Security - UserId" auf dem client, und gucke, was du da unter "NotesData - Documents" findest.
Dann erstelle einen neuen Key. Der sollte normalerweise automatisch mit der Vault syncen, aber ein Klick auf den Button schadet nichts.
Und dann solltest Du im Debugger auch die gefüllte keys variable sehen.
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Andrew Harder

  • Senior Mitglied
  • ****
  • Beiträge: 295
  • Geschlecht: Männlich
Re: NotesIDVault - NotesUserID - Getencryptionkeys()
« Antwort #10 am: 23.10.20 - 09:23:20 »
Habe ich gemacht und der neue Key wird auch einwandfrei angezeigt.
Ich hatte hier also von Anfang an einen Denkfehler und es sind nur zusätzliche Secret Keys enthalten, nicht aber die beiden Standard Keys.
Mein Ansatz mit der Vault war also von Anfang an falsch, ist auch eine Erkenntnis, danke!
Andy

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz