FriBID är ett fritt program för e-legitimation med BankID.
OBS! FriBID är i praktiken nedlagt, och fungarar inte att använda längre.
You are not logged in.
Pages: 1
Hej!
Jag är en utvecklare som för närvarande arbetar med att bygga ett affärssystem på uppdrag av ett mindre företag i Stockholm. För att minimera användarens arbete och minska risken för problem vill vi att affärssystemet automatiskt hämtar information om inbetalningar från Bankgirot varje dag. Detta, och andra tjänster, utförs medelst deras gränssnitt Bankgiro Link vilket är beskrivet här: http://www.bgc.se/upload/Gemensamt/Tryc … bg8011.pdf
Gränssnittet är utformat av ett WSDL (SOAP) med extra standarder (bl.a. WSE-Security) för att klara säkerhetskraven. För att detta ska fungera används kryptografiska tjänster från Nexus som i sin tur använder ett BankID tillhörande bankgiro-kunden i fråga. Den relevanta delen från bankgirots standard är som följer:
=================== snip ====================
Bankgiro Link applikationens SecurityContextTokenService förväntar sig ett soapmeddelande som är av typen RequestSecurityToken. Eftersom kommunikationen sker via SSL behöver meddelandet från anroparen inte vara signerat eller krypterat.
I retur utfärdar servicen ett challenge (slumptal i Hex-format) i ett RequestSecurityTokenResponse-meddelande som är signerat med ett servercertifikat. Signaturen i detta meddelande måste anroparen verifiera enligt http://www.w3.org/2000/09/xmldsig#.
Anroparen i sin tur måste via en signeringsklient signera slumptalet. Som signeringsklinet rekommenderas Nexus Personal (fungerar både för hårda och mjuka (BankID/Posten)certifikat.) Finns att ladda ner på: http://install.bankid.com/. Det är viktigt att hela certifikatkedjan skickas med i anropen, annars kan vi inte verifiera att det är ett korrekt cert som anropar oss.
Här är ett exempel på hur det ska se ut om man använder sig av Nexus. Nedan är samtliga parameterar som behövs när klienten ska dras igång.
=================== snip ====================
Kan FriBID användas till att signera strängar mha av en BankID-legitimation (är det samma sak som e-legitimation förresten?) från en fil?
Mvh,
Vilhelm Jutvik
Offline
"... Eftersom kommunikationen sker via SSL behöver meddelandet från anroparen inte vara signerat eller krypterat. ..."
Det låter som systemet bygger på klientcertifikat i SSL och i så fall borde det gå att använda den P12-fil som FriBID skapar när man hämtar en ny e-legitimation. Den filen kan dock vara lite klurig att använda eftersom den saknar en s.k. MAC (=skydd mot ändringar), men jag tror att om man kör filen genom OpenSSL's pkcs12-kommando så skapas det nog en korrekt MAC. Om du inte får det att fungera med en webservice-klient kan du testa URL:en från webbläsaren efter att ha installerat P12:an där. Om legitimationen godkänns bör du få något fel som inte har att göra med SSL.
BankID-legitimation (är det samma sak som e-legitimation förresten?
BankID-legitimation är en sorts e-legitimation.
Offline
Tack, men om jag förstått allting rätt så är systemet så utformat att själva SOAP-meddelandena skyddas, oavsett det faktum att allting sedan skickas över SSL. Detta understöds av att standarden senare deklarerar:
"Anroparen ska sedan i vidare konversation med Bankgiro Links Web Services använda SecurityContextToken för att generera två stycken DerivedKeyTokens. Dessa används för att signera och kryptera SOAP-meddelandena. I SOAP-meddelanden skall utfärdad SecurityContextToken och DerivedKeyTokens inkluderas medan den delade hemliga nyckeln hålls hemlig på vardera sida. Signering och kryptering med DerivedKeyToken sker enligt WS-Security standarden."
Jag behöver alltså signera mina egna strängar. Hursomhelst har jag insett efter en hel del Googlande att det hela antagligen tar för lång tid för att låta sig göras, så det får nog vänta tills jag och min kollega får större resurser.
Tack för hjälpen,
Vilhelm Jutvik
Offline
Pages: 1