Указание сертификатов для коннекта FTP with SSL

Dimyan
Дата: 14.11.2007 13:05:44
Здравствуйте!
Использую компонент clFTP из Clever Internet Suite для соединения с сервером FTP with SSL
Подскажите пожалуйста, как указать компоненту нужный сертификат для сединения?
Anatoly Podgoretsky
Дата: 14.11.2007 13:50:24
Возможно ты никогда не встретишь в данной конференции второго человека, который использует Clever Internet Suite
Dimyan
Дата: 14.11.2007 14:15:20
На столько редки в использовании эти компоненты?
Вообще я сейчас в поиске компонентов для доступа к FTP с SSL. Если с клевером что то не так, может подскажите альтернативу (не Indy)? Буду оч. признателен!
Dim2000
Дата: 14.11.2007 14:20:14

Dimyan wrote:

> На столько редки в использовании эти компоненты?

Честно говоря, первый раз о них слышу.

Posted via ActualForum NNTP Server 1.4

Anatoly Podgoretsky
Дата: 14.11.2007 14:38:24
Dimyan
На столько редки в использовании эти компоненты?

Я про них ничего не слышал.
Barlone
Дата: 14.11.2007 14:54:18
Dimyan
может подскажите альтернативу (не Indy)?
Может synapse ?
Dimyan
Дата: 15.11.2007 10:43:01
Посмотрел synaps, то же не совсем дошло куда ему чего прописать
есть у меня три файла:
1)
-----BEGIN CERTIFICATE-----
содержимое
-----END CERTIFICATE-----
2)
-----BEGIN CERTIFICATE REQUEST-----
содержимое
-----END CERTIFICATE REQUEST-----
3)
-----BEGIN RSA PRIVATE KEY-----
содержимое
-----END RSA PRIVATE KEY-----

и пароль к этому добру
для коннекта в CuteFTP я указываю в качестве сертификата файл 1, в качестве приват кея файл 3 и вписываю passphrase

А где все это указать в Synaps я что то не допетрил? :(
Альт
Дата: 15.11.2007 11:24:17
мне проверять сейчас совсем не на чем... второй файл REQUEST это запрос на формирование сертификата из п.1... т.е. он был нужен... только чтобы сформировать сертификат с идентифицирующей информацией и связать его с публичным ключем ключевой пары....
Логично предположить, что вам требуется OpenSSL... вот только формат третьего файла меня сильно смущает... а вообще смотрите в сторону... я вообще не уверен, что там реализован sftp, а tls...
но попробовать стоит начать копать в сторону...
TFTPSend (ftpsend.pas)
и двух его свойств Sock и DSock
у которых есть SSL, но оно там реализовано как-то в виде плагинов... по описанию:
Just add your plugin unit to your project uses instead. Each plugin unit have
initialization code what modify this variable.
получается надо подключать
uses ssl_openssl;

ну а у SSL есть:
KeyPassword - это ваша passphrase
PrivateKeyFile - п.1
CertificateFile - п.2

целиком бы тестовые файлы сертификата и приватного ключа привели... можно было бы потыкать... а так... все чем мог... помог
Dimyan
Дата: 15.11.2007 12:15:52
Приложил сертификаты
Dimyan
Дата: 15.11.2007 14:49:14
Посмотрел примеры у synaps попробовал так, но что то ничего не вышло :(
  FTPClient := TFTPSend.Create;
  FTPClient.TargetHost := Host;
  FTPClient.TargetPort := Port;
  FTPClient.UserName := Login;
  FTPClient.Password := Password;
  FTPClient.PassiveMode := true;

  FTPClient.AutoTLS := true;

  FTPClient.Login;

  FTPClient.Sock.Connect(Host,Port);
  FileListBox.Items := FTPClient.FullResult;

  NoDelay:=True;
  setsockopt(FTPClient.Sock.Socket,IPPROTO_TCP,TCP_NODELAY,@NoDelay,SizeOf(NoDelay));

  FTPClient.Sock.SSL.SSLType:=LT_all;
  FTPClient.Sock.SSL.Username:=Login;
  FTPClient.Sock.SSL.Password:=Password;

  FTPClient.Sock.SSL.CertificateFile:='test.crt';
  FTPClient.Sock.SSL.PrivateKeyFile:='test.key';
  FTPClient.Sock.SSL.KeyPassword:='Password';

  FTPClient.Sock.SSLDoConnect;

  
  FTPClient.List('/Usr/ndi/test', false);
  ftplist := TFTPList.Create;
  ftplist := FTPClient.FtpList;
FileListBox.Items:= ftplist.Lines;