WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Swish TLS certificate och .Net / C# kod (https://www.wn.se/forum/showthread.php?t=1066196)

x264 2016-01-22 11:19

Citat:

Ursprungligen postat av RickardP (Inlägg 20515485)
Han skrev till mig och jag svarade därav liten konversation privat.

Tror Nerix försöker säga att det är bättre ni tar det här så kan andra eventuellt i framtiden få hjälp om de fastnar vid samma ställe :)

RickardP 2016-01-22 14:51

Nu har jag kommit så långt att jag inte får error tillbaka utan får HTTP 200 utan någon respons contents. Senaste koden hittas på: https://gist.github.com/RickardPette...402d2d59552732

Nu är nästa problem callback urlen måste vara HTTPS av någon anledning... jag som alldrig satt up någon site med SSL måste ta och lära mig det.

Nerix 2016-01-22 18:00

Citat:

Ursprungligen postat av x264 (Inlägg 20515499)
Tror Nerix försöker säga att det är bättre ni tar det här så kan andra eventuellt i framtiden få hjälp om de fastnar vid samma ställe :)

Exakt! Halva Sveriges ehandel-utvecklare lär just sitta med samma problem inom nån månad.

RickardP 2016-01-22 18:19

Citat:

Ursprungligen postat av Nerix (Inlägg 20515507)
Exakt! Halva Sveriges ehandel-utvecklare lär just sitta med samma problem inom nån månad.

Japp så om någon har rekommendation vilken av alla cert man ska köpa endast för att få det att fungera jag bryr mig inte så mycket om säkerheten osv vill få https att fungera så jag kan gå vidare :)

Nerix 2016-01-22 19:30

Citat:

Ursprungligen postat av RickardP (Inlägg 20515508)
Japp så om någon har rekommendation vilken av alla cert man ska köpa endast för att få det att fungera jag bryr mig inte så mycket om säkerheten osv vill få https att fungera så jag kan gå vidare :)

Här finns gratis cert https://letsencrypt.org/ något som diskuteras här http://www.wn.se/showthread.php?t=1066017

SEOutanHatt 2016-02-10 15:11

Sitter och sliter mitt hår lite över detta. Får inte till det utan får endast ett felmeddelande "Begäran avbröts: Det gick inte att skapa en säker SSL/TLS-kanal." hur jag än försöker.

Använder koden som RickardP lagt upp på github. Har importerat både root och client certifikaten på datorn.

Kod:

                string URL = "https://mss.swicpc.bankgirot.se/swish-cpcapi/api/v1/paymentrequests/";

                ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11; // har provat med ssl3, tls, tls11, tls12

                Uri requestURI = new Uri(URL);

                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(requestURI);

                req.ContentType = "application/json; charset=UTF-8";
                req.Method = "POST";
                req.ProtocolVersion = HttpVersion.Version10;

                string path = @"Swish Merchant Test Certificate 1231181189.p12"; // ja, filen ligger på rätt plats och hittas.

                X509Certificate cert = new X509Certificate2(path, "swish", X509KeyStorageFlags.Exportable | X509KeyStorageFlags.PersistKeySet);

                req.ClientCertificates.Add(cert);

                Stream requestStream = req.GetRequestStream();


Det är alltså direkt vid req.GetRequestStream() som det tar stopp. Någon som har något tips?

lazat 2016-02-13 23:07

kolla brandväggen! TCP dump av trafiken för om anropet skickas. Är koden i c# så finns det också risk för att certifikaten är ouppdaterade eller liknande. Testa callback URL på ssllabs för att se att allting ser bra ut. Se om det fungerar utan SSL. Kolla om användaren som din application i webbservern körs som har rätt till path.

SEOutanHatt 2016-02-14 02:04

Tack för tipsen. Tyvärr hjälpte de inte :(

Testat både på webbservern och lokalt (helt utan brandvägg).

Kört med Fiddler för att se så att anropet går iväg.

Callback url är ju inte inblandat ännu - jag måste upprätta en anslutning först innan jag kan skicka dem vilken callbackurl jag vill använda.

Alla filrättigheter är som de ska. Har debuggat efter att req.ClientCertificates.Add(cert); och kan se att certifikatinformation laddas in i requesten. Använder ju deras eget testcertifikat rakt av... har även debuggat och kollat utgångsdatumet för att se att det är färskt.

Har kontaktat Swish och frågat om hjälp.. de ska kolla upp mitt anrop i sina loggar och återkomma. I deras första svar gissade de att kanske inte "hela kedjan" med certifikat skickas med. Filen ska dock innehålla hela kedjan så det är om C# inte plockar med allt av någon anledning i så fall.

Kommer uppdatera denna tråd med mer info när jag får svar från Swish.

lazat 2016-02-14 10:14

Utan att veta så skulle jag gissa på chiffer suite fel. Bankerna brukar kräva säkra anslutningar, dessutom så har det den senase tiden många buggar dykt upp i ovan. Alla dessa måste bankerna skydda sig mot och ofta blir resultatet att den som ska anropa måste anpassa sig till dessa krav. Testa att med Internet Explorer gå in på post url från både server och din dator för att se om du får något cert fel. Om du gör det så här du nog hittat felet

lazat 2016-02-14 10:25

https://www.ssllabs.com/ssltest/anal...hideResults=on

Erkar som de har problem med cert. Beroende av Hur din dator behandlar detta så kan det bli problem


Alla tider är GMT +2. Klockan är nu 05:29.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson