Как создать файл keytab для SPN сервера SQL и использовать его в моем приложении Java?
У меня есть некоторые сомнения относительно генерации файла keytab для аутентификации Kerberos на SQL-сервере.
SPN сервера SQL:
MSSQLSvc / MyHost:[email protected]
Я создал файл keytab как:
ktpass -out "C: \ Users \ myuser \ KerberosConf \ MSSQL \ myappserver.keytab" -princ MSSQLSvc/myhost:[email protected] -mapUser mydomain \ myuser-pass Test @ 123 -crypto AES256-SHA1 -pTYP KRB__NT
При просмотре таблицы ключей отображается правильное имя участника-службы в виде:
[1] Участник службы: MSSQLSvc/myhost:[email protected] KVNO: 18
Но при обращении к файлу keytab для аутентификации он выдает следующую ошибку:
Отладка верна storeKey true useTicketCache false useKeyTab true doNotPrompt true ticketCache равен null isInitiator true KeyTab - это C:/Users/myuser/KerberosConf/MSSQL/myappserver.keytab refreshKrb5Config - ложный принципал - это MSSQLSvc / myhost: 1433.INFF.PF значение false storePass - значение false clearPass - значение false Ключ для основного MSSQLSvc/myhost:[email protected] недоступен в C: /Users/myuser/KerberosConf/MSSQL/myappserver.keytab
Ошибка аутентификации [Krb5LoginModule] Не удалось получить пароль от пользователя
javax.security.auth.login.LoginException: не удалось получить пароль от пользователя на com.sun.security.auth.module.Krb5LoginModule.promptForPass(неизвестный источник) на com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(неизвестно) Источник) в com.sun.security.auth.module.Krb5LoginModule.login (Неизвестный источник) в sun.reflect.NativeMethodAccessorImpl.invoke0(собственный метод)
Пожалуйста, помогите мне решить эту проблему