Indy TLS 1.2

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
mkysoft
Kıdemli Üye
Mesajlar: 3087
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Indy TLS 1.2

Mesaj gönderen mkysoft »

Indy bileşenleri openssl dll dosyalarını kullanarak SSL ve TLS bağlantısı sağyayabilmektedir. Ancak ilgili dll'ler farklı uygulamalar tarafından windows'a yüklenebildiğinden, sizin kullanmak istediğiniz dll'ler uygulama ile aynı klasörde olmasına rağmen Indy tarafından dikkate alınmıyor olabilir. Bunun için IdOpenSSLSetLibPath fonksiyonu ile dll konumu gösterilebilir.

Örnek kullanım aşağıdaki gibidir.

Kod: Tümünü seç

var
  idHttp: TIdHTTP;
  idSSLIOHandlerSocketOpenSSL: TIdSSLIOHandlerSocketOpenSSL;
  s: TStream;
begin
  IdOpenSSLSetLibPath(ExtractFilePath(Application.ExeName));
  idSSLIOHandlerSocketOpenSSL := TIdSSLIOHandlerSocketOpenSSL.Create();
  with idSSLIOHandlerSocketOpenSSL do
  begin
    SSLOptions.Method := sslvTLSv1_2;
    SSLOptions.SSLVersions := [sslvTLSv1_2];
    SSLOptions.Mode := sslmUnassigned;
    SSLOptions.VerifyMode := [];
    SSLOptions.VerifyDepth := 2;
  end;
  idHttp := TIdHttp.Create();
  with idHttp do
  begin
    IOHandler := idSSLIOHandlerSocketOpenSSL
  end;
  s := TMemoryStream.Create;
  idHttp.Get('https://www.mkysoft.com', s);
Uses kısmında aşağıdakiler bulunmalıdır:

Kod: Tümünü seç

IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL, IdSSLOpenSSLHeaders
mehmetantalya
Üye
Mesajlar: 189
Kayıt: 30 Eyl 2013 10:17

Re: Indy TLS 1.2

Mesaj gönderen mehmetantalya »

teşekkürler mkysoft
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Indy TLS 1.2

Mesaj gönderen thelvaci »

Faydalı bir bilgi, ellerinize sağlık.
Salih
Üye
Mesajlar: 249
Kayıt: 11 Mar 2004 05:36

Re: Indy TLS 1.2

Mesaj gönderen Salih »

Delphi7 den web servise indy 10 bileşeni ve TLS1.2 ile erişme uğraşılarım devam ediyor...

https://github.com/IndySockets/OpenSSL-Binaries/ adresinden indirdiğim openssl-1.0.2u-i386-win32.zip dosyasındaki
Libeay32.dll ve sslea732.dll dosyalarını, exe dosyası ile aynı dizine kaydettim.

mkysoft hocamın yukarıda verdiği kodun tamamını kopyalayıp programıma yapıştırdım,

"idHttp.Get('https://www.mkysoft.com', s);" satırı çalıştığında

Project deneme.exe raised exception class EIdHTTPProtocolException with message 'HTTP/1.1 403 Forbidden'.

mesajını aldım. Bu mesajı araştırdığımda ise :

"The fact that you are even getting an HTTP 403 error at all means the SSL portion is working fine, since HTTPS is encrypted and you are able to see a decrypted response."

Buradan, kurduğum Indy10 bileşenleri openssl dll dosyalarını kullanarak SSL ve TLS bağlantısı sağlayabilmektedir sonucuna varıyoruz diye anlıyorum. Doğru anlıyorum umarım ?

Selamlar, saygılar.
Sevgi, Saygı.....
mkysoft
Kıdemli Üye
Mesajlar: 3087
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Indy TLS 1.2

Mesaj gönderen mkysoft »

403 hatasi aldiysaniz baglantiniz basarilidir.
Salih
Üye
Mesajlar: 249
Kayıt: 11 Mar 2004 05:36

Re: Indy TLS 1.2

Mesaj gönderen Salih »

mkysoft yazdı: 05 May 2022 11:44 403 hatasi aldiysaniz baglantiniz basarilidir.
Teşekkürler hocam, bağlantı başarılı ama ben web servisten istediğim veriyi alamadım henüz. :)
Sevgi, Saygı.....
Cevapla