Ja klar. Ich versuche mal etwas genauer zu sein.
Was ich bisher habe:
- libeay32.dll und ssleay32.dll befinden sich im Programmverzeichnis
Und wenn folgender Code ausgeführt wird bei der Zeile
IdHTTP1.POST
eine
Exception ausgelöst mit folgendem Hinweis:
"Stammzertifikat konnte nicht geladen werden"
Delphi-Quellcode:
const
baseURLevent: string = 'https://meineURL.com:11851';
LoadOpenSSLLibrary;
slPost := TStringList.Create;
tmpStr := ExtractFilePath(ParamStr(0))+'zertifikat.pem';
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.RootCertFile := tmpStr ;
stringStream := TStringStream.Create(slPost.Text);
postResult := IdHTTP1.POST(baseURLevent, stringStream);
EDIT:
Folgendes wird im Browser angezeigt wenn die
URL dort öffnen möchte.
Code:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/
soap/envelope/">
<S:Body>
<S:Fault xmlns:ns3="http://www.w3.org/2003/05/
soap-envelope">
<faultcode>S:Client</faultcode>
<faultstring>
Couldn't create
SOAP message due to
exception:
XML reader error:
com.sun.xml.stream.XMLStreamException2: ParseError at [row,col]:[1,1] Message: Premature end of file.
</faultstring>
</S:Fault>
</S:Body>
</S:Envelope>
Base ist das Authentifizierungsverfahren.
EDIT 2:
Ich habe nun versucht einfach mal die
URL ohne das Zertifikat zu benutzen.
Folgende
Exception ist das Ergebnis:
SSL3_GET_SERVER_CERTIFICATE:certificate verify failed