Sanal POS Entegrasyonu Hakkında
0

Bu konuda 15 mesaj var

Selam arkadaşlar;

 

Hiç içine girmediğim bir konuda buldum kendimi, uğraşlarım sonucu bir sonuç alamadığım için sizden desteğinizi rica ediyorum.

 

Şimdi web sitemize https ile giriyoruz, C# .NET 4.0 kullanıyoruz. Gerekli IP izinleri vs. bankaya verildi (TEB).

 

Şöyle bir kaynak kodumuz var banka ile iletişime geçmek için (kendi gönderdikleri dll ile bağlanıyoruz):

        string TahsilatInc = "";

        ePayment.cc5payment payment = new ePayment.cc5payment();
        payment.host = "https://sanalpos.teb.com.tr/fim/api";
        payment.name = "API_KULLANICI_ADI";
        payment.password = "API_SIFRE";
        payment.clientid = "MUSTERI_KODU";
        Random rd = new Random();
        payment.oid = "kozlusan_" + Guid.NewGuid().ToString() + "_" + TahsilatInc;
        payment.cardnumber = kartNo;
        payment.expmonth = ayKod;
        payment.expyear = yilKod;
        payment.cv2 = cvv;
        payment.subtotal = string.Format("{0:0.00}", tutar);
        payment.currency = "949";
        payment.chargetype = "PreAuth";
        if(taksit !="1")
        {
            payment.taksit = taksit;
        }

        string processorder = payment.processorder();

Yalnız ne yaparsak yapalım

 

 

  1. ExceptionType:"System.NotSupportedException"
  2. Message:"İstenen güvenlik protokolü desteklenmiyor."
  3. StackTrace:" konum: System.Net.ServicePointManager.set_SecurityProtocol(SecurityProtocolType value) ↵ konum: ePayment.cc5payment.processorder() ↵ konum:
  4. ASP.modules_odeme_odemekredikart_aspx.odemeYap(String kartNo, String ayKod, String yilKod, String cvv, String tutar, String taksit, Int32 userID, String cariKodu)"

 

Hatasını alıyoruz.

TEB Sanal Pos' larda asseco diye bir firma ile çalışıyor. Bu firma ile mailleşmelerimiz sonucu en son şu maili attılar:

 

 

Merhaba,

 

SSL protokolünüz nedir?

Şuan prod ortamlarımızda TLS 1.0 desteği bulunmaktadır fakat yakın zamanda TLS 1.1 ve 1.2 desteği verilecektir.

 

Bilginize,

İyi çalışmalar

 

Yukarıdaki kaynak koda belki işe yarar diye şu satırı ekledim ama hiçbir işe yaramadı haliyle:

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls | System.Net.SecurityProtocolType.Ssl3;

Olmadı

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls

Yine olmadı

Nedir ne değildir bilgisi olan arkadaşlar yardımcı olabilirse çok sevinirim.

 

Ayrıca bizim HTTPS lisansının bilgileri de şu:

 

vRoMXi2.jpg

Bu mesajı paylaş


Bu mesajın linki
Sosyal ağlarda paylaş

Merhaba, bağlanmaya çalıştığınız https site tls1.2 çalışıyor.

(Bunu doğrudan Chrome ile bağlanıp, adres çubuğundan güvenlik detaylarına girerek görebilirsin)

 

Anladığım kadarıyla da net4.0 standart olarak tls1.2 desteklemiyor. Şöyle bir açıklama yapılmış. Bunu deneyebilirsiniz.

 

 

.NET 4.0

.NET 4.0 does not enable TLS 1.2 by default. To enable TLS 1.2 by default, it is possible to set the SchUseStrongCrypto DWORD value in the following two registry keys to 1, creating them if they don’t exist: “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319” and “HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319”. Those registry keys, however, will enable TLS 1.2 by default in all installed .NET 4.0, 4.5, 4.5.1, and 4.5.2 applications on that system. We recommend testing this change before deploying it to your production servers. This is also available as a registry import file. These registry values, however, will not affect .NET applications that set the System.Net.ServicePointManager.SecurityProtocol value.

Bu mesajı paylaş


Bu mesajın linki
Sosyal ağlarda paylaş

.NET 4.0 kullanıyorsanız TLS 1.2 default olarak yoktur sizin eklemeniz gerek. Bunun için aşağıdaki komutları PowerShell'de yönetici olarak çalıştırınız ve makinayı restart edin.

new-itemproperty -path "HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319" -name "SchUseStrongCrypto" -value 1 -PropertyType "DWord"
new-itemproperty -path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319" -name "SchUseStrongCrypto" -value 1 -PropertyType "DWord"

Bu mesajı paylaş


Bu mesajın linki
Sosyal ağlarda paylaş

Yani bağlantı kurmaya çalıştığımız adres TLS 1.2 ile çalışıyorsa bizim de TLS 1.2 ile bağlan dememiz gerekiyor, mantıklı. :)

 

Denemeleri yapıp bilgi döneceğim, çok teşekkür ederim.

Bu mesajı paylaş


Bu mesajın linki
Sosyal ağlarda paylaş

Tekrardan selamlar;

 

Şurada yazana göre: http://joymonscode.blogspot.com.tr/2015/08/how-to-make-net-40-45-use-tls-12.html

 

Yukarıdaki registry girdilerini çalışırabilmek için, serverda .net 4.5' ın kurulu olması gerekiyormuş. Sadece koddan değişiklik işe yaramıyormuş.

 

Bizim hosting sunucusu da Windows Server 2003 olduğu için, son .NET desteklenen sürüm 4.0.

 

Değişiklikleri yine de yaptım ama servera gün sonunda reset atabilirim.

 

Bunun dışında;

 

Asseco' ya konu hakkında mail attım, eğer TSL 1 ile bağlantı kurabileceğimiz bir adres gönderebilirler ise sorun ortadan kalkacak gibi. Eğer öyle bir bağlantı adresi yok ise ve resetten sonra da aynı hatayı alırsak, muhtemelen projeyi en temiz haliyle .net 4.5' a çekip, uygulamayı başka bir web hostinge taşımamız gerekecek.

Bu mesajı paylaş


Bu mesajın linki
Sosyal ağlarda paylaş

Öyle bir adres yok göndermezler. Güvenlik dolayısı ile kapatıldı TLS 1.0. Sunucunuzu güncellemeniz gerekiyor Windows Server 2003'te TLS 1.2 desteği yok. Windows Server 2008 R2 ve üstü olması gerekiyor.

Bu mesajı paylaş


Bu mesajın linki
Sosyal ağlarda paylaş

Tamam da adamlardan gelen mailde "biz TLS1.0 sunuyoruz, henüz 1.2 yok" dememişler mi? 

Adamlar kendi ürünlerini bilmiyor olabilir mi?

SSL sertifika detayında da TLS1.0 diyor. Biz neden bu tarafa 1.2 desteği kazandırmaya çalışıyoruz?

Bu mesajı paylaş


Bu mesajın linki
Sosyal ağlarda paylaş

Selamlar;

 

Şöyle bir soru sormuştum:

 

 

İyi günler xxxhanım;

 

SSL protokülümüz TSL 1.0.

 

Yalnız bağlanmaya çalıştığımız adres (https://sanalpos.teb.com.tr/fim/api) TSL 1.2

 

Hatayı bu yüzden alıyor olma ihtimalimiz var mı acaba?

Eğer öyle ise 3d secure olmadan TSL1 ile bağlantı kuracağımız bir adres var mıdır?

 

Kaynak kodumuzu göndermiştik, tekrar göndereyim yardımcı olacak ise:

 

        ePayment.cc5payment payment = new ePayment.cc5payment();

        payment.host = "https://sanalpos.teb.com.tr/fim/api";

        payment.name = "API_USER_NAME";

        payment.password = "API_PASSWORD";

        payment.clientid = "MUSTERI_KODU";

        payment.oid = Guid.NewGuid().ToString();

        payment.cardnumber = kartNo;

        payment.expmonth = ayKod;

        payment.expyear = yilKod;

        payment.cv2 = cvv;

        payment.subtotal = string.Format("{0:0.00}", tutar);

        payment.currency = "949";

        payment.chargetype = "PreAuth";

        if(taksit !="1")

        {

            payment.taksit = taksit;

        }

 

        string processorder = payment.processorder();

 

 

Şöyle bir cevap aldım:

 

 

Merhaba,

 

TLS1.0 sadece test ortamlarımızda kapatılmış olup prod ortamda ise yakın zamanda kapatılacaktır.

SSLv3 ile mi istek göndermektesiniz?

 

İyi çalışmalar

 

Burda şunu anlamıyorum.

 

Dediklerine göre hala TLS1.0' ı destekliyorlar (Yakında kaldıracaklarmış). Ama bağlanmaya çalıştığımız adres TLS1.2 ile çalışıyor.

 

TLS1.2 olan bir yere TLS1.0 ile bağlanamıyorsam, Asseco tarafında görüştüğüm kişilerin bilgi eksikliğinden dolayı mı bana net bilgi veremiyorlar, yoksa TLS1.2 olan bir yere TLS1.0 ile bağlanabiliniyor mu?

Bu mesajı paylaş


Bu mesajın linki
Sosyal ağlarda paylaş

Tamam da adamlardan gelen mailde "biz TLS1.0 sunuyoruz, henüz 1.2 yok" dememişler mi? 

Adamlar kendi ürünlerini bilmiyor olabilir mi?

SSL sertifika detayında da TLS1.0 diyor. Biz neden bu tarafa 1.2 desteği kazandırmaya çalışıyoruz?

 

Bizdeki TSL 1.0, bağlanmaya çalıştığımız https://sanalpos.teb.com.tr/fim/api adresi TSL 1.2.

Bu mesajı paylaş


Bu mesajın linki
Sosyal ağlarda paylaş

Test ortamında TLS1.0 'ı kapattıklarını biliyorum. Production ortamını hatırlamıyorum ancak productionda şuan TLS1.0 açık olsa dahi yakın zamanda kapatılacaktır.

Bu mesajı paylaş


Bu mesajın linki
Sosyal ağlarda paylaş

Test ortamında TLS1.0 'ı kapattıklarını biliyorum. Production ortamını hatırlamıyorum ancak productionda şuan TLS1.0 açık olsa dahi yakın zamanda kapatılacaktır.

 

Tamam işte benim merak ettiğim şey şu:

 

https://sanalpos.teb.com.tr/fim/api adresine, SSL protokolü TSL 1.2 olmasına rağmen, ben TSL 1.0 ile bağlantı kurabiliyor muyum?

 

Evet ya da hayıra göre yol alacağız. :)

Bu mesajı paylaş


Bu mesajın linki
Sosyal ağlarda paylaş

O ilk maili atan destek elemanıysa çorba etmiştir. Geç bile kalmışlar TLS1.0' ı kapatmak için...Framework 4.5' a geçin rahat edin en temizi...

Bu mesajı paylaş


Bu mesajın linki
Sosyal ağlarda paylaş

Şu cevabı aldım deyince öyle sandım ben.

 

 

Merhaba,

 

SSL protokolünüz nedir?

Şuan prod ortamlarımızda TLS 1.0 desteği bulunmaktadır fakat yakın zamanda TLS 1.1 ve 1.2 desteği verilecektir.

 

Bilginize,

İyi çalışmalar

 

 

 

Minimum cipher olarak TLS1.2 belirlemişlerse bağlanamazsın 1.0 ile.

Bu mesajı paylaş


Bu mesajın linki
Sosyal ağlarda paylaş

Verdiğim PowerShell komutları ile(registry'e kayıt girerek) .NET4.0 olsada kullanabilirsiniz(biz .NET4.0 kullanıyoruz) ancak Windows Server 2008 r2 ve üstü olması gerkiyor. Eğer bağlanmaya çalıştığınız yer TLS1.0 'ı kapatmış TLS1.1 ve TLS1.2'den erişim izni veriyorsa TLS1.0 ile bağlanamazsınız.

Bu mesajı paylaş


Bu mesajın linki
Sosyal ağlarda paylaş

Verdiğim PowerShell komutları ile(registry'e kayıt girerek) .NET4.0 olsada kullanabilirsiniz(biz .NET4.0 kullanıyoruz) ancak Windows Server 2008 r2 ve üstü olması gerkiyor. Eğer bağlanmaya çalıştığınız yer TLS1.0 'ı kapatmış TLS1.1 ve TLS1.2'den erişim izni veriyorsa TLS1.0 ile bağlanamazsınız.

 

Selam hocam;

 

O kodlar ile .NET 4.0' da kullanılıyor diyorlar ama serverda .NET 4.5' un kurulu olması gerektiğini söylüyorlar.

Bu mesajı paylaş


Bu mesajın linki
Sosyal ağlarda paylaş

Yorum yazmak için üye olun veya giriş yapın

Yorum yazmak için üye olmanız lazım

Üye ol

Üye olun ve sitemizin tüm avantajlarından yararlanın!


Yeni bir hesap oluştur

Giriş yap

Zaten üyemiz misin? O halde giriş yap


Hemen giriş yap
0

  • Bu sayfadaki üyeler   0 üye

    Şu an bu sayfayı görüntüleyen bir üye yok