Salve a tutti...sto "lavorando" con i certificati digitali...non so quanti di voi hanno lavorato
con essi, ma cmq non credo che serva conoscere package o metodi specifici...fondamentalmente il
mio problema è il seguente...
ho un main che chiama una classe "GestKeyStore()"...adesso in questa classe c'è la creazione di un input stream per l'input di un file (il certificato)....successivamente c'è applicato un metodo
per verificare la validità temporale...so già a priori che la data è scaduta ma cmq lo eseguo lo
stesso...ricevo un messaggio di errore...che cmq credo sia normale perchè mi dice che la validità temporale del certificato "has expired"...cioè è scaduta...guardando la documentazione relativa al metodo in questione mi dice di aggiungere la gestione dell'evento "expired"...ma non sò come fare...adesso vi posto il codice e vi chiederei gentilmente cosa e dove inserire la gestione di tale evento...grazie
nella documentazione mi dà questo...codice:import java.io.*; import java.util.*; import javax.crypto.*; import java.security.*; import java.security.cert.*; import java.math.*; public class GestKeyStore { protected int RTValue = 100; //valore di debug (server per verificare) Signature sig; //Costruttore public GestKeyStore (){} public int portaChiavi (String Certificato_file){ try{ RTValue = 101; //***************************CREO UN NUOVO INPUTSTREAM PER LA LETTURA DEL FILE-CERTIFICATO*********************** FileInputStream fis = new FileInputStream(Certificato_file); CertificateFactory cf = CertificateFactory.getInstance("X.509"); X509Certificate certificato = (X509Certificate)cf.generateCertificate(fis); //***************************VERIFICO LA VALIDITA' TEMPORALE DEL CERTIFICATO*********************** //certificato.checkValidity(); //************************************************************************************************* fis.close(); } catch (Exception ex){ System.out.println("Errore: "+ex.getMessage()); ex.printStackTrace(); } return RTValue; } };
METODO "checkValidity"
public abstract void checkValidity()
throws CertificateExpiredException,
CertificateNotYetValidException
Checks that the certificate is currently valid. It is if the current date and time are within the validity period given in the certificate.
Throws:
CertificateExpiredException - if the certificate has expired.
Ringrazio anticipatamente