Server FTP esplicito Iliadbox
noooooo danno lo stesso messaggio di errore relativo al certificato.
Il certificato punta a che dominio?
Il log di errore è
com.enterprisedt.net.puretls.cert.CertificateDecodeException: java.io.IOException: Unrecognized OID for key1.2.840.10045.2.1
com.enterprisedt.net.puretls.SSLHandshakeFailedException: com.enterprisedt.net.puretls.cert.CertificateDecodeException: java.io.IOException: Unrecognized OID for key1.2.840.10045.2.1
at com.enterprisedt.net.puretls.j.a(SourceFile:13)
at com.enterprisedt.net.puretls.SSLSocket.handshake(SourceFile:3)
at com.enterprisedt.net.ftp.ssl.SSLFTPControlSocket.c(SourceFile:3)
at com.enterprisedt.net.ftp.ssl.SSLFTPClient.auth(SourceFile:18)
at dk.tacit.android.providers.client.ftp.FtpEdtFtpjClient.openConnection(SourceFile:224)
at dk.tacit.android.providers.client.ftp.FtpEdtFtpjClient.listFiles(SourceFile:12)
at dk.tacit.android.foldersync.ui.accounts.AccountDetailsViewModel$testAccount$2.invokeSuspend(SourceFile:156)
at mc.a.resumeWith(SourceFile:9)
at kotlinx.coroutines.DispatchedTask.run(SourceFile:117)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(SourceFile:4)
at kotlinx.coroutines.scheduling.TaskImpl.run(SourceFile:3)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(SourceFile:1)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(SourceFile:15)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(SourceFile:29)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(SourceFile:1)
noooooo Ma il certificato da chi è rilasciato e per che dominio? È self-signed?
Che io sappia, ma potrei sbagliarmi, il server FTP della iliadbox non supporta il layer cifrato di sicurezza (SSL, TLS, ...).
Quindi, è un FTP puro, nudo e crudo (niente SFTP o FTPS).
AFAIK, il certificato SSL viene utilizzato dalla iliadbox solo per l'HTTPS.
Pertanto, per accedere in FTP (che, non essendo un protocollo sicuro, viene deprecato ormai da qualsiasi client), bisogna trovare un FTP client che accetti di bypassare (ignorandolo) il layer di sicurezza e accedere "in chiaro".
Dato che non è un trasferimento sicuro e non è nemmeno "securizzabile" (), per farcelo diventare, ci interporrei una VPN (che è cifrata per definizione).
Tenere a mente il fatto che in FTP non passano in chiaro solo i dati scambiati, ma anche le credenziali di accesso al server. Non credo serva aggiungere altro.
TJL73 Che io sappia, ma potrei sbagliarmi, il server FTP della iliadbox non supporta il layer cifrato di sicurezza (SSL, TLS, ...).
Ma sei sicuro?
Perchè questo mi fà pensare che invece sia in ascolto FTPS
com.enterprisedt.net.puretls.SSLHandshakeFailedException: com.enterprisedt.net.puretls.cert.CertificateDecodeException: java.io.IOException: Unrecognized OID for key1.2.840.10045.2.1
at com.enterprisedt.net.puretls.j.a(SourceFile:13)
at com.enterprisedt.net.puretls.SSLSocket.handshake(SourceFile:3)
at com.enterprisedt.net.ftp.ssl.SSLFTPControlSocket.c(SourceFile:3)
- Modificato
È il dominio che fornisce iliad per accedere alla Iliadbox dalla rete.
Non so se il certificato del dominio sia self signed sinceramente, c'è modo per verificare?
Obiettivamente il sito della box lo segna come disponibile dall'esterno, ma se è stata fatta una implementazione deficitaria da parte di iliad questo è possibile.
Lorenzo1635 Ma sei sicuro?
Assolutamente no, e lo avevo anche premesso.
Perchè questo mi fà pensare che invece sia in ascolto FTPS
Dallo screenshot postato da noooooo, direi che se si abilita il "Nome di dominio personalizzato
" (cosa che io sulla mia ibox non ho fatto) espone pubblicamente il servizio in FTPES (internamente è in FTP e, se forwardato manualmente, lo rimane; ma se lo si lascia fare alla ibox, lei ci mette automaticamente in mezzo il layer SSL/TLS. Mi era sfuggito questo dettaglio.
Quindi, la ibox di @noooooo si presenta sulla porta TCP/24279 in FTPES; lo dice esplicitamente nell'ultima riga dell'immagine che ha mandato qui sopra.
Ora bisognerebbe vedere la catena del certificato SSL rilasciatogli, per capire se è firmato da una CA attendibile, in modo che venga digerito dalle app e dai sistemi da cui tenta di connettersi, senza doverlo installare localmente.
@noooooo riesci a mandarci tutta la catena del tuo certificato, anche mascherando il terzo livello?
TJL73 espone pubblicamente il servizio in FTPES (internamente è in FTP e, se forwardato manualmente, lo rimane; ma se lo si lascia fare alla ibox, lei ci mette automaticamente in mezzo il layer SSL/TLS
Ma la documentazione di questo apparato è disponibile da qualche parte o gli utenti devono fare ingegneria inversa per capire come viene fatto il provisoning di uno stupido server FTP?
Apri la tua pagina di gestione della iliadbox in HTTPS con un browser (io uso Opera, ma con Chrome o Firefox dovrebbe essere uguale).
Clicca sul lucchettino a sx dell'URL e poi su "Connessione sicura" (o simile).
Ora, nella box che ti si apre, dove parla di "Certificato" o "Informazioni" e "Visualizza certificato".
Con Chromium, due screenshot: "Generali" e soprattutto "Dettagli".
Con Firefox, basta uno, dove dice "Certificato".
- Modificato
E' un certificato Let'sEncrypt; mi sembra che sia del tutto valido e rilasciato da una CA autorevole (a meno che i dispositivi da cui ci si connette non riconoscano quella CA come autorevole, il che mi sembra strano).
Lorenzo1635 , correggimi se sbaglio.
Il tentativo da fare è quello di collegarsi dal medesimo dispositivo con un browser e verificare che l'accesso all'interfaccia HTTPS dell'ibox sia protetta da un certificato SSL riconosciuto come attendibile (che non richieda, quindi, un'eccezione). Lo stesso certificato, dovrebbe essere utilizzato per l'accesso FTPES, ma il client FTP deve riconoscere le CA di sistema come attendibili; in caso contrario, andrebbe importata come attendibile la CA di Let'sEntrypt (quella in cima ala catena).
Altro non mi viene in mente.
Edit:
noooooo
Per la catena, sarebbe stato meglio lo screenshot del pannello "Dettagli".