[.NET] iDeal certificaten

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • ar34z
  • Registratie: April 2005
  • Laatst online: 17-01 20:50
Hallo,

Voor een website wil ik iDeal Professional implementeren. De host etc. is helemaal klaar maar ik zit in de knoop met de certificaten.
In de testshop krijg ik de volgende melding: No matching certificate found for cert

De handleiding legt netjes uit dat ik certificaten moet maken met wat sleutels en andere bestanden.
Wat mij niet duidelijk is, is welke certificaten waar heen moeten.

Heeft iemand ervaring met het installeren van iDeal in een .NET omgeving?

- Welk certificaat moet ik in de ideal (test)omgeving uploaden?
- Welk certificaat moet op de host geconfigureerd worden?
- Moeten er nog bestanden (certificaten) in de security map komen?
- Zijn er aanpassingen nodig in de Web.config? Ik zag daar "<add key="Privatecert" value="cert"/>" staan.

Alvast bedankt :)

[ Voor 5% gewijzigd door ar34z op 27-11-2009 15:41 ]


Acties:
  • 0 Henk 'm!

  • Maxxi
  • Registratie: Mei 2004
  • Laatst online: 19-04 19:18
Misschien heb je hier nog wat aan:
\[.net] Certificate Key

Maar als je goed kijkt zie je dat:
<add key="Privatecert" value="cert"/>

No matching certificate found for cert

Overeenkomen.

Ik denk je zult je certificaat zult moeten importeren http://www.google.nl/sear...official&client=firefox-a

En vervolgens cert vervangen voor de juiste naam.

Acties:
  • 0 Henk 'm!

  • ar34z
  • Registratie: April 2005
  • Laatst online: 17-01 20:50
Ah ja, dat topic op Tweakers had ik zojuist gelezen.
Ik heb een certificaat opgestuurd naar het hosting bedrijf, zij doen het MMC gedeelte (hopelijk) :)

De overeenkomst van beide "cert"-waarden heb ik ook gezien, maar was toch benieuwd wat anderen doen met al die certificaten, of eigenlijk met de hele installatie van iDeal.
Iemand vertelde me dat iDeal makkelijk te implementeren is, maar zelf had ie het nog nooit gedaan... makkelijker gezegd dan gedaan dus :)

Als iemand ervaring heeft met het installeren van iDeal hoor ik graag wat tips over wat te doen.

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Het staat allemaal uitgelegd in de documentatie van iDeal die elke band aanbiedt, daarmee kun je er vast wel uitkomen. Kant en klare voorbeelden die ze aanbieden zou ik voorzichtig mee zijn, ik heb die van PHP ooit eens gedownload en die zat barstensvol met fouten (notices, warnings, errors).

Acties:
  • 0 Henk 'm!

  • TheNameless
  • Registratie: September 2001
  • Laatst online: 07-02 21:38

TheNameless

Jazzballet is vet!

Misschien handig om aan te geven welke implementatie je gebruikt, of ben je zelf een implementatie aan het maken?

De bank moet in ieder geval de public key (.cer) bestand van je certificaat hebben.
Zelf moet je toegang hebben tot de private key van je certificaat, om de data die je naar de bank stuurt, te onderteken.
Zelf heb je ook een public key nodig van de bank, zodat je kan verifiëren dat de antwoorden van de bank, ook daadwerkelijk van de juiste bank zijn.

Ik heb zelf voor mijn werk een implementatie gemaakt in .NET, daar werken we met .PFX bestanden.
Deze zijn met OpenSSL gegenereerd.

Ducati: making mechanics out of riders since 1946


Acties:
  • 0 Henk 'm!

  • ar34z
  • Registratie: April 2005
  • Laatst online: 17-01 20:50
Dank voor jullie reacties.
Ik ga zelf een implementatie maken, maar dan op basis van de voorbeeldcode. De klant is lid van de Rabobank.
Het is echter zo dat ik nog nooit iets in .NET gemaakt heb en niet goed weet hoe ik de foutmeldingen op moet lossen. Ook heb ik nog nooit met certificaten gewerkt, laat staan het communiceren tussen 2 servers met allerlei certificaten... :'(
Inmiddels heb ik mijn eigen gegenereerde certificaat laten installeren op de server. Ik weet niet zeker of dat wel het juiste certificaat is dat geinstalleerd moet worden.
Overigens krijg ik de volgende foutmelding:
Cannot find the certificate and private key for decryption

Mijn eigen key kan ik uploaden in het iDeal beheer, maar waar moet ik de andere certificaten laten?
Kan ik deze op FTP zetten of moeten ze allemaal geïnstalleerd worden op de server?
De volgende bestanden zijn meegeleverd met de testsite van iDeal:
- ideal.cert
- merchantprivatecert.crt
- merchantprivatekey.pem
- mpi_ssl-ideal.cer
- mpi_ssl-idealtest.cer

Zelf heb ik 3 bestanden gegenereerd:
- cert.cer
- pkcsfile.p12
- priv.key

Ik zal nog maar weer eens de handleiding doorspitten zodat ik dan hopelijk onderscheid kan maken tussen al die certificaten. :(
Het staat er zo crappy in dat ik volgens mij net zo lang moet blijven proberen tot het werkt:
2. Installeer het certificaat
• Open Microsoft Internet Explorer en ga naar de pagina vanwaar u het certificaat wilt
installeren. MS IE toont een pop-up-venster met daarin het certificaat.
• Klik op de knop 'Install Certificate' (installeer certificaat).


"Het certificaat"... welke van de 4?

[ Voor 14% gewijzigd door ar34z op 30-11-2009 09:54 ]


Acties:
  • 0 Henk 'm!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Denk je dat het verstandig is dat je zelf iets gaat maken als je nooit iets met .net hebt gedaan?
iDeal lijkt mij dermate belangrijk dat je dat niet als je een leertraject inzet..

If it isn't broken, fix it until it is..


Acties:
  • 0 Henk 'm!

  • TheNameless
  • Registratie: September 2001
  • Laatst online: 07-02 21:38

TheNameless

Jazzballet is vet!

De basis klasse in .NET om te werken met een certificaat is de X509Certificate2 klasse (die gebruik ik iig).

Er zijn daarnaast een aantal mogelijkheden om een instantie van die klasse te krijgen, waar je mee kan werken:
- je kan een certificaat laden direct van een file
- of je kan een certificaat uit een X509Store halen. Als je deze optie gebruikt zal je je eigen certificaat moeten installeren zoals de handleiding zegt.

Als je optie 1 gebruikt zal je je .p12 moeten laden op de volgende manier:
Visual Basic .NET:
1
Dim certificate As New X509Certificate2("path\naar\puntp12.file", "wachtwoord", X509KeyStorageFlags.PersistKeySet Or X509KeyStorageFlags.MachineKeySet Or X509KeyStorageFlags.Exportable)


Data signen kan op de volgende manier:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    Public Function SignData(ByVal cert As X509Certificate2, ByVal value As String) As String
        Dim encoding As New System.Text.ASCIIEncoding()

        Dim str() As Byte
        str = encoding.GetBytes(value)

        Dim hash As New SHA1Managed()
        hash.Initialize()
        str = hash.ComputeHash(str)

        Dim privatekey As String = cert.PrivateKey.ToXmlString(True)

        Dim rsa As New RSACryptoServiceProvider()
        rsa.FromXmlString(privatekey)

        Dim byteStr() As Byte
        byteStr = rsa.SignHash(str, CryptoConfig.MapNameToOID("SHA1"))

        Return Convert.ToBase64String(byteStr)
    End Function


Om data te verifiëren kan je het volgende doen:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    Public Function VerifyData(ByVal cert As X509Certificate2, ByVal toVerify As String, ByVal signature As String) As Boolean
        Dim encoding As New System.Text.ASCIIEncoding()

        Dim valueByte() As Byte
        Dim hashedValue() As Byte
        Dim signatureByte() As Byte

        valueByte = encoding.GetBytes(toVerify)

        'Hash the value
        Dim hash As New SHA1Managed()
        hash.Initialize()
        hashedValue = hash.ComputeHash(valueByte)

        'Use the public key to verify
        Dim rsa As New RSACryptoServiceProvider()
        rsa.FromXmlString(cert.PublicKey.Key.ToXmlString(False))

        signatureByte = Convert.FromBase64String(signature)

        Return rsa.VerifyHash(hashedValue, CryptoConfig.MapNameToOID("SHA1"), signatureByte)
    End Function

Ducati: making mechanics out of riders since 1946


Acties:
  • 0 Henk 'm!

  • ar34z
  • Registratie: April 2005
  • Laatst online: 17-01 20:50
TheNameless, bedankt voor je code. Ik zal kijken of ik er wat mee kan.
De voorbeeld code van iDeal is echter wel in C# :/ Misschien kan ik het omzetten; moet ik even naar kijken.

@Niemand_Anders: de site waar ik aan werk is gemaakt in classic asp. De voorbeeldcode van iDeal Pro wordt voor asp alleen geleverd in .NET, daar heb ik ook niet om gevraagd. Ik zal dus wel moeten werken met .NET.
De moeilijkheid zal niet in de implementatie zitten, maar zit hem in het aan de praat krijgen van iDeal zelf, met hun Duitse comments in de code ... :| en certificaten niet te vergeten.

Acties:
  • 0 Henk 'm!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Op CodeProject staat beschreven hoe je een .NET assembly beschikbaar kunt maken als ActiveX en vervolgens in classic asp kunt benaderen.

Je kunt natuurlijk ook de implementatie uitbesteden door iemand in te huren. Er zijn zat development bedrijfjes die iDeal implementaties zo vaak uitvoeren dat zij het binnen 2 uur werkend hebben voor je ((inclusief configuratie op development/productie machines). Kost misschien 200 euro, maar dan kun je in elk geval aanspraak maken op garantie en kun je (eventueel) op een development omgeving (rustig) .NET ervaring op doen zonder dat elk uur iemand komt vragen of het al klaar is..

If it isn't broken, fix it until it is..


Acties:
  • 0 Henk 'm!

  • ar34z
  • Registratie: April 2005
  • Laatst online: 17-01 20:50
Ik ben er nog niet erg druk mee bezig geweest, maar een collega kwam aanzetten met Buckaroo (http://www.buckaroo.nl/).
Dit is een soort P&P-koppeling voor online betalingsmethoden waaronder iDeal. Ze zeggen zelf dat het binnen 2 uur klaar kan zijn.
Daar ga ik dus niet dagen voor martelen.

Het is wel een tikje duurder dan iDeal Professional, waar ik nu mee zit, maar ze bieden wel allerlei extra mogelijkheden zoals refunding en annulering.

Ik denk dat het een zeer goed alternatief zou kunnen zijn :)

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Is toch gewoon een payment provider dan? Daar zijn er wel meer van, misschien kun je nog n beetje vergelijken in prijzen dan.

Acties:
  • 0 Henk 'm!

  • ar34z
  • Registratie: April 2005
  • Laatst online: 17-01 20:50
Het is zeker iets om te overwegen. Vrijdag overleg, dan zie ik wel.
Jammer dat ik iDeal niet aan de praat krijg aangezien er meer opdrachten aankomen met iDeal :'(

[ Voor 13% gewijzigd door ar34z op 02-12-2009 16:49 ]


Acties:
  • 0 Henk 'm!

  • Cryothic
  • Registratie: September 2001
  • Laatst online: 04-09-2024

Cryothic

why?

Jemig, dat ik dit tegen kan komen dankzij google.

Ik zit dus in een identieke situatie.
Site in ASP classic, betaling via .NET laten lopen.
Via Rabo Ideal

Handleiding stap voor stap gevolgd, en hij blijft de melding geven "No matching certificate found for cert"

Echt belachelijk... doe er dan geen handleiding bij, als ie toch niet compleet is.

Acties:
  • 0 Henk 'm!

  • Cryothic
  • Registratie: September 2001
  • Laatst online: 04-09-2024

Cryothic

why?

Even een aanvulling, misschien dat de TS hier ook wat verder mee komt.

In web.config staat de regel:
code:
1
<add key="Privatecert" value="cert" />

Hij komt bij mij een stuk verder als ik de value verander in de Friendly Name die ik op moest geven bij het maken van de certificaten.

en tenslotten: DirReq.aspx gebruikt een action en een method in z'n formtag... iets wat in .net niet meer mag.
Dus die moet je er ff tussenuit rossen.

[ Voor 20% gewijzigd door Cryothic op 07-12-2009 15:42 ]

Pagina: 1