Aggiungere https alla mia applicazione locale usando un certificato gratuito

di il
23 risposte

23 Risposte - Pagina 2

  • Re: Aggiungere https alla mia applicazione locale usando un certificato gratuito

    Quindi per riassumere, fammi sapere se ciò che scrivo è corretto:
    I certificati sono dei file che devono essere aggiunti al server Tomcat per creare una connessione HTTPS sicura tra client e server. Questi certificati contengono anche il nome dell’ente certificatore che permette al browser di capire se tale ente è valido oppure no. Tutti gli enti certificatori discendono da una serie di enti capostipiti che sono inglobati nel codice del browser. I file dei certificati contengono quindi le informazioni che permettono al browser di capire da dove deriva un preciso ente certificatore ed essenzialmente delle password utilizzate per rendere la connessione tra server e client sicura.
    Se il mio riassunto può essere accettato anche da chi come te ha un’alta preparazione ti faccio una serie di altre domande:
    1) Qual è sostanzialmente la differenza tra un ente certificatore free ed uno a pagamento? Sicurezza? Durata del certificato? Altro?
    2) Se creo con l'OS o qualche programma un certificato falso firmato da me, oltre che in locale anche sul server di produzione, è lapalissiano che il browser mi giudichi come non sicuro ma in termini fisici/tecnici la mia connessione HTTPS offrirebbe una connessione altrettanto sicura come quella di un ente certificatore di prestigio dal punto di vista informatico?
    3) Dato che il certificato contiene password e firme digitali, ovvero informazioni digitali che permettono l’individuazione certa ed inoppugnabile della provenienza di un ente certificatore, la funzionalità HTTPS, ovvero il software o meglio ancora il codice che rende possibile suddetta connessione, dove risiede? Metà sul browser e metà sul server, su entrambi (chrome e tomcat) oppure altrove? Io parlo di tomcat perché sto creando una webapp in Spring Boot 2 e Java 1.11.
    4) Dal punto di vista pratico, nel mio caso (ho il braccetto corto) ritieni che mi convenga impostare una connessione HTTPS fasulla ovvero firmata da me in locale ed una vera (Let's Encrypt) sul server di produzione? In pratica vorrei caricare i certificati fasulli sul server tomcat creato dal mio IDE in locale e quelli veri sul server tomcat fisico su cui metterò la WebApp.
    5) Per quanto riguarda Let's Encrypt ho letto per sommi capi una guida che spiegava come fare in modo che i certificati sul server venissero automaticamente aggiornati poco prima della scadenza ma nella stessa guida, nella parte finale, si scriveva anche che per fare ciò sarebbe stato indispensabile riavviare il server. Quest’ultimo aspetto mi ha lasciato un po’ perplesso. Posso automatizzare il riavvio del server? E’ una cosa complessa da fare? Se mentre riavvio il server qualche client era connesso sul mio sito e stava facendo qualcosa? Insomma, non mi sembra una soluzione ottimale questo Let's Encrypt e questo "HTTPS free" mi sembra che comporti costi di mantenimento elevatissimi.
    6) Cosa succede quando il certificato scade? Il browser si limita a scrivere “Non sicuro” oppure il sito diventa irraggiungibile?
    Come vedi sono domande molto generali, non ho scritto e non desidero leggere codice ora, solo capire un po’ le soluzioni che ho davanti a me e capire questo enorme capitolo di cui sono totalmente ignorante. Un grazie infinito per i tuoi interventi +m2+ perché mi hanno fatto capire molto. Un grazie doppio per essere stato in grado di spiegare in modo semplice e alla mia portata concetti così complessi dell'informatica.
  • Re: Aggiungere https alla mia applicazione locale usando un certificato gratuito

    iBaffiPro ha scritto:


    Quindi per riassumere, fammi sapere se ciò che scrivo è corretto:
    I certificati sono dei file che devono essere aggiunti al server Tomcat per creare una connessione HTTPS sicura tra client e server. Questi certificati contengono anche il nome dell’ente certificatore che permette al browser di capire se tale ente è valido oppure no. Tutti gli enti certificatori discendono da una serie di enti capostipiti che sono inglobati nel codice del browser. I file dei certificati contengono quindi le informazioni che permettono al browser di capire da dove deriva un preciso ente certificatore ed essenzialmente delle password utilizzate per rendere la connessione tra server e client sicura.
    In realtà non proprio, diciamo un 70%
    1) Qual è sostanzialmente la differenza tra un ente certificatore free ed uno a pagamento? Sicurezza? Durata del certificato? Altro?
    Sicurezza in parte (è più placebo che altro).
    Durata senza dubbio.
    In certi casi la disponibilità di certificati *
    2) Se creo con l'OS o qualche programma un certificato falso firmato da me, oltre che in locale anche sul server di produzione, è lapalissiano che il browser mi giudichi come non sicuro ma in termini fisici/tecnici la mia connessione HTTPS offrirebbe una connessione altrettanto sicura come quella di un ente certificatore di prestigio dal punto di vista informatico?

    Non è un certificato falso, è solo autofirmato.
    Si fa spessissimo ad esempio per fare connessioni ssh con autenticazione a chiavi pubbliche
    3) Dato che il certificato contiene password e firme digitali, ovvero informazioni digitali che permettono l’individuazione certa ed inoppugnabile della provenienza di un ente certificatore,
    In realtà no, il certificato contiene delle chiavi pubbliche e/o private (versione condensata).
    Le password (di cifratura simmetrica) vengono scambiate mediante un protocollo particolare (in realtà tipicamente ce ne sono 3) dopo una prima fase di scambio di chiavi asimmetriche

    Minimo approfondimento: esistono due grandi tipologia di cifratura.
    Quelle a chiave simmetrica (ogni parte conosce la password, diciamo pippo, PRIMA del colloquio telematico), e quelle a chiave asimmetrica (ogni parte conosce la chiave pubblica dell'altro e la privata propria)

    La seconda tipologia (cifratura asimmetrica) funziona a sua volta con tanti metodi diversi, due in particolare sono i più usati, uno della quali molto di più.
    Come funziona? Troppo lungo da spiegare.

    In sostanza Tizio e Caio vogliono cifrare il traffico che c'è tra di loro.
    Però non si conoscono, non hanno una password prefissata.

    Tizio e Caio iniziano a "palleggiarsi" dei dati tra di loro e, con un metodo "magico", arrivano a stabilire la stessa password, diciamo pippone27.
    Adesso con quella password cifrano (con algoritmo simmetrico) i dati che si scambiano.

    Nel frattempo Caio e Sempronio (un altro client) fanno di nuovo questa fase di "accordo", e stabiliscono una password diciamo plutonio12. Essa è diversa da quella di Tizio e Caio
    Ecco perchè Tizio e Caio non potranno leggere il traffico di Caio e Sempronio
    la funzionalità HTTPS, ovvero il software o meglio ancora il codice che rende possibile suddetta connessione, dove risiede? Metà sul browser e metà sul server, su entrambi (chrome e tomcat) oppure altrove?[/u]
    Su entrambi
    4) Dal punto di vista pratico, nel mio caso (ho il braccetto corto) ritieni che mi convenga impostare una connessione HTTPS fasulla ovvero firmata da me in locale ed una vera (Let's Encrypt) sul server di produzione? In pratica vorrei caricare i certificati fasulli sul server tomcat creato dal mio IDE in locale e quelli veri sul server tomcat fisico su cui metterò la WebApp.
    No, non ha senso.
    Basta che alteri il file hosts (locale) e "fingerai" che localhost diventi www.ilmiobelserver.co
    5) Per quanto riguarda Let's Encrypt ho letto per sommi capi una guida che spiegava come fare in modo che i certificati sul server venissero automaticamente aggiornati poco prima della scadenza ma nella stessa guida, nella parte finale, si scriveva anche che per fare ciò sarebbe stato indispensabile riavviare il server.
    No, per niente.
    Al massimo riavviare il server inteso come programma server web, non come macchina fisica.
    Alcuni server web ricaricano i certificati senza riavviare niente (basta mandare un SIGNAL apposito)
    Quest’ultimo aspetto mi ha lasciato un po’ perplesso. Posso automatizzare il riavvio del server? E’ una cosa complessa da fare? Se mentre riavvio il server qualche client era connesso sul mio sito e stava facendo qualcosa?
    Può cadere la connessione
    Insomma, non mi sembra una soluzione ottimale questo Let's Encrypt e questo "HTTPS free" mi sembra che comporti costi di mantenimento elevatissimi.
    Scusa ma che problema c'è?
    1) non usi niente
    2) usi autofirmato (ma avrai sempre avvisi di ogni genere)
    3) usi let's e ti adatti
    4) paghi
    6) Cosa succede quando il certificato scade? Il browser si limita a scrivere “Non sicuro” oppure il sito diventa irraggiungibile?
    La prima
  • Re: Aggiungere https alla mia applicazione locale usando un certificato gratuito

    Come si fa operativamente con Tomcat?
    Dopo aver ricevuto "magicamente" il certificato usi keytool per importarlo nel keystore
    EDIT:o averlo auto-generato
    Nel frattempo magari importerai i vari certficati root e intermedi (dell'ente certificatore). Talvolta è un singolo file, perchè sono già giustapposti (sono banali file di testo accodati), talvolta sono "slegati" tra di loro, quindi o li accodi o li carichi separatamente.
    Insomma, dipende.

    Si edita il file server.xml e poi metti un connector del tipo (a grandi linee, di solito ci sono un sacco di parametri, metto a memoria i principali)
    
    <Connector port="443" scheme="https" SSLEnabled="true" sslProtocol="TLS" 
               keystoreFile="iltuomerviglioso_sito.jks"
               keystorePass="la tua stupenda password del keystore" />
    poi riavvii il server tomcat (non il server fisico!)

    Questo a grandissime linee, troverai 1000 guide fatte più o meno bene per le varie versioni di tomcat ed i vari sistemi operativi
  • Re: Aggiungere https alla mia applicazione locale usando un certificato gratuito

    Il certificato di questo sito è
    
    -----BEGIN CERTIFICATE-----
    MIIGRjCCBS6gAwIBAgIQM/V9esEHDWYX30+IVre7mDANBgkqhkiG9w0BAQsFADCB
    jzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
    A1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQD
    Ey5TZWN0aWdvIFJTQSBEb21haW4gVmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENB
    MB4XDTIwMDIyNjAwMDAwMFoXDTIyMDIyMjIzNTk1OVowIDEeMBwGA1UEAxMVd3d3
    Lmlwcm9ncmFtbWF0b3JpLml0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
    AQEAvI7rMweaK/0VGA4W0vzjCcyey0tZ9dihIwWBZDAf1rF1Pq/Ban//FduZtttJ
    /up+J0UVCQKXCrIvu2y2FM+8P0uDRvuKtij3JbxJzyH7sMdmYYLhyzlXQSun2/bT
    8VrDIRhjR5OG3j6SPGqFWIziUpYdgOwVyGj+dtj76SneVLlJKcpjrc2/Vu6mmOXq
    dYKkCDDEQkyXBi7GHe259vyrR70rNwfUw8ihu8DUhYfpMIDoUE2JM5Um7T74YCwQ
    w6Y1GyHKtojjEX0gaZub+qsuE317wJ8H0zKTPdEW/xZzJF/ipOTChl0FGK8T9VBi
    84HCmhf5zDFP/wXDRw827L0svwIDAQABo4IDCjCCAwYwHwYDVR0jBBgwFoAUjYxe
    xFStiuF36Zv5mwXhuAGNYeEwHQYDVR0OBBYEFB94FIEd7FuYpda8JK/tuOf5VFBi
    MA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUF
    BwMBBggrBgEFBQcDAjBJBgNVHSAEQjBAMDQGCysGAQQBsjEBAgIHMCUwIwYIKwYB
    BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMAgGBmeBDAECATCBhAYIKwYB
    BQUHAQEEeDB2ME8GCCsGAQUFBzAChkNodHRwOi8vY3J0LnNlY3RpZ28uY29tL1Nl
    Y3RpZ29SU0FEb21haW5WYWxpZGF0aW9uU2VjdXJlU2VydmVyQ0EuY3J0MCMGCCsG
    AQUFBzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNvbTAzBgNVHREELDAqghV3d3cu
    aXByb2dyYW1tYXRvcmkuaXSCEWlwcm9ncmFtbWF0b3JpLml0MIIBfgYKKwYBBAHW
    eQIEAgSCAW4EggFqAWgAdQBGpVXrdfqRIDC1oolp9PN9ESxBdL79SbiFq/L8cP5t
    RwAAAXCCwZi1AAAEAwBGMEQCIHs+DY0AKVuUsd2oE4U+DYIzeHBdX41cpVaeK+S7
    5ukLAiA72odsQo4chrJn3LxJavps7eZtBQPknb2uhW8OVnZ5IAB2AN+lXqtogk8f
    bK3uuF9OPlrqzaISpGpejjsSwCBEXCpzAAABcILBmMsAAAQDAEcwRQIgT4l63kvp
    oZgQTtGOlFWe9e/osENZkxHRV+GI0kIcf1ECIQDkWzNtphhCZVk5p9HGvghL4Xjo
    twsiapI6cr3Xdtvp8wB3AEHIyrHfIkZKEMahOglCh15OMYsbA+vrS8do8JBilgb2
    AAABcILBmKkAAAQDAEgwRgIhAMA1ksqlgmJW/oeppAaxHqZ0Tz1Jt0QvRELL9ihL
    cbBfAiEAmdcdFc3AfrIab74XCGCverRZSlncG4xhoUKXiZhsUHwwDQYJKoZIhvcN
    AQELBQADggEBACVlISY+oN0kw3+x96Q6XFa7tQhqSNGt+aBOt/bkymUxSR+NiJxD
    0ahsD5EuSzEo1Zze1HZQwwxLsL9dG4Twj3/astHa7K9y+sr2eeS7YSxnyUmvoWwL
    ShDPFAVPmNlcxFa5fLFbF/L/Y1GJ53zpG8KBfP2axeu23rupbVEk+VH8STYHk9kq
    0Y181vPifwh0eGOjCuTpwAWZgz4LPye4Ezicfpzzh+73WAOLHKm2gNZzgDMIU3Rf
    IB/ZSJTD1hKX+uAXVH1kAt5p3lbi2CzAJ5zU4ERfqmfyMozz3tKyA36djZ/aQmkC
    Nmg/5Hc7TusJqyvFdwDppAmIilq4+qoEnfE=
    -----END CERTIFICATE-----
    
    Come vedi è codificato mime64, decodificato diventa
    
    0F0.3}z
    fOV0
    	*H
    ?010	UGB10UGreater Manchester10USalford10U
    Sectigo Limited1705U.Sectigo RSA Domain Validation Secure Server CA0
    200226000000Z
    220222235959Z0 10Uwww.iprogrammatori.it0"0
    	*H
    ??0
    ?3+	?KY?#d0?u>j?I~'E	
    /l??KF(%I!fa9WA+Z!cG><jXRhv)TI)c?V?u0BL.G+7??0PM3&>`,æ5!?} i.}{2=s$_?]Pb?1OG6,?
    00U#0^Twa0Ux[?$TPb0U0U0?0U%0++0IU B0@04+10%0#+https://sectigo.com/CPS0g0+x0v0O+0Chttp://crt.sectigo.com/SectigoRSADomainValidationSecureServerCA.crt0#+0http://ocsp.sectigo.com03U,0*www.iprogrammatori.itiprogrammatori.it0~
    +ynjh?u?FUu 0i},AtIpmG??p???F0D {>
    ?)[?>
    3xp]_\V+ ;?lBg?Ijlm?oVvy ?v??^hOl_N>Z?j^; D\*s??p???G0E OzK?N?UCYWBQ!?[3mBeY9?Kx"j:rv?w?A?"FJo:	B^N1Khb??p???H0F!?5?bVtO=ID/DB(Kq_!?~o`zYJYaBlP|0
    	*H
    ??%e!&>$:\VjH?Ne1IC?l.K1(?vPK]?rya,gIlJO\V|[cQ||?mQ$QI6*?|txc
    >?'8~Xs3St_ HT}diV,'D_g2?~Bi6h?w;N	+w?	Z
    Ovviamente ci sono campi binari e di testo, però spero una vaga idea sia chiara.
    E' rilasciato da sectigo.com per www.iprogrammatori.i

    Una decodifica "seria" si può fare così
    
    openssl x509 -in wwwiprogrammatoriit.crt -text -noout
    ottenendo
    
    Certificate:
        Data:
            Version: 3 (0x2)
            Serial Number:
                33:f5:7d:7a:c1:07:0d:66:17:df:4f:88:56:b7:bb:98
        Signature Algorithm: sha256WithRSAEncryption
            Issuer: C=GB, ST=Greater Manchester, L=Salford, O=Sectigo Limited, CN=Sectigo RSA Domain Validation Secure Server CA
            Validity
                Not Before: Feb 26 00:00:00 2020 GMT
                Not After : Feb 22 23:59:59 2022 GMT
            Subject: CN=www.iprogrammatori.it
            Subject Public Key Info:
                Public Key Algorithm: rsaEncryption
                    Public-Key: (2048 bit)
                    Modulus:
                        00:bc:8e:eb:33:07:9a:2b:fd:15:18:0e:16:d2:fc:
                        e3:09:cc:9e:cb:4b:59:f5:d8:a1:23:05:81:64:30:
                        1f:d6:b1:75:3e:af:c1:6a:7f:ff:15:db:99:b6:db:
                        49:fe:ea:7e:27:45:15:09:02:97:0a:b2:2f:bb:6c:
                        b6:14:cf:bc:3f:4b:83:46:fb:8a:b6:28:f7:25:bc:
                        49:cf:21:fb:b0:c7:66:61:82:e1:cb:39:57:41:2b:
                        a7:db:f6:d3:f1:5a:c3:21:18:63:47:93:86:de:3e:
                        92:3c:6a:85:58:8c:e2:52:96:1d:80:ec:15:c8:68:
                        fe:76:d8:fb:e9:29:de:54:b9:49:29:ca:63:ad:cd:
                        bf:56:ee:a6:98:e5:ea:75:82:a4:08:30:c4:42:4c:
                        97:06:2e:c6:1d:ed:b9:f6:fc:ab:47:bd:2b:37:07:
                        d4:c3:c8:a1:bb:c0:d4:85:87:e9:30:80:e8:50:4d:
                        89:33:95:26:ed:3e:f8:60:2c:10:c3:a6:35:1b:21:
                        ca:b6:88:e3:11:7d:20:69:9b:9b:fa:ab:2e:13:7d:
                        7b:c0:9f:07:d3:32:93:3d:d1:16:ff:16:73:24:5f:
                        e2:a4:e4:c2:86:5d:05:18:af:13:f5:50:62:f3:81:
                        c2:9a:17:f9:cc:31:4f:ff:05:c3:47:0f:36:ec:bd:
                        2c:bf
                    Exponent: 65537 (0x10001)
            X509v3 extensions:
                X509v3 Authority Key Identifier: 
                    keyid:8D:8C:5E:C4:54:AD:8A:E1:77:E9:9B:F9:9B:05:E1:B8:01:8D:61:E1
    
                X509v3 Subject Key Identifier: 
                    1F:78:14:81:1D:EC:5B:98:A5:D6:BC:24:AF:ED:B8:E7:F9:54:50:62
                X509v3 Key Usage: critical
                    Digital Signature, Key Encipherment
                X509v3 Basic Constraints: critical
                    CA:FALSE
                X509v3 Extended Key Usage: 
                    TLS Web Server Authentication, TLS Web Client Authentication
                X509v3 Certificate Policies: 
                    Policy: 1.3.6.1.4.1.6449.1.2.2.7
                      CPS: https://sectigo.com/CPS
                    Policy: 2.23.140.1.2.1
    
                Authority Information Access: 
                    CA Issuers - URI:http://crt.sectigo.com/SectigoRSADomainValidationSecureServerCA.crt
                    OCSP - URI:http://ocsp.sectigo.com
    
                X509v3 Subject Alternative Name: 
                    DNS:www.iprogrammatori.it, DNS:iprogrammatori.it
                CT Precertificate SCTs: 
                    Signed Certificate Timestamp:
                        Version   : v1(0)
                        Log ID    : 46:A5:55:EB:75:FA:91:20:30:B5:A2:89:69:F4:F3:7D:
                                    11:2C:41:74:BE:FD:49:B8:85:AB:F2:FC:70:FE:6D:47
                        Timestamp : Feb 26 18:28:10.549 2020 GMT
                        Extensions: none
                        Signature : ecdsa-with-SHA256
                                    30:44:02:20:7B:3E:0D:8D:00:29:5B:94:B1:DD:A8:13:
                                    85:3E:0D:82:33:78:70:5D:5F:8D:5C:A5:56:9E:2B:E4:
                                    BB:E6:E9:0B:02:20:3B:DA:87:6C:42:8E:1C:86:B2:67:
                                    DC:BC:49:6A:FA:6C:ED:E6:6D:05:03:E4:9D:BD:AE:85:
                                    6F:0E:56:76:79:20
                    Signed Certificate Timestamp:
                        Version   : v1(0)
                        Log ID    : DF:A5:5E:AB:68:82:4F:1F:6C:AD:EE:B8:5F:4E:3E:5A:
                                    EA:CD:A2:12:A4:6A:5E:8E:3B:12:C0:20:44:5C:2A:73
                        Timestamp : Feb 26 18:28:10.571 2020 GMT
                        Extensions: none
                        Signature : ecdsa-with-SHA256
                                    30:45:02:20:4F:89:7A:DE:4B:E9:A1:98:10:4E:D1:8E:
                                    94:55:9E:F5:EF:E8:B0:43:59:93:11:D1:57:E1:88:D2:
                                    42:1C:7F:51:02:21:00:E4:5B:33:6D:A6:18:42:65:59:
                                    39:A7:D1:C6:BE:08:4B:E1:78:E8:B7:0B:22:6A:92:3A:
                                    72:BD:D7:76:DB:E9:F3
                    Signed Certificate Timestamp:
                        Version   : v1(0)
                        Log ID    : 41:C8:CA:B1:DF:22:46:4A:10:C6:A1:3A:09:42:87:5E:
                                    4E:31:8B:1B:03:EB:EB:4B:C7:68:F0:90:62:96:06:F6
                        Timestamp : Feb 26 18:28:10.537 2020 GMT
                        Extensions: none
                        Signature : ecdsa-with-SHA256
                                    30:46:02:21:00:C0:35:92:CA:A5:82:62:56:FE:87:A9:
                                    A4:06:B1:1E:A6:74:4F:3D:49:B7:44:2F:44:42:CB:F6:
                                    28:4B:71:B0:5F:02:21:00:99:D7:1D:15:CD:C0:7E:B2:
                                    1A:6F:BE:17:08:60:AF:7A:B4:59:4A:59:DC:1B:8C:61:
                                    A1:42:97:89:98:6C:50:7C
        Signature Algorithm: sha256WithRSAEncryption
             25:65:21:26:3e:a0:dd:24:c3:7f:b1:f7:a4:3a:5c:56:bb:b5:
             08:6a:48:d1:ad:f9:a0:4e:b7:f6:e4:ca:65:31:49:1f:8d:88:
             9c:43:d1:a8:6c:0f:91:2e:4b:31:28:d5:9c:de:d4:76:50:c3:
             0c:4b:b0:bf:5d:1b:84:f0:8f:7f:da:b2:d1:da:ec:af:72:fa:
             ca:f6:79:e4:bb:61:2c:67:c9:49:af:a1:6c:0b:4a:10:cf:14:
             05:4f:98:d9:5c:c4:56:b9:7c:b1:5b:17:f2:ff:63:51:89:e7:
             7c:e9:1b:c2:81:7c:fd:9a:c5:eb:b6:de:bb:a9:6d:51:24:f9:
             51:fc:49:36:07:93:d9:2a:d1:8d:7c:d6:f3:e2:7f:08:74:78:
             63:a3:0a:e4:e9:c0:05:99:83:3e:0b:3f:27:b8:13:38:9c:7e:
             9c:f3:87:ee:f7:58:03:8b:1c:a9:b6:80:d6:73:80:33:08:53:
             74:5f:20:1f:d9:48:94:c3:d6:12:97:fa:e0:17:54:7d:64:02:
             de:69:de:56:e2:d8:2c:c0:27:9c:d4:e0:44:5f:aa:67:f2:32:
             8c:f3:de:d2:b2:03:7e:9d:8d:9f:da:42:69:02:36:68:3f:e4:
             77:3b:4e:eb:09:ab:2b:c5:77:00:e9:a4:09:88:8a:5a:b8:fa:
             aa:04:9d:f1
    
    Come vedi scadrà nel 2022, ci sono "normali" firme SHA-256 etc.

    Se sei veramente curioso di vedere i "supercertificati" (cioè quelli ritenuti affidabili, hardcoded) ecco alcuni di quell macos (Sierra)
    https://support.apple.com/it-it/HT20718

    Nel caso di altri SO, tipicamente, non sono "nel" sistema operativa, ma nei browser
    Per mozilla li vedi qui
    https://wiki.mozilla.org/C
    e qui
    https://ccadb-public.secure.force.com/mozilla/CAInformationReport

    Insomma questa è la punta dell'iceberg
  • Re: Aggiungere https alla mia applicazione locale usando un certificato gratuito

    Grazie mille per tutto.
    Cosa non è corretto di quello che ho scritto?
    I certificati sono dei file che devono essere aggiunti al server Tomcat per creare una connessione HTTPS sicura tra client e server. Questi certificati contengono anche il nome dell’ente certificatore che permette al browser di capire se tale ente è valido oppure no. Tutti gli enti certificatori discendono da una serie di enti capostipiti che sono inglobati nel codice del browser. I file dei certificati contengono quindi le informazioni che permettono al browser di capire da dove deriva un preciso ente certificatore ed essenzialmente delle password utilizzate per rendere la connessione tra server e client sicura.
    In realtà non proprio, diciamo un 70%
    Ti riferisci al fatto che su mac i certificati risiedono nell'OS e non nel browser?
  • Re: Aggiungere https alla mia applicazione locale usando un certificato gratuito

    Non ho potuto rispondere prima x impegni vari lavorativi ma ho letto vari pezzi della discussione.

    iBaffiPro ha scritto:


    Per la verità pensavo di realizzare un pannello di controllo in cui l'utente principale del sito sceglie il tipo di connessione da utilizzare.
    Non solo NON si fa (come ti è già stato detto da +m2+). Ma se si ha a disposizione https, spesso/tipicamente si fa in modo da redirezionare sempre e solo verso https. È proprio quello che ho fatto ad esempio per il mio blog. Nei vari pannelli di controllo che ho a disposizione avevo attivato una opzione che fa redirezionare su https se viene fatta una request su http. Se chiedi una pagina del mio blog su http, per prima cosa ti riporta subito su https. In pratica sul mio blog, su http "normale" non ci navighi proprio. Solo https.

    iBaffiPro ha scritto:


    Andare a cambiare i certificati SSL ogni 90 giorni è improponibile, devo trovare assolutamente una soluzione. Questa soluzione deve esistere perché alcuni hosting provider offrono letsencrypt e parlano di un rinnovo automatico.
    Sul mio blog/hosting ho proprio il Let's Encrypt che è incluso nel pacchetto che avevo preso. Dura 90 gg ma attenzione, si rinnova sempre in automatico. Io non devo fare, cliccare, toccare assolutamente nulla!!
    Tecnicamente non so dire ora se la gestione del rinnovo è fatta direttamente da Let's Encrypt oppure se è ad opera della piattaforma di hosting/blogging su cui mi appoggio, magari tramite qualche loro procedura temporizzata/automatizzata (o che altro). Ma sta di fatto che io non devo preoccuparmi di nulla. Funziona e sono contento.
    Guarda il certificato del mio sito, vedrai che si è rinnovato da poco, il 16 Settembre e scadrà il prossimo 15 Dicembre. Non lo sapevo neanche ... non me ne preoccupo (finché funziona tutto ok, chiaramente).


    Quindi in sostanza l'approccio verso https si può fare a vari livelli, dallo scenario più complicato/lungo a quello più semplice e basilare.

    Se gestisci tu a mano i certificati:
    - devi sapere cosa è un certificato, devi conoscere a grandi linee la procedura di certificazione
    - devi acquistarlo, fornendo tuoi dati, ecc...
    - devi preoccuparti di rinnovarlo
    - devi avere accesso alla configurazione del server (Tomcat o che altro)
    - devi sapere molto bene cosa fare e dove mettere le mani

    Se usi invece un Let's Encrypt come quello che uso io (e che possibilmente si rinnovi in automatico) ... non devi preoccuparti di praticamente nulla.

    È chiarissimo che un certificato Let's Encrypt come quello che uso ... NON è come quello di una banca o di una multi-nazionale ....
  • Re: Aggiungere https alla mia applicazione locale usando un certificato gratuito

    Ciao Andrea! Piacere di risentirti!
    1) Fisicamente sul tuo blog hai aggiunto delle righe di codice al file .properties consegnate dal provider?
    2) La spunta che hai aggiunto sul pannello di controllo può essere sostituita con una classe apposita in Spring Boot oppure tale classe funzionerebbe solo sulla versione di tomcat usata localmente dall'ide?
    Io in locale ho prodotto un certificato con keytool firmato da me, ho aggiunto i riferimenti in application-sviluppo.properties ed infine ho creato una classe apposita che fa quello che fa il tuo pannello di controllo del provider. Non so se questa classe che ho aggiunto funziona anche sul server oppure sia indispensabile configurare anche il reindirizzamento sul server web come detto da +m2+. La classe mi risparmierebbe la procedura di configurazione del server web, per questo chiedo.
  • Re: Aggiungere https alla mia applicazione locale usando un certificato gratuito

    iBaffiPro ha scritto:


    1) Fisicamente sul tuo blog hai aggiunto delle righe di codice al file .properties consegnate dal provider?
    Il mio blog è basato su PHP/WordPress. Java non c'entra nulla ...

    iBaffiPro ha scritto:


    2) La spunta che hai aggiunto sul pannello di controllo può essere sostituita con una classe apposita in Spring Boot oppure tale classe funzionerebbe solo sulla versione di tomcat usata localmente dall'ide?
    Un redirect di questo tipo, da http a https, si può fare a più livelli, in pratica in qualunque punto dove si riceve la nozione di request/response. Quindi anche a livello applicativo, volendo.
    Ma se lo fa già il server "a monte" con una apposita configurazione, sarebbe ovviamente meglio.
    Ad esempio Nginx (che è il serve che "risponde" sul mio blog) ha una configurazione documentata:
    Quindi presumo (ma NON sono certo) che quella opzione attivata abbia agito su quel tipo di configurazione.
  • Re: Aggiungere https alla mia applicazione locale usando un certificato gratuito

    Chiarissimo, grazie mille
Devi accedere o registrarti per scrivere nel forum
23 risposte