Closed gpantanetti closed 2 years ago
Oggi provando a validare il metadata (generato con spid-php) su demo.spid.gov.it/validator, mi esce di nuovo l'errore: failure - value: ("load_der_x509_certificate() missing 1 required positional argument: 'backend'",)
c'entra qualcosa con il problema di questa issue?
Le verifiche Strict dei metadata.xml restituiscono costantemente l'errore n.81:
Dovuto alla chiamata
x509.load_der_x509_certificate(der)
della libreria spid-compliant-certificate effettuata su una versione della libreria cryptography non compatibile.Sospetto che ciò sia causato dall'installazione del pacchetto python3-pip che dipende dal pacchetto python3-cryptography.
Installando il pacchetto python3-cryptography, infatti, viene successivamente soddisfatto il requisito della libreria cryptography richiesto dall'installazione della libreria spid-sp-test (riga 39 del
Dockerfile
) con lo switch--upgrade
.Infatti, durante il build dell'immagine, viene restituito:
Ciò comporta che nell'immagine del container
spid-saml-check
non sarà presente la versione 35 della libreria cryptography richiesta da spid-compliant-certificate.Ciò è verificabile con i comandi:
Installando la libreria spid-sp-test senza lo switch
--upgrade
, pip3 richiede l'installazione della versione corretta di cryptography ma, sfortunatamente, l'installazione non va a buon fine restituiendo:Ciò perché, dalla versione 35.0.0 di cryptography, Rust è necessario per la compilazione (Rif. https://cryptography.io/en/latest/changelog/#v35-0-0).
È possibile superare il problema modificando il
Dockerfile
con la migrazione all'immaginenode:12-bullseye-slim
e l'eliminazione dello switch--upgrade
dal comandopip3
per l'installazione della libreria spid-sp-test.In questo modo, l'installazione di spid-sp-test va a buon fine con la corretta versione di cryptography richiesta da spid-compliant-certificate (v.35).