Ik ben een SSL verbinding aan het opzetten waarbij ook gebruik gemaakt wordt van een client certificaat, in de vorm van een PFX met wachtwoord. Dit doe ik in Delphi met Indy componenten, hiervoor moet ik met certificaten in PEM vorm werken.
Ik heb dit al eerder gedaan, succesvol, hiervoor converteerde ik de PFX naar simpelweg twee losse delen, een key (het key gedeelte van de PFX) in PEM formaat en het certificaat gedeelte van de PFX naar PEM formaat. Dan nog een root certificaat erbij (ook in PEM formaat) en het werkte.
Wanneer je de PFX converteerde met OpenSSL of iets anders, kon je dat doen naar een PEM formaat met alles er nog in (dus nog niet opgedeelt). Dan zie je mooie tags als -----BEGIN PRIVATE KEY----- etc. In die PEM zag je dan duidelijk een key en een certificaat gedeelte.
Nu werk ik echter met een PFX die ook een key gedeelte heeft, maar 3 certificaten in zich heeft. Dit wordt duidelijk als ik naar een PEM converteer, dan zie ik het bekende key gedeelte, en daarna drie certificaat blokken. Hiervan moet ik de laatste hebben lijkt het, maar hij exporteert wat anders (1 van de drie) als ik van de oude manier gebruik maak. Valt ook niet meer terug te herkennen uit 1 van de drie.
De tekst van het laatste certificaat kan ik wel in een PEM file plakken, maar dat accepteren mijn componenten niet. Het andere (welke dat ook is) certificaat gedeelte wat ie op de oude wijze exporteert wordt wel geaccepteert maar niet mee gestuurd over de lijn, wanneer hij bezig is met SSL handshaking. Er wordt om het client certificaat gevraagd, waarbij de juiste situatie is dat hij de key + certificaat teruggeeft, maar in mijn geval alleen de key geeft. En dan faalt hij.
De vraag is eigenlijk hoe krijg ik dus het laatste certificaat blok (of van mij part allemaal) uit het PFX bestand? Misschien belangrijker nog, hoe werkt deze indeling? Want een PFX bestand met key en cert gedeelte snap ik, maar met drie cert blokken niet.
Ik heb overigens een werkend voorbeeld ernaast, met dezelfde certificaten in een browser wordt succesvol verbinding gemaakt. Dit kan ik in wireshark mooi naast elkaar leggen, waarin ik dus zie dat hij op de vraag naar het client certificaat alleen de key antwoordt en niet de key + cert.
Ik heb dit al eerder gedaan, succesvol, hiervoor converteerde ik de PFX naar simpelweg twee losse delen, een key (het key gedeelte van de PFX) in PEM formaat en het certificaat gedeelte van de PFX naar PEM formaat. Dan nog een root certificaat erbij (ook in PEM formaat) en het werkte.
Wanneer je de PFX converteerde met OpenSSL of iets anders, kon je dat doen naar een PEM formaat met alles er nog in (dus nog niet opgedeelt). Dan zie je mooie tags als -----BEGIN PRIVATE KEY----- etc. In die PEM zag je dan duidelijk een key en een certificaat gedeelte.
Nu werk ik echter met een PFX die ook een key gedeelte heeft, maar 3 certificaten in zich heeft. Dit wordt duidelijk als ik naar een PEM converteer, dan zie ik het bekende key gedeelte, en daarna drie certificaat blokken. Hiervan moet ik de laatste hebben lijkt het, maar hij exporteert wat anders (1 van de drie) als ik van de oude manier gebruik maak. Valt ook niet meer terug te herkennen uit 1 van de drie.
De tekst van het laatste certificaat kan ik wel in een PEM file plakken, maar dat accepteren mijn componenten niet. Het andere (welke dat ook is) certificaat gedeelte wat ie op de oude wijze exporteert wordt wel geaccepteert maar niet mee gestuurd over de lijn, wanneer hij bezig is met SSL handshaking. Er wordt om het client certificaat gevraagd, waarbij de juiste situatie is dat hij de key + certificaat teruggeeft, maar in mijn geval alleen de key geeft. En dan faalt hij.
De vraag is eigenlijk hoe krijg ik dus het laatste certificaat blok (of van mij part allemaal) uit het PFX bestand? Misschien belangrijker nog, hoe werkt deze indeling? Want een PFX bestand met key en cert gedeelte snap ik, maar met drie cert blokken niet.
Ik heb overigens een werkend voorbeeld ernaast, met dezelfde certificaten in een browser wordt succesvol verbinding gemaakt. Dit kan ik in wireshark mooi naast elkaar leggen, waarin ik dus zie dat hij op de vraag naar het client certificaat alleen de key antwoordt en niet de key + cert.
Ampera-e (60kWh) -> (66kWh)