Einzelnen Beitrag anzeigen

Hobbycoder

Registriert seit: 22. Feb 2017
930 Beiträge
 
#29

AW: HTTPS-Server in eigener Anwendung

  Alt 23. Mai 2017, 10:38
3. Der SSLContext vom TIdServerIOHandlerSSLOpenSSL muss gepatcht werden:

Hierzu die Source-Datei aus dem Anhang (uOpenSSLPatch.pas) verwenden und z.B. im FormCreate folgenden Befehl aufrufen:
Delphi-Quellcode:
  //OpenSSL Patchen...
  SSL_CTX_patch(IdServerIOHandlerSSLOpenSSL.SSLContext.InternalContext);
Das führt bei mir zu einer Zugriffsverletzung.
Delphi-Quellcode:
function TIdSSLContextHelper.InternalContext: PSSL_CTX;
begin
  Result := Self.FContext;
end;
Self ist bei mir NIL.

ich setzte das auch nicht auf eine Form, sondern habe das in einem Thread.
Ich wollte das so machen:
Delphi-Quellcode:
    FIdServerIOHandlerSSLOpenSLL:=TIdServerIOHandlerSSLOpenSSL.Create(nil);
    SSL_CTX_patch(FIdServerIOHandlerSSLOpenSLL.SSLContext.InternalContext);
    FIdServerIOHandlerSSLOpenSLL.OnGetPassword:=IdSSLIOHandlerSocketOpenSSL1GetPassword;
ich kann's natürlich auch im ThreadCreate machen, aber da gibt es mein FIdServerIOHandlerSSLOpenSSL noch gar nicht. Ich erzeuge den erst im ThreadExecute. Muss von TIdSSLContextHelper keine Instanz erzeugt werden?
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat