Debug RTSPS e RTSP su TLS: certificati della telecamera, errori di handshake ed errori di Secure Stream
Come risolvere i problemi relativi agli errori RTSPS e RTSP su TLS, inclusi errori di certificato, problemi di handshake TLS, streaming protetto della fotocamera, autenticazione e trasporto multimediale.
La risoluzione dei problemi RTSP è già stratificata: "URL, autenticazione, SDP, trasporto, RTP, RTCP, codec e percorso di rete sono tutti importanti. RTSPS aggiunge un ulteriore livello prima ancora che la conversazione RTSP possa iniziare. Se l'handshake TLS fallisce, il client non raggiunge mai "OPTIONS", "DESCRIBE", "SETUP" o "PLAY". L'utente vede "impossibile connettersi", "handshake TLS non riuscito", "verifica del certificato non riuscita", "RTSP sicuro non funzionante" o semplicemente una schermata nera." Ricerche come "La telecamera RTSPS non funziona", "Errore certificato RTSP su TLS", "Handshake TLS della telecamera non riuscito" e "Streaming RTSP sicuro non riuscito" provengono solitamente da team che hanno già provato RTSP normale e ora hanno bisogno di sapere se il trasporto sicuro è interrotto, il certificato non è attendibile, la telecamera supporta solo versioni TLS precedenti o lo streaming non riesce dopo che TLS ha avuto esito positivo.
L'ispettore RTSP è utile in questo flusso di lavoro perché la domanda corretta non è "il lettore apre il video?" La domanda corretta è "la connessione protetta è stata completata, l'RTSP è iniziato, l'autenticazione è stata completata, l'SDP ha descritto il supporto e l'RTP è arrivato?"
RTSPS non è solo RTSP con un URL diverso
Il semplice RTSP utilizza spesso un URL come:
rtsp://camera.example.com:554/stream1
RTSPS commonly uses:
rtsps://camera.example.com:322/stream1
o una porta RTSP sicura specifica del fornitore. Prima che venga inviato qualsiasi metodo RTSP, il client e la telecamera eseguono un handshake TLS. Tale stretta di mano negozia la versione del protocollo, la suite di crittografia, l'identità del certificato e le chiavi di sessione sicure.
Se il livello TLS fallisce, non ci sarà alcun codice di stato RTSP. Non vedrai "401 Non autorizzato", "404 Non trovato" o SDP. Il flusso fallisce prima che esista RTSP.
Cause comuni di errore RTSPS
Gli errori RTSPS di solito rientrano in questi gruppi:
- La fotocamera in realtà non abilita RTSPS.
- La porta RTSP sicura è errata o bloccata.
- Il certificato della fotocamera è autofirmato.
- Il nome host del certificato non corrisponde all'URL.
- Il certificato è scaduto.
- Il client richiede TLS moderno ma la fotocamera supporta solo il vecchio TLS.
- La telecamera richiede un certificato client.
- Un proxy o un firewall termina TLS in modo errato.
- TLS ha esito positivo, ma successivamente l'autenticazione RTSP fallisce.
- RTSP riesce ma il trasporto multimediale fallisce dopo "PLAY".
Gli ultimi due sono importanti. Una volta che TLS ha esito positivo, persistono i soliti problemi RTSP. Una connessione RTSP sicura può comunque non riuscire a causa di autenticazione Digest, SDP non valido, RTP bloccato, supporto H.265, perdita di pacchetti o SPS/PPS mancante.
Mancata corrispondenza del nome del certificato
Molte telecamere vengono fornite con certificati che non corrispondono all'indirizzo effettivamente digitato dagli utenti. Il certificato può essere rilasciato a un nome host del dispositivo, mentre l'utente si connette tramite indirizzo IP:
rtsps://192.168.1.50/stream1
If the certificate subject or subject alternative name does not include 192.168.1.50, a strict client may reject it. Some players ignore this error by default; others fail hard. That is why RTSPS may work in one tool and fail in another.
For production deployments, use a certificate whose name matches the DNS name clients use. For lab diagnostics, record whether the failure is a trust error, a hostname mismatch, or a lower-level TLS handshake failure.
Self-signed camera certificates
IP cameras and NVRs often use self-signed certificates. A self-signed certificate is not automatically trusted by the operating system or application. The client may report:
certificate verify failedunknown caself signed certificateunable to get local issuer certificate
This does not prove that the stream URL is wrong. It proves that the client does not trust the certificate chain.
In a controlled environment, you can import the camera certificate or private CA into the trust store. In a product workflow, the safer answer is to make trust behavior explicit and visible instead of silently disabling verification.
Old TLS versions and cipher suites
Some cameras have old firmware and support only outdated TLS versions or cipher suites. A modern client may reject them for security reasons. The result may look like a generic connection reset or handshake failure.
Useful questions:
- Which TLS version did the camera offer?
- Did the client reject the cipher suite?
- Did the camera close the connection immediately?
- Does the same camera work with plain RTSP?
- Did a firmware update change TLS behavior?
If plain RTSP works and RTSPS fails before RTSP methods appear, focus on TLS compatibility before debugging SDP or RTP.
RTSPS authentication still matters
TLS encrypts the connection, but it does not replace RTSP authentication. After TLS succeeds, the camera may still return:
RTSP/1.0 401 Unauthorized
WWW-Authenticate: Digest realm="IP Camera", nonce="..."
Ciò significa che la connessione sicura va bene, ma il livello di accesso RTSP necessita ancora di credenziali. Gli utenti spesso confondono l'autenticazione del certificato con l'autenticazione dell'account della fotocamera. Sono separati.
La sequenza corretta è:
- Si apre la connessione TCP.
- L'handshake TLS ha esito positivo.
- La richiesta RTSP viene inviata all'interno di TLS.
- Verifica della fotocamera con autenticazione RTSP, se richiesto.
- Il client invia l'autorizzazione RTSP.
- La fotocamera restituisce l'SDP.
- Il cliente imposta le tracce multimediali.
- Arrivano i pacchetti multimediali.
Trasporto dei media dopo RTSPS
RTSPS protegge il controllo RTSP, ma i dettagli sul trasporto multimediale variano in base alla fotocamera e al client. Alcune distribuzioni utilizzano RTP interleaved sulla connessione RTSP protetta da TLS. Altri negoziano separatamente il trasporto dei media. Il comportamento del firewall e del NAT può ancora avere importanza.
Se DESCRIBE, SETUP e PLAY hanno esito positivo ma non viene visualizzato alcun video, non continuare a inseguire i certificati. Ispezionare la consegna dei media:
- I pacchetti RTP sono interfogliati sulla connessione RTSP?
- La fotocamera ha negoziato le porte UDP?
- I numeri di sequenza RTP stanno aumentando?
- SDP dichiara H.264 o H.265?
- Sono presenti i record di configurazione del codec?
- RTCP mostra perdite o jitter?
Il successo di TLS è solo un punto di controllo.
Elenco di controllo di debug per RTSPS
Usa questo ordine:
- Confermare che la fotocamera supporti RTSPS e identificare la porta RTSP sicura.
- Verificare che la connessione TCP a quella porta abbia esito positivo.
- Determinare se l'errore si verifica prima o dopo l'handshake TLS.
- Esamina l'attendibilità, la scadenza e la corrispondenza del nome host del certificato.
- Controlla la versione TLS e la compatibilità della crittografia.
- Confermare se sono richiesti i certificati client.
- Una volta che TLS funziona, controlla "OPZIONI" RTSP, "DESCRIBE", "SETUP" e "PLAY".
- Ispeziona l'autenticazione RTSP separatamente da TLS.
- Ispeziona SDP per codec e tracce.
- Ispezionare RTP e RTCP dopo l'inizio della riproduzione.
Diagnosi finale
Gli errori RTSPS devono essere suddivisi in errori TLS ed errori RTSP. Se l'handshake fallisce, esegui il debug di certificati, attendibilità, nome host, versione TLS, suite di crittografia e porta protetta. Se l'handshake ha esito positivo, esegui il debug di RTSP esattamente come faresti per un flusso normale: autenticazione, SDP, trasporto, RTP, RTCP e prove codec.
RTSP Inspector si adatta a questo flusso di lavoro perché mantiene la diagnosi su più livelli. Lo streaming protetto dalla telecamera non significa semplicemente "il lettore apre il video" o "il lettore non funziona". È una catena di passaggi del protocollo osservabili e la correzione dipende dal primo collegamento interrotto.