AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zertifikatsproblem

Ein Thema von Incocnito · begonnen am 17. Mär 2021 · letzter Beitrag vom 9. Apr 2021
Antwort Antwort
Seite 1 von 2  1 2      
Incocnito

Registriert seit: 28. Nov 2016
223 Beiträge
 
#1

Zertifikatsproblem

  Alt 17. Mär 2021, 14:36
Hi Zusammen,

ich möchte über eine FMX-Anwendung (sowohl Windows als auch Android)
Daten von einem Server entgegen nehmen. Ich nutze einen TNetHTTPClient
und habe auf dem Server dann eine Seite, welche mir die Infos bereit stellt.
Unter Windows funktioniert das ganze auch soweit.
Unter Android bekomme ich folgenden Fehler:
---
Im Projekt <Whatever>.apk ist eine Exception der Klasse EJNIException mit der Meldung 'java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.' aufgetreten.
---
Jetzt habe ich hier
https://stackoverflow.com/questions/...ication-of-rad
gefunden, wie das theoretisch gehen soll.
Ich bin also hingegangen und habe die Zertifikatsdatei aus Firefox als CER-Datei exportiert und
versucht unter "Bereitstellung" einzutragen.
Das klappt aber nicht. Aktuell kommen zwei Meldnugen:
network_security.xml: Noresource type specified
und
MeinCert.crt: Error parsing XML: syntax error
Derzeit liegen beide Dateien im Unterordner "res\xml\" welchen
ich selbst angelegt habe.

Weiß jemand die Schritte, die ich machen müsste um die CertificateException weg zu bekommen?
OnValidateServerCertificate vom TNetHTTPClient-Objekt zu setzen und einfach nur Accept := True; reicht
übrigens auch nicht. Den Server kann ich auch nicht umstellen, so dass der Zugriff per http möglich wäre.

Vielen Dank schonmal für die Zeit.

Mit freundlichem Gruß
Incocnito
  Mit Zitat antworten Zitat
Incocnito

Registriert seit: 28. Nov 2016
223 Beiträge
 
#2

AW: Zertifikatsproblem

  Alt 17. Mär 2021, 15:39
... ok Aktualisierung:

Die Pfade sind fest definiert
vgl.: https://developer.android.com/guide/...ding-resources
und für das Zertifikat muss ich in den Ordner "raw" gehen.
Die Zertifikatsdatei liegt nun also mit dem Namen "my_ca.crt"
in "res\raw\" (sowohl lokal, aber vor allem im Remote-Pfad)
In der Network-Konfig steht nun auch
src="@raw/my_ca"
Also keine eigenen Dateinamen mehr, weil ich nicht weiß, was das wieder für Auswirkungen hat.
Hier:
https://developer.android.com/traini...ecurity-config
waren auch noch ein paar Erklärungen zu der Netzwerk-Konfiguration.

Leider bekomme ich nun den Fehler
---
Im Projekt <Whatever>.apk ist eine Exception der Klasse EJNIException mit der Meldung 'java.security.cert.CertificateException: Domain specific configurations require that hostname aware checkServerTrusted(X509Certificate[], String, String) is used' aufgetreten.
---
Wo ich nicht weiß, wo das wieder her kommt. Windows-Compilat läuft nach wie vor.

LG Incocnito
  Mit Zitat antworten Zitat
Incocnito

Registriert seit: 28. Nov 2016
223 Beiträge
 
#3

AW: Zertifikatsproblem

  Alt 19. Mär 2021, 08:11
<<Push>>
Oder Allgemein: Hat jemand irgendwo mal eine Anleitung gesehen, wie man eine App anpassen muss
um eine Verbindung zu einem HTTPS-Server herzustellen, welcher ein Self-Signed-Zertifikat hat?

LG Incocnito
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

AW: Zertifikatsproblem

  Alt 19. Mär 2021, 09:20
Google sagt dazu: https://developer.android.com/traini...-ssl#UnknownCa
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Incocnito

Registriert seit: 28. Nov 2016
223 Beiträge
 
#5

AW: Zertifikatsproblem

  Alt 19. Mär 2021, 15:57
Auf der Seite wird unter
https://developer.android.com/traini...ssl#SelfSigned
auf den TrustManager verwiesen.
Gibt es sowas für Delphi (FMX)?

LG Incocnito
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#6

AW: Zertifikatsproblem

  Alt 19. Mär 2021, 16:19
Keine Ahnung, ich mache schon seit Jahren nichts mehr mit FMX.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
junglist

Registriert seit: 21. Jul 2015
Ort: Schweiz
36 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Zertifikatsproblem

  Alt 22. Mär 2021, 08:40
Ich glaube zwar das ist nicht dein Problem, aber vielleicht hilft es dir:

Nach dem Update von 10.4.1 auf 10.4.2 haben unsere TNetHTTPClients nicht mehr funktioniert. Das ist nur passiert, wenn das OnValidateServerCertificate gesetzt wurde.
Die Lösung für das Problem war, die Property "SynchronizedEvents" vom TNetHttpClient auf False (bzw. auf True, je nachdem wie du es einsetzt) zu setzen.

Damit hat es wieder auf allen Plattformen funktioniert, vorher ging nur Windows.

Da ich aber nie eine Fehlermeldung bekommen haben (Die App hat sich einfach aufgehangen bis Android eingeschritten ist), kann ich nicht versichern dass es das gleiche Problem ist.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#8

AW: Zertifikatsproblem

  Alt 22. Mär 2021, 08:45
Keine Ahnung, ich mache schon seit Jahren nichts mehr mit FMX.
<OT>
Das muss sich aber dringend mal ändern
</OT>
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#9

AW: Zertifikatsproblem

  Alt 22. Mär 2021, 08:57
Keine Ahnung, ich mache schon seit Jahren nichts mehr mit FMX.
<OT>
Das muss sich aber dringend mal ändern
</OT>
[OT] Weshalb? Ich habe mittlerweile Alternativen gefunden, die mir keine Magenschmerzen mehr bereiten, aber das ist ein anderes Thema. [/OT]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Incocnito

Registriert seit: 28. Nov 2016
223 Beiträge
 
#10

AW: Zertifikatsproblem

  Alt 9. Apr 2021, 09:20
...
Die Lösung für das Problem war, die Property "SynchronizedEvents" vom TNetHttpClient auf False (bzw. auf True, je nachdem wie du es einsetzt) zu setzen....
Kurzes Update:
Das hat leider nicht geholfen. Wenn ich den auf "False" gesetzt habe kamen sogar noch Fehlermeldungen, dass "CheckSynchronized nicht vom Haupt-Thread aufgerufen" wurde. Wobei ich nicht sehe, warum das nicht im Haupt-Thread läuft, mal so am Rande.

Außerdem hatte ich den Fall, dass es nicht unter Windows 8.1 lief.
Das konnte ich beheben, indem ich vom TNetHttpClient die SecureProtokolls geändert hatte.
Bisher hatte ich "alles" reingeworfen, nun wo ich die SSL-Einträge rausgenommen habe, lief es wieder.
vgl.:
https://stackoverflow.com/questions/...quest/55642426

Leider läuft es nach wie vor nicht unter Android.

Wie gesagt, falls irgendjemand Erfahrungen mit serverseitigen Self-Signed-Zertifikaten und HTTP-Requests (hier POST)
unter FMX (im speziellen Android) hat, immer her mit den Infos. Leider kann ich wegen dem echten Zertifikat auf dem
echten Server und den Daten keine kleine Beispiel-App bauen.

Liebe Grüße
Incocnito
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz