Contesto essenziale #
Una multifunzione Toshiba e-STUDIO4528A appena aggiunta in CUPS non stampava la pagina di prova. Il job restava in coda e la coda veniva disabilitata con il messaggio Credentials are invalid, che si riferisce al certificato TLS della stampante.
Quando la coda usa IPPS (IPP su TLS), CUPS applica il trust on first use: al primo collegamento salva il certificato della stampante in /etc/cups/ssl/ e da quel momento rifiuta qualsiasi certificato diverso. Molte stampanti si generano da sole un certificato autofirmato e lo rinnovano alla scadenza. Dopo il rinnovo CUPS vede un certificato diverso e blocca la coda.
Il caso è su Fedora 44 con CUPS 2.4, ma vale per qualsiasi stampante raggiunta via ipps:// o tramite dnssd://..._ipps._tcp.
Prerequisiti #
- Accesso
sudo(/etc/cups/ssl/è leggibile solo da root) ipptooleopensslper interrogare la stampante
Installazione rapida #
Fedora / RHEL #
sudo dnf install cups-ipptool opensslDebian/Ubuntu #
sudo apt install cups-ipp-utils opensslArch Linux #
sudo pacman -S cups opensslProcedura passo-passo #
1. Controllare lo stato della coda #
lpstat -tOutput nel caso reale (righe rilevanti):
dispositivo per e-STUDIO4528A: dnssd://TOSHIBA%20e-STUDIO4528A-15850971._ipps._tcp.local/?uuid=...
la stampante e-STUDIO4528A è stata disabilitata da mer 14 ott 2026, 09:55:03
Credentials are invalid
e-STUDIO4528A-91 alessandro 1024 mer 14 ott 2026, 09:55:03Il servizio _ipps._tcp nell’URI conferma che la connessione è cifrata. La coda è ferma e il job della pagina di prova è ancora in attesa.
2. Leggere il log di CUPS #
journalctl -u cups --since "-30min" --no-pager | grep -iE 'credentials|pki'Output nel caso reale:
[Job 91] Credentials are invalid (Le nuove credenziali non sono valide per il nome.)
[Job 91] Printer credentials: MFP15850971 (issued by OrganizationName) / Mon, 04 Oct 2027 01:00:54 GMT / RSA-SHA256 / 3469C82DDE606623EB96848F4C85A653
[Job 91] Stored credentials: MFP15850971 (issued by OrganizationName) / Fri, 02 Oct 2026 08:00:02 GMT / RSA-SHA256 / 9172CB8249D02F78CA78D0325AA2E617
[Job 91] STATE: +cups-pki-invalidLe due righe da confrontare sono:
Printer credentials: il certificato che la stampante presenta adesso, con scadenza nel 2027Stored credentials: il certificato salvato da CUPS, scaduto il 2 ottobre 2026
Le impronte sono diverse, quindi CUPS segnala cups-pki-invalid e mette in pausa la coda.
3. Verificare il certificato della stampante #
echo | openssl s_client -connect <ip-stampante>:631 2>/dev/null \
| openssl x509 -noout -subject -dates -fingerprint -sha256Output nel caso reale:
subject=C=CountryName, ST=StateName, O=OrganizationName, OU=OrganizationUnit, CN=MFP15850971, ...
notBefore=Oct 4 01:00:54 2026 GMT
notAfter=Oct 4 01:00:54 2027 GMTIl certificato è stato generato il 4 ottobre: la stampante l’ha rinnovato da sola poco dopo la scadenza del precedente. I campi CountryName e OrganizationName sono i valori predefiniti del firmware, tipici di un certificato autofirmato generato in automatico.
4. Escludere altri problemi lato stampante #
ipptool -tv ipps://<ip-stampante>/ipp/print get-printer-attributes.test \
| grep -E 'printer-state|uri-authentication|uri-security'Output nel caso reale:
uri-authentication-supported (keyword) = none
uri-security-supported (keyword) = tls
printer-state-message (textWithoutLanguage) = IPP Printer is Idle
printer-state (enum) = idleLa stampante è inattiva in attesa di lavori e non chiede autenticazione per stampare. Resta solo il certificato.
5. Individuare il certificato salvato #
sudo ls -la /etc/cups/ssl/-rw-------. 1 root lp 1486 28 apr 10.07 MFP15850971.local.crtIl file ha il nome mDNS della stampante (MFP15850971.local). In questo caso risaliva ad aprile: la stessa stampante era già stata usata da questo host con una coda precedente.
6. Spostare il certificato e riattivare la coda #
Rinominare il file invece di cancellarlo permette di tornare indietro:
sudo mv /etc/cups/ssl/<host>.local.crt /etc/cups/ssl/<host>.local.crt.bak
sudo cupsenable <stampante>Al collegamento successivo CUPS non trova certificati salvati, accetta quello attuale e lo memorizza. Il job rimasto in coda riparte da solo.
7. Verificare #
lpstat -p <stampante>
lpstat -W completed -o <stampante> | tail -3
sudo ls -la /etc/cups/ssl/Output nel caso reale:
la stampante e-STUDIO4528A è inattiva. è stata abilitata da mer 14 ott 2026, 10:03:38
e-STUDIO4528A-91 alessandro 1024 mer 14 ott 2026, 10:03:38
-rw-------. 1 root lp 1486 14 ott 10.03 MFP15850971.local.crtIl job 91 risulta completato e in /etc/cups/ssl/ c’è un nuovo certificato con la data di oggi. Quando non serve più, il file .bak si può eliminare.
Errori comuni #
-
Si cambia la password admin o si cercano credenziali utente
Credentials are invalidin questo contesto si riferisce al certificato TLS, non a utente e password. Confermarlo con le righePrinter credentialseStored credentialsdel journal -
Si ricrea la coda da zero e l’errore resta Il certificato salvato è legato al nome host della stampante, non alla coda. Eliminare e ricreare la coda non tocca
/etc/cups/ssl/ -
cupsenableriattiva la coda ma si blocca subito di nuovo Il certificato salvato è ancora al suo posto. Controllare il nome del file in/etc/cups/ssl/: deve coincidere con l’host che compare nel log (Connecting to <host>:631) -
Anche il certificato presentato dalla stampante è scaduto Controllare
notAftercon il comando del passo 3. Se la data è passata, il problema è lato stampante: conviene rigenerare il certificato dall’interfaccia di amministrazione della stampante -
ls /etc/cups/ssl/restituiscePermission deniedLa directory è accessibile solo a root e al gruppolp: anteporresudo
Note operative #
- Il problema si ripresenta a ogni rinnovo del certificato. Nel caso reale accadrà intorno al 4 ottobre 2027, data di scadenza del certificato attuale. Si può leggere in anticipo con il comando del passo 3
- Per evitarlo ci sono due strade:
- caricare sulla stampante un certificato con una scadenza lunga, autofirmato o firmato da una CA interna, dall’interfaccia di amministrazione (su Toshiba la sezione TLS/certificati)
- usare una coda IPP senza cifratura. È accettabile solo su una rete interna fidata, perché i documenti viaggiano in chiaro:
sudo lpadmin -p <stampante> -v ipp://<ip-stampante>/ipp/print- Prima di riattivare la coda, conviene accertarsi che il nuovo certificato provenga davvero dalla stampante. Un certificato cambiato senza motivo può anche indicare un dispositivo diverso che ha preso lo stesso nome o lo stesso indirizzo. Nel caso reale le date di emissione e il nome
CNcorrispondevano al rinnovo automatico - Se in
/etc/cups/ssl/ci sono certificati di stampanti che non esistono più, si possono spostare altrove senza conseguenze: CUPS li riscrive al primo collegamento