User Tools

Site Tools


doc:appunti:linux:sa:ssl_cert

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:ssl_cert [2019/11/08 12:29] – [File p7s] niccolodoc:appunti:linux:sa:ssl_cert [2020/10/07 10:21] (current) – [Verificare un certificato SSL su HTTPS] niccolo
Line 66: Line 66:
 </code> </code>
  
-===== File p7m =====+===== Verificare un certificato SSL su HTTPS =====
  
-La Pubblica Amministrazione italiana distribuisce i documenti firmati digitalmente sotto forma di file con estensione **.p7m**. Ecco come estrarne il contenuto se si tratta di un formato **''PEM''** (altri enti usano il formato **''DER''**):+Con il tool **openssl** è possibile verificare la possibilità di stabilire una connessione SSL con un server via HTTPS:
  
 <code> <code>
-openssl smime -decrypt -verify -inform PEM -in doc_2018966.pdf.p7m -noverify -out doc_2018966.pdf+openssl s_client -connect www.domain.tld:443
 </code> </code>
  
-Il documento originale al suo interno si presenta in questo modo:+Se la verifica funziona correttamente, l'ultima riga dell'output dovrebbe essere:
  
-<file+<code
------BEGIN PKCS7----- +Verify return code: 0 (ok) 
-MIMDRc4GCSqGSIb3DQEHAqCDA0W+MIMDRbkCAQExDzANBglghkgBZQMEAgEFADCDAz8iBgkq +</code> 
-... + 
-zqFeaEs7Wsxim1xXyGnGOt2yxzAWuEYba0ggHa7prfr4vsthafc1KRic/8L9/6Czzg== +La mancata installazione in locale del certificato della CA invece produce questo errore: 
------END PKCS7----- + 
-</file>+<code> 
 +Verify return code: 20 (unable to get local issuer certificate) 
 +</code>
  
-Se si desidera estrarre il certificato:+È possibile specificare manualmente il percorso del certificato con l'opzione **%%-CAfile%%**:
  
 <code> <code>
-openssl pkcs7 -in doc_2018966.pdf.p7m -print_certs -out certificate.pem -text+openssl s_client -connect www.domain.tld:443 -CAfile /usr/lib/ssl/certs/DigiCert_Global_Root_CA.pem
 </code> </code>
  
 +Ovviamente è consigliabile copiare il certificato nella posizione in cui la libreria lo trova automaticamente, anche solo con un link simbolico. Per una compilazione locale di libssl dovrebbe essere **/usr/local/ssl/cert.pem**, per una installazione di sistema invece dovrebbe essere **/usr/lib/ssl/cert.pem**.
  
doc/appunti/linux/sa/ssl_cert.1573212550.txt.gz · Last modified: 2019/11/08 12:29 by niccolo