Вы написали статью, в которой говорите, что "команда опытных разработчиков" для компиляции одной программы установила целиком компилятор на целевую систему вместо того, чтобы установить маленький redistributable package. Я вам указал на вашу ошибку. И вместо того, чтобы сказать "да, мы налажали, спасибо за науку" вы пытаетесь как-то оправдываться. Должен сказать, что таким поведением вы ещё сильнее ухудшаете своё положение. Ошибка у вас была очень тривиальной, никакие оправдания тут не помогут. Пытаться как-то указать, что вы якобы больше знаете чем я - ну попытайтесь. Только вот все эти "бодания" бессмысленны - ошибку вы всё-равно уже совершили.
В случае с Linux это ещё можно учитывать (очень большой разброс в реализации используемых библиотек). В случае с Windows всё решается Microsoft Visual C++ Redistributable.
Дело не в конкретной программе (Node.js). Дело в том, что для того, чтобы запускать где-то скомпилированную программу нет необходимости ставить туда и сам компилятор.
Все эти пункты я проверил сейчас сам: всё работает. Единственное что при запуске полученного файла на "голой" Windows 7 SP1 возникла ошибка об отсутствии функции EventSetInformation в ADVAPI32, но всё решилось патчем от Microsoft (https://download.microsoft.com/download/4/E/8/4E864B31-7756-4639-8716-0379F6435016/Windows6.1-KB3080149-x64.msu). На моей машине весь билд занял порядка 10-ти минут. Полностью весь процесс от начала скачивания исходников до залития на Windows 7 занял порядка получаса.
Рад, что понравлось! Однако в статье есть также и код, который позволяет самостоятельно протестировать все нюансы реализации Kerberos на Windows. Рекомендую закрепить новые знания сразу на практике.
А вообще я где-то встречал описание keytab. Может завтра найду ещё раз. А по второму вопросу: в статье я описал, как ищется адрес KDC с помощью DNS. То есть ищется запись типа SRV со стандартным префиксом и суффиксом в виде имени домена.
При U2U в сессии сервиса нет информации об имени пользователя и пароле. Такая ситуация возникает, например, когда сервис аутенцифицируется с использованием PKINIT. При использовании PKINIT сервису нет необходимости знать имя пользователя и его пароль. Вместо этого для шифрования пре-аутентификационных сообщений используется закрытый ключ сертификата. KDC возвращает NTLM хэш в TGT полученном по PKINIT, однако реализация стандартного сервиса Kerberos этот хэш нигде не сохраняет и не использует. Расширение U2U используется не всегда, оно просто предназначено для специального случая когда сервис прошёл аутентификацию без использования имени пользователя и пароля.
Изначально я делал статью на гораздо более простом уровне объяснений. Что-то вроде «Kerberos для бухгалтеров». Но в процессе мне стало так скучно, что я даже был вынужден взять перерыв и заняться другими делами. В конце концов написал как можно более просто и в достаточной мере интересно для себя.
Любой патент просто признаёт, что подобное в данной патентной системе отсутствует (новизна изобретения), а также как-то закрепляет право на это изобретение за заявителем. Корретно ли изобретение для патента маловажно.
Вы написали статью, в которой говорите, что "команда опытных разработчиков" для компиляции одной программы установила целиком компилятор на целевую систему вместо того, чтобы установить маленький redistributable package. Я вам указал на вашу ошибку. И вместо того, чтобы сказать "да, мы налажали, спасибо за науку" вы пытаетесь как-то оправдываться. Должен сказать, что таким поведением вы ещё сильнее ухудшаете своё положение. Ошибка у вас была очень тривиальной, никакие оправдания тут не помогут. Пытаться как-то указать, что вы якобы больше знаете чем я - ну попытайтесь. Только вот все эти "бодания" бессмысленны - ошибку вы всё-равно уже совершили.
Конечно MinGW плевать хотел на Microsoft Visual C++ Redistributable
Я вам про Фому, а вы мне про Ерёму. Я говорю про компилирование C++ программ. А с Go совсем другие танцы.
В случае с Linux это ещё можно учитывать (очень большой разброс в реализации используемых библиотек). В случае с Windows всё решается Microsoft Visual C++ Redistributable.
Дело не в конкретной программе (Node.js). Дело в том, что для того, чтобы запускать где-то скомпилированную программу нет необходимости ставить туда и сам компилятор.
Народ, ну зачем там мучаться с непосредственной установкой старой версии VS на старую же версию винды? Всё же можно сделать гораздо проще:
Скачиваем исходники на машину, где уже стоит Visual Studio 2022;
Меняем там необходимый код;
Билдим прямо на этой же машине (она может быть хоть на Windows Server 2025 - ОС здесь маловажна);
На целевой Windows 7 ставим Microsoft Visual C++ Redistributable (https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170);
Копируем на целевую Windows 7 полученный файлы;
Используем последний Node.js и радуемся;
Все эти пункты я проверил сейчас сам: всё работает. Единственное что при запуске полученного файла на "голой" Windows 7 SP1 возникла ошибка об отсутствии функции EventSetInformation в ADVAPI32, но всё решилось патчем от Microsoft (https://download.microsoft.com/download/4/E/8/4E864B31-7756-4639-8716-0379F6435016/Windows6.1-KB3080149-x64.msu). На моей машине весь билд занял порядка 10-ти минут. Полностью весь процесс от начала скачивания исходников до залития на Windows 7 занял порядка получаса.
https://www.ioplex.com/utilities/keytab.txt - формат keytab
Рад, что понравлось! Однако в статье есть также и код, который позволяет самостоятельно протестировать все нюансы реализации Kerberos на Windows. Рекомендую закрепить новые знания сразу на практике.
Такие нюансы надо смотреть непосредственно в коде клиента Kerberos на вашей ОС. Если уж разговор про krb5.conf, то это *nix. А там вроде всё открытое.
А вообще я где-то встречал описание keytab. Может завтра найду ещё раз. А по второму вопросу: в статье я описал, как ищется адрес KDC с помощью DNS. То есть ищется запись типа SRV со стандартным префиксом и суффиксом в виде имени домена.
Я ведь не полный функционал klist реализовал, только в части показа текущих билетов.
Так вы код мой поглядите, там всё есть. Разбора keytab там нет, есть разбор билетов, которые есть в текущей сессии.
Предлагаю вам самостоятельно поискать скажем в Google. К моей статье эти вопросы не имеют отношения.
При U2U в сессии сервиса нет информации об имени пользователя и пароле. Такая ситуация возникает, например, когда сервис аутенцифицируется с использованием PKINIT. При использовании PKINIT сервису нет необходимости знать имя пользователя и его пароль. Вместо этого для шифрования пре-аутентификационных сообщений используется закрытый ключ сертификата. KDC возвращает NTLM хэш в TGT полученном по PKINIT, однако реализация стандартного сервиса Kerberos этот хэш нигде не сохраняет и не использует. Расширение U2U используется не всегда, оно просто предназначено для специального случая когда сервис прошёл аутентификацию без использования имени пользователя и пароля.
Изначально я делал статью на гораздо более простом уровне объяснений. Что-то вроде «Kerberos для бухгалтеров». Но в процессе мне стало так скучно, что я даже был вынужден взять перерыв и заняться другими делами. В конце концов написал как можно более просто и в достаточной мере интересно для себя.
Ключевая информация об этом находится прямо в первом предложении статьи: "в сентябре 2021 года..."
В настоящий момент и лично у меня скачать ничего невозможно, только online.
У вас ошибка: "концепция shit left". Улыбнулся, спасибо.
LOL. Я вообще-то у вас просто ответы спрашивал. Сотрудничество? Об этом речи нет.
Любой патент просто признаёт, что подобное в данной патентной системе отсутствует (новизна изобретения), а также как-то закрепляет право на это изобретение за заявителем. Корретно ли изобретение для патента маловажно.