Cancellazione della cache dei certificati Java (certificati di ricarica forza)

Una domanda semplice qui.

Un'applicazione mi ha dato questa exception quando cerca di accedere a un sito web con un certificato scaduto: java.security.cert.CertificateExpiredException

  • Configurazione di un'applicazione Web Jetty su una port diversa
  • Linux (non trasparente) per process di contabilizzazione di enormi pagine
  • Capire l'installazione di ssl
  • ps aux appeso ad alta CPU / IO con processi java
  • Richiesta di errore di entity framework; troppo grande durante il caricamento di file di oltre 128 KB su SSL
  • smtp.gmail.com da bash dà "Errore nel certificato: l'emittente del certificato di peer non è riconosciuto".
  • Così, ho rinnovato il certificato dalla macchina del sito web e l'ho riavviato. Quando cerco di accedervi da Firefox o Chrome caricherò il nuovo certificato (la data di scadenza è impostata da qualche parte vicino al 2040).

    Il problema è che le applicazioni Java non sembra rinnovare questo certificato, sembra essere bloccato in una sorta di cache interna. Ho già provato ad aggiungerlo alla keystore e impostare le opzioni nelle properties; dell'applicazione come -Dcom.sun.net.ssl.checkRevocation=false . Non import quello che faccio, mi getta sempre una java.security.cert.CertificateExpiredException

    Qualche idea?

    One Solution collect form web for “Cancellazione della cache dei certificati Java (certificati di ricarica forza)”

    La posizione predefinita del keystore di Java è un file .keystore nella tua home directory (properties; di sistema user.home), a less che non sia specificato altrimenti è where apparirà un'applicazione Java.

    Prova a eseguire:

     $ keytool -list -keystore ~/.keystore -storepass changeit -v 

    per vedere se il certificato scaduto è in là.

    Se si desidera specificare una keystore di identity framework; diversa da utilizzare, è ansible farlo utilizzando le seguenti properties; di sistema:

     javax.net.ssl.Keystore=/path/to/identity.jks javax.net.ssl.keyStorePassword=mykeystorepassword 

    Credo che Firefox utilizzi NSS e che tu possa visualizzare la sua libreria utilizzando l'utilità certutil (da nss-tools o un pacchetto simile) qualcosa di simile:

     $ certutil -L -d sql:$HOME/.pki/nssdb 

    È necessario utilizzare l'utilità pk12util per estrarre la chiave e il certificato in un file PKCS12, ma è probabilmente meglio distriggersre semplicemente una nuova richiesta di firma del certificato utilizzando l'utilità keytool.

    Notare che un certificato revocato non è lo stesso di uno scaduto e per questo motivo il tuo checkRevocation = false non funziona. La CA può revocare in qualsiasi momento un certificato anche se non è ancora scaduto e ciò indica che non dovrebbe più essere attendibile.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.