![]() |
|
Delphi SLL kullanım sorunu - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6) +--- Konu Başlığı: Delphi SLL kullanım sorunu (/showthread.php?tid=8210) Sayfalar:
1
2
|
Delphi SLL kullanım sorunu - Bay_Y - 04-11-2025 Merhabalar ; Delphi 10.2 sürümünü kullanıyorum Bu sürümde bulabildiğim SLL sürümü OpenSLL v1.0.2u dosya isimleri : libeay32.dll , ssleay32.dll daha yeni sürümlerini https://slproweb.com/download/Win32OpenSSL-1_1_1w.exe burada buldum fakat dosya isimleri farklı olduğu için sanırım görmüyor. Ne yaptıysam SSL sürümünü göremedim zaten diğer dosyaları silersem ssl bulunamadı veriyor, SSL sürümünü istediğimde de diğer eski olan dosya sürümleri geliyor. Postman ile standart delphini WebHook sistemine bir post gönderdiğimde HTTP olursa sorun yok HTTPS olan post işlemlerinde eğer Authorization eklersem mesela token barear işte bu soruna neden oluyor hiçbir şekilde sisteme hata düşmüyor , yaptığım araştırmalarda SSL ile ilgili olabileiceğini düşündüm ama ne yaptıysam bir çözüme de ulaşamadım. Sizden ricam ssl dosyalarını https://indy.fulgan.com/SSL/ buradan indiriyorum ama burada yeni sürümler yok , diğer tarafdan indirdiğim sürümleri de tanıtamıyorum. Bu konuda bilgisi olan arkadaşlardan yardım rica ediyorum. Cvp: Delphi SLL kullanım sorunu - csunguray - 04-11-2025 (04-11-2025, Saat: 17:35)Bay_Y Adlı Kullanıcıdan Alıntı: Merhabalar ; Delphi exe'niz 32 bit ise 32 bit DLL leri kullanmanız gerekir. Buna dikkat ediyor musunuz? Cvp: Delphi SLL kullanım sorunu - Bay_Y - 06-11-2025 (04-11-2025, Saat: 21:06)csunguray Adlı Kullanıcıdan Alıntı:(04-11-2025, Saat: 17:35)Bay_Y Adlı Kullanıcıdan Alıntı: Merhabalar ; Cevap İçin teşekkürler. Evet 32 bit dll ve 64 bit dll her ikisini de denedim lisansım 10.2 ve 10.3 ü desteklediğinden 10.3 de 64 bit i de denemiş bulundum. Ama sanırım farklı bir sorun var. Henüz ne olduğunu anlayamadım.Eski dll ler çalışıyor fakat daha yeni sürümleri görmüyor daha doğrusu gösteremedim. Delphi SLL kullanım sorunu - yhackup - 12-11-2025 3. rd entegrasyonlarla ilgileniyorsanız delphinin ücretiz komponentleri ile pek yol alamazsnız. 10.2 de varmıydı bilmiyorum eğer var ise RestDebuger kullanabilirsin. veya hiç uğraşma Clever komponentleri al kullan. https://www.clevercomponents.com/products/inetsuite/index.asp?utm_source=homepage&utm_medium=website&utm_campaign=nav_from_homepage Delphi SLL kullanım sorunu - mrmarman - 12-11-2025 Delphi lisansım 10.3 ve 10.4.2 upgrade haliyle var. Indy kullanmayı uzun süredir bıraktım Nethttpclient kullanıyorum ki bu da Delphi native bileşeni. Konuya dönersek, temin ettiğiniz dll'lerin çalışmama sebebi dll uyumsuzluğu değil de bağlantı kurmak istediğiniz site/adresin tls / ssl sürümü gerkliliğini karşılayacak IOHandler ayarları hatalı olması mümkün mü? diye düşünüyorum. Bir diğer ihtimal ise (hani dll dosya değişse de eski sürümü görüyor dediğiniz için sorucam) kodlarınız içinde dll path seçimi yapmış ve bu path dosya exe konumu değil de başka bir yere bakıyorsa... Size önerim boş bir proje kurun ve bu projede basit https:// kaynaklı bir dosya linkini indiren kod yazın. Orada bu dosyaya erişim yapabildiğiniz ssl DLL'leri hangisi ise size uyumlu olan odur. Bu sayede siteye özgü sll ayar gereksinimi ihtimalini bertaraf ederek test etmiş olursunuz. Boş projede kullandığınız kodu da -eğer başarısız olduysa- burada serbestçe paylaşırsınız biz de size yere basan cevaplar verecek test edilmiş çözümler ile döneriz yardımcı oluruz. Başarılar. Delphi SLL kullanım sorunu - mrmarman - 12-11-2025 Dilersen aşağıdaki örnek kodu test için kullanmak isteyebilirsin. Boş bir VLC proje açıp, forma bir tane button bir tane de TImage resim nesnesi ekle. Uses IdHttp, IdSSLOpenSSL, IdSSLOpenSSLHeaders, Vcl.Imaging.pngimage; function IdHttpSSLDownload(aBitmap: TBitmap): boolean; Const LCaptchaURL = 'https://gss.sgk.gov.tr/Optik_Firma2_Web/CaptchaServlet'; var LIdHttp : TIdHttp; LIdSSLIOHandlerSocket : TIdSSLIOHandlerSocketOpenSSL; LMS : TMemoryStream; LCaptchaImage : TPNGImage; LSSLPath : string; LSSLLibFile : string; begin result := false; // Bu örnekte SLL DLL Path EXE klasörüdür LSSLPath := ExtractFilePath(ParamStr(0)); LSSLLibFile := LSSLPath + PathDelim + 'ssleay32.dll'; if NOT FileExists( LSSLLibFile ) then begin Showmessage( 'ssleay32.dll dosyası eksik...' + sLineBreak + LSSLLibFile); exit; end; //Dilediğiniz başka bir klasörü SSL DLL path olarak bu şekilde belirtebilirsiniz. IdOpenSSLSetLibPath( LSSLPath ); LCaptchaImage := TPngImage.Create; LIdHttp := TIdHttp.Create(nil); LIdSSLIOHandlerSocket := TIdSSLIOHandlerSocketOpenSSL.create(nil); LMS := TMemoryStream.Create; try with LIdSSLIOHandlerSocket as TIdSSLIOHandlerSocketOpenSSL do begin PassThrough := True; SSLOptions.Method := sslvSSLv23; SSLOptions.SSLVersions := [sslvTLSv1_2, sslvTLSv1_1, sslvTLSv1]; end; LIdHttp.IOHandler := LIdSSLIOHandlerSocket; LIdHttp.HandleRedirects := true; LIdHttp.Request.UserAgent := 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36'; try LIdHttp.Get( LCaptchaURL, nil ); // cookies oluşsun diye boş çağrı.. LIdHttp.Get( LCaptchaURL, LMS ); // asıl download çağrısı except on e:Exception do begin Showmessage( 'HATA : '+ e.Message ); exit; end; end; LMS.Position := 0; LCaptchaImage.LoadFromStream( LMS ); // Web'den Captcha Image geldi.. aBitmap.Assign(LCaptchaImage); result := true; finally LCaptchaImage.Free; LIdHttp.Free; LIdSSLIOHandlerSocket.Free; LMS.Free; end; end; kullanımı
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if IdHttpSSLDownload( Image1.Picture.Bitmap )
then
showmessage('OK')
else
showmessage('FAIL');
end;
Delphi SLL kullanım sorunu - Bay_Y - 11-12-2025 Yorumlar için öncelikle çok teşekkür ediyorum. Sanırım sorunum indy TLS sürüm desteğinin olmaması birçok deneme yaptım ve sanırım TLS 1.3 gerekiyor ama Indy ve Delphi 10.2 veya 10.3 de en fazla TLS 1.2 destekleniyor. Uzun bir süre bakamamıştım ama tekrar bakıp net bir bilgi ile dönmeye çalışacağım. Tekrar teşekkürler. Cvp: Delphi SLL kullanım sorunu - cinarbil - 13-12-2025 (04-11-2025, Saat: 17:35)Bay_Y Adlı Kullanıcıdan Alıntı: Merhabalar ; Hemen hemen aynı sorunla çok uzun zaman uğraşmıştım. önce dll dosyalardan zannetmiştim ama benim sorunun dll dosyaları program exe nin olduğu klasörde dll adlı klasörde tutmamdan kaynaklı çıktı. Indy default olarak önce exe nin olduğu klasöre sonra windows\system klasörüne bakıyor dll klasöründeki dosyalar doğru olsa bile " could not load SSL library " hatası veriyordu çok emek harcamıştım sonuç olarak ekte gönderdiğim dll dosyaları exe nin olduğu klasöre koy kontrol et windows\system veya path ta tanımlı bir yerde başka yerde ssleay32.dll ve libeay32.dll varsa sil. delphi 10.2 ve delphi 12.3 de denenmiştir sorunsuz çalışmakta. kendi sectiğin bir klasörde olacak ise Formun oncreate bölüme SetDllDirectory(PChar(ExtractFilePath(ParamStr(0)) + 'dll')); ekle "dll" yazan yere kendi klasör adını yaz. önemli benim ekledim dll dosyalar sadece 32 bit bilginiz olsun ihtiyacın olursa @mrmarman beyin yardımları ile hazırladığım mail gönderme fonksiyonunu paylaşabilir. Cvp: Delphi SLL kullanım sorunu - Bay_Y - 15-12-2025 (13-12-2025, Saat: 16:35)cinarbil Adlı Kullanıcıdan Alıntı:(04-11-2025, Saat: 17:35)Bay_Y Adlı Kullanıcıdan Alıntı: Merhabalar ; Merhabalar ; Öncelikle cevabınız için çok teşekkür ediyorum. Gönderdiğiniz dll dosyaları TLS 1.3 desteğine mi sahip doğru mu ? Benim yapmak istediğim mail gönderme değil aslında Yemek sepetinin yeni WebServer uygulamasında gönderdiği authorization doğrulaması ile ilgili sorun yaşıyorum. Gönderdiği JSon verisi authorization dan dolayı diye düşünüyorum bana hiç ulaşmıyor. Gönderdiğiniz DLL dosyaları ile de deneyceğim. Tekrar teşekkürler. Cvp: Delphi SLL kullanım sorunu - RAD Coder - 15-12-2025 (15-12-2025, Saat: 11:12)Bay_Y Adlı Kullanıcıdan Alıntı:(13-12-2025, Saat: 16:35)cinarbil Adlı Kullanıcıdan Alıntı: Hemen hemen aynı sorunla çok uzun zaman uğraşmıştım. önce dll dosyalardan zannetmiştim ama benim sorunun dll dosyaları program exe nin olduğu klasörde dll adlı klasörde tutmamdan kaynaklı çıktı. Indy default olarak önce exe nin olduğu klasöre sonra windows\system klasörüne bakıyor dll klasöründeki dosyalar doğru olsa bile " could not load SSL library " hatası veriyordu çok emek harcamıştım sonuç olarak ekte gönderdiğim dll dosyaları exe nin olduğu klasöre koy kontrol et windows\system veya path ta tanımlı bir yerde başka yerde ssleay32.dll ve libeay32.dll varsa sil. delphi 10.2 ve delphi 12.3 de denenmiştir sorunsuz çalışmakta. kendi sectiğin bir klasörde olacak ise Formun oncreate bölüme SetDllDirectory(PChar(ExtractFilePath(ParamStr(0)) + 'dll')); ekle "dll" yazan yere kendi klasör adını yaz. Konu dışı olacak ama kusura bakmayın; Yemek sepeti bu sektörde SOAP ta kalan tek markaydı. REST'e geçti mi? |