Поддержка CURL SFTP с Windows SChannel?

Я работаю над уменьшением размера исполняемого файла, и большая экономия заключалась в замене OpenSSL/Libssh для curl стандартным для Windows SChannel (DLL на всех окна машины)

Это работает правильно и имеет поддержку SSL для некоторых вещей, но curl не может выполнять SFTP с SChannel (если я не неправильно настроил). Я попытался добавить обратно LibSSH в curl для обработки SFTP, но это зависит от OpenSSL.

Есть ли способ использовать curl/Schannel при сохранении функциональности SFTP?


Заключение

Закончилось созданием curl с помощью LibSSH2, который может использовать Windows DLL вместо OpenSSL, что вообще устраняет необходимость в OpenSSL.


person Prodigle    schedule 10.06.2019    source источник
comment
Вы можете заставить curl использовать libssh2 для SFTP, а саму libssh2 можно заставить использовать wincrypt для криптографии (я полагаю) вместо OpenSSL...   -  person Daniel Stenberg    schedule 10.06.2019
comment
@DanielStenberg Спасибо!   -  person Prodigle    schedule 10.06.2019


Ответы (1)


LibSSH использует OpenSSL. LibSSH необходим для функциональности SSH, которая сама по себе необходима для функциональности SFTP. SChannel не предоставляет функции SSH, а LibSSH не может использовать SChannel. Другими словами: невозможно избавиться ни от одного из них, если вы хотите иметь функциональность SFTP.

person Steffen Ullrich    schedule 10.06.2019
comment
Это то, о чем я думал. Так что, если требуется SSH, то действительно нет причин создавать Curl с чем-то другим, кроме OpenSSL? Я знаю Кура; есть и другие альтернативные библиотеки, но я предполагаю, что здесь LibSSH будет работать только с OpenSSL. - person Prodigle; 10.06.2019
comment
@Prodigle: как я уже сказал, LibSSH требует OpenSSL. См. также INSTALL в исходном коде libssh. - person Steffen Ullrich; 10.06.2019