Kerberos "Ticket nicht noch gültig" Fehler beim Überprüfen des Service -Tickets auf dem Node.js -Server
Posted: 14 Sep 2025, 21:53
Ich verwende die Kerberos node.js -Bibliothek, um die Kerberos -Service -Tickets zu überprüfen. Mein Setup enthält:
Frage < /H2>
Warum bekomme ich < /p>-2025-09-14 19: 44: 53z
[*] - Sun SEP 14 2025 12:44:53 GMT -0700 (pazifische Tageslichtzeit)
Auf der Linux -Maschine
[*]
new Date().toString() - Sun SEP 14. September 2025 21:44:53 GMT+0200 (mitteleuropäische Sommerzeit)
[/list]
Ich bin kein Kerberos -Experte wie Grawity , aber für mich sieht es so aus.>
- Active Directory Windows Server im Netzwerk. Auf dem Server: < /p>
), da der Linux -Server nicht mit der Domäne verbunden ist. However, comparing system clocks shows nearly identical times:
Code: Select all
Error: Unspecified GSS failure. Minor code may provide more information: Ticket not yet valid < /code> Client-Code (funktioniert gut) < /H2> import Kerberos from "kerberos"; const service = "HTTP/[email protected]"; Kerberos.initializeClient(service, {}, (err, client) => { if (err) throw err; client.step('', (err, token) => { if (err) throw err; console.log(btoa(token)); // Base64-encoded service ticket // Send this ticket to the server }); }); < /code> Servercode (Fehler) < /H2> import Kerberos from "kerberos"; // Point Kerberos to the keytab file process.env.KRB5_KTNAME = "/path/to/http.keytab"; const serviceTokenFromClient = "base64TokenFromClientBeingSendOverHTTP"; const kerberosServer = await Kerberos.initializeServer("[email protected]"); const actualToken = btoa(serviceTokenFromClient); const responseToken = await kerberosServer.step(actualToken); console.log(responseToken); if (kerberosServer.username) { console.log(kerberosServer.username); } < /code> Zusätzlicher Kontext < /H2> SPN wurde unter Verwendung dieser Frage über den Stapelüberlauf eingerichtet und funktioniert < /li> Der Fehler tritt nur auf, wenn das Ticket auf dem Linux -Server in Verbindung steht.w32tm
Linux: Sat Sep 13 05:04:39 PM CEST 2025 - Windows: Saturday, September 13, 2025 5:04:40 PM
Frage < /H2>
Warum bekomme ich < /p>
Code: Select all
Ticket not yet valid
< /code>
Beim Überprüfen des Service -Tickets mit der Kerberos < /code> node.js -Bibliothek und wie kann ich es trotz der Takte, die synchronisiert werden, auflösen? Maschine < /strong> < /p>
[list]
[*][DateTime]::UtcNow.toString("u")
[*]
Code: Select all
new Date().toString()
Auf der Linux -Maschine
[*]
Code: Select all
date -u - Sun Sep 14 07:44:53 PM UTC 2025
[/list]
Ich bin kein Kerberos -Experte wie Grawity , aber für mich sieht es so aus.>