Android-Client mit einer sicheren Go-Server-VerbindungAndroid

Forum für diejenigen, die für Android programmieren
Guest
 Android-Client mit einer sicheren Go-Server-Verbindung

Post by Guest »

Ich entwickle eine Android-Anwendung (Jetpack Compose with Ktor), die mit einem Server kommuniziert, den ich in Go (mit Gin) erstelle.Obwohl ich überprüft habe, dass alles lokal zwischen der Anwendung und dem Server funktioniert, befinde ich mich in einem Stadium, in dem ich meinen Server nur noch auf Anfragen meiner Anwendung reagieren lassen möchte (wenn sie live geht). Diese Anfragen sollten auch so sicher wie möglich sein, also habe ich gelernt, dass ich SSL mit einem Client-Zertifikat verwenden muss.
Das ist etwas, wo mir das Wissen fehlt, also bitte Verzeihen Sie meine Unwissenheit.
Ich habe viele SO-Fragen (einige davon sind veraltet oder beziehen sich nicht auf aktuelle Bibliotheken) und andere Ressourcen online gelesen, und da dies eine ist Persönliches Projekt, ich habe verstanden, dass ich:
  • Erstellen Sie ein selbstsigniertes Zertifikat (mit OpenSSL)
  • Verwenden Sie es innerhalb der Anwendung
  • Konfigurieren Sie den Ktor-Client für die Verwendung von SSL
Ich bin mir immer noch nicht sicher, was serverseitig getan werden muss, aber dazu kommen wir später in dieser Frage.
Nachdem ich das Zertifikat erstellt habe, lege ich es in den Ressourcenordner res/raw (certificate hat die Dateierweiterung .der) und ich bin mit der Konfiguration, die ich für den Ktor-Client vornehmen muss, nicht vertraut.
Ich habe derzeit Folgendes für den Ktor-Client eingerichtet:

Code: Select all

HttpClient(Android) {
install(ContentNegotiation) {
json(
Json {
ignoreUnknownKeys = true
}
)
}
}
und ich habe über die verschiedenen Engines im Ktor-Client gelesen, aber es scheint, als müsste ich die Android-Engine verwenden. In einem Teil der offiziellen Dokumentation heißt es, man solle die XML-Konfigurationsdatei für die Netzwerksicherheit verwenden, um SSL in Ktor zu konfigurieren, aber etwas weiter unten auf der Seite spricht die offizielle Dokumentation von der Eigenschaft sslManager, was mich etwas verwirrt.
  • Was muss ich tun, um den Ktor-Client für die Verwendung des Zertifikats in Anfragen einzurichten?
  • Was muss ich tun? tun Sie auf der Serverseite, nur die Anfragen zu akzeptieren, die vorhanden sind gültig?
Ich weiß, dass dies eine zweiteilige Frage ist und zwei verschiedene Sprachen betrifft, aber Sie können den Client-Teil tatsächlich nicht einfach ohne erledigen serverseitig.
Referenzen:
  • Stellen Sie sicher, dass der Server nur Verbindungen von der Android-App akzeptiert< /li>
    Wie füge ich einem Android-Projekt ein SSL-Zertifikat hinzu?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post