Я уже знаю, что есть пара подобных вопросов, но в ответах есть образец, согласно которому в ответах предполагается, что эта проверка выполняется в Linux или аналогичной системе. Это означает, что они ссылаются на ssh-keygen как на решение. Это не жизнеспособно в этом случае.
Разрабатываемая мной клиентская программа должна принять ссылку на файл закрытого ключа и затем запросить у пользователя пароль, если он необходим. Эта программа написана на C # под Windows 10. Язык и ОС не являются обязательными. Для аутентификации SSH используется библиотека Renci.SSH (также не является обязательной). Все, что я могу сделать, это передать текстовый файл и проанализировать его.
Другие ответы (и пример, который я только что создал с PuTTY Gen) предполагают, что файл будет содержать в заголовке следующее:
Proc-Type: 4, зашифрованный
Но дальнейшее чтение предполагает, что это не надежный тест. Вот где я читаю:
Как проверить, есть ли у секретного ключа SSH пароль или нет?
В моем контексте использования ответ Jakuje (ssh-keygen -yf) не является приемлемым решением.
Очевидно, что мне нужен фактический алгоритм, используемый ssh-keygen с параметром -yf. Кто-нибудь знает, где я могу найти это? Или может представить это здесь способом, независимым от языка программирования?