К сожалению, для Indy 9 требуются DLL для OpenSSL для SSL/TLS, и даже тогда требуется нестандартных версий версий DLL. Эти DLL доступны на Indy's Fulgan mirror в папке /SSL/Archive
.
Для использования HTTPS в TIdHTTP
в Indy 9, просто назначить TIdSSLIOHandlerSocket
компонент Инди к TIdHTTP.IOHandler
собственности, а затем развернуть пользовательские OpenSSL библиотеки DLL с приложением. Но учтите, что библиотеки DLL очень старые (как и Indy 9 в целом), поэтому вы не сможете использовать современные протоколы безопасности за пределами TLS 1.0.
Indy 10, с другой стороны, не требует OpenSSL конкретно. OpenSSL - это Indys's по умолчанию SSL/TLS, но вы можете подключить еще один движок SSL/TLS, написав/получив для него компонент оболочки 10. Некоторые сторонние SSL/TLS-двигатели предоставляют такой SSLIOHandler
, например Eldos SecureBlackbox, и могут существовать и другие сторонние SSLIOHandler
реализации.
В теории, Indy 10 поддерживает версию Delphi обратно 5 (хотя более старые версии не регулярно проверять), так что вы должны быть в состоянии обновить Delphi 7 приложения использовать Indy 10.
Для использования HTTPS в TIdHTTP
в Indy 10, просто назначьте TIdSSLIOHandlerSocketBase
-определенный компонент в свойство TIdHTTP.IOHandler
, а затем разверните DLL (если есть) с вашим приложением. TIdSSLIOHandlerSocketOpenSSL
компонент
Indy 10 использует стандартные библиотеки DLL OpenSSL, а не пользовательские библиотеки DLL, так что вы можете использовать любой дистрибутив OpenSSL DLL (есть уточненный библиотек DLL, предусмотренный в зеркале Fulgan в папке /SSL
).
Если вы непреклонны избежать библиотеки DLL, и вы не хотите платить много денег за двигатель третьего партия SSL/TLS, вы могли бы по крайней мере написать свой собственный SSLIOHandler
, что обертку от Microsoft SChannel API, который построен - в Windows и не полагается на дистрибутивные библиотеки DLL (ожидается, что реализация на базе SCanel SSLIOHandler
будет включена в будущую версию Indy).