JGSS GSSName.NT_HOSTBASED_SERVICE не работает для таблицы ключей службы Kerberos
Я тестирую образец JGSS в своем локальном домене, но у меня проблема с хост-сервисом. Ниже приведена настройка:
получить ключевую таблицу, сгенерированную из команды
ktpass -princ myservice/host.my.example.com@MY.EXAMPLE.COM -mapuser krbsrv@my.example.com -crypto RC4-HMAC-NT -ptype KRB5_NT_PRINCILAL -pass krbpass -out myservice-host.keytab
запуск системного администратора
setspn -S myservice/host.my.example.com krbsrv
установить SPN для активной директории.из GssClient.java создайте основной сервер:
GSSName serverName = manager.createName(serverPrinc, GSSName.NT_HOSTBASED_SERVICE);
это приведет к
java.security.PrivilegedActionException: GSSException: No valid credentials provided (Mechanism level: Server not found in Kerberos database (7))
исключение.но если я позвоню
createName()
сGSSName.NT_USER_NAME
не будет ошибки.Я спросил системного администратора и подтвердил отсутствие дубликата для
setspn -L krbsrv
а такжеsetspln-X myservice/host.my.example.com
,
Так что, было бы что-то, что я испортил? Сервер работает на Solaris, а клиент работает на Windows, оба на Java 6u27.
Совет очень ценится.