public class X509CertRL
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
auth |
private CertificationAuthorities |
certAuths |
private java.io.File |
crlDir |
private java.lang.String |
CRLerror |
private static java.util.HashMap |
crls |
private boolean |
debug |
private java.util.logging.Logger |
log |
private java.lang.String |
message |
private java.lang.String |
reasonCode |
private boolean |
useProxy |
private java.security.cert.X509Certificate |
userCert |
Constructor and Description |
---|
X509CertRL(CertificationAuthorities certAuths,
java.io.File crlDir)
Constructor used in CertificationAuthorities
Costruttore utilizzato dalla classe CertificationAuthorities |
Modifier and Type | Method and Description |
---|---|
int |
check(java.security.cert.X509CRL crl,
java.security.cert.X509Certificate caCert,
java.util.Date date)
Checks validity of CRL of the specified CA at the specified date
Controlla la validita' di una CRL rispetto ad una specifica CA ed ad una data prefissata |
java.security.cert.X509CRL |
download(java.lang.String crlDP,
java.security.Principal issuer)
Downloads CRL issued by given CA from specified URL
Scarica la CRL dall'URL specificato ed emessa dalla CA specificata |
java.security.cert.X509CRL |
download(java.security.cert.X509Certificate userCert)
Downloads CRL of the given certificate
Scarica la CRL relativa al certificato in oggetto |
private byte[] |
getBytesFromPath(java.lang.String fileName) |
static java.security.cert.X509Certificate |
getCertificatesFromFile(java.lang.String filePath)
Returns certificate present in a file at the given filePath.
|
private static java.lang.String |
getCommonName(java.security.cert.X509Certificate userCert)
Returns Common Name (string) of the given certificate
Restituisce il CN del certificato in oggetto |
java.security.cert.X509CRL |
getCRL(javax.security.auth.x500.X500Principal p) |
java.lang.String[] |
getCrlDistributionPoint(java.security.cert.X509Certificate certificate) |
java.net.URL[] |
getCrlDistributionPointOLD(java.security.cert.X509Certificate certificate)
Return CRL Distribution Points (DP) of the specified cert in an array of
URL Restituisce i CRL DP del certificato specificato in un array di URL
|
java.lang.String |
getCRLerror() |
private static org.bouncycastle.asn1.DERObject |
getExtensionValue(java.security.cert.X509Certificate cert,
java.lang.String oid)
Returns DERObject extension if the certificate corresponding to given OID
Restituisce un estensione DERObject dal certificato, corrispoendente all'OID |
java.lang.String |
getMessage()
Return the possible error message of the last CRL verification
|
java.lang.String |
getReasonCode() |
private static java.lang.String |
getStringFromGeneralNames(org.bouncycastle.asn1.DERObject names) |
private boolean |
initHTTPS() |
boolean |
isNotRevoked(java.lang.String filePath,
boolean forceCRLUpdate)
Controls if the signed file at the specified filePath is revoked at the
current date.
|
boolean |
isNotRevoked(java.security.cert.X509Certificate userCert,
boolean forceCRLUpdate)
Controls if the given certificate is revoked at the current date.
|
boolean |
isNotRevoked(java.security.cert.X509Certificate userCert,
java.util.Date date,
boolean forceCRLUpdate)
Controls if the given certificate is revoked at the specified date.
|
private java.security.cert.X509CRL |
loadCRL(java.security.cert.X509Certificate userCert) |
private java.security.cert.X509CRL |
parse(byte[] crlEnc) |
void |
resetCRLerror() |
private java.security.cert.X509CRL |
ricercaCrlByLDAP(java.lang.String dp,
java.security.Principal CADName) |
private java.security.cert.X509CRL |
ricercaCrlByProxyHTTP(java.net.URL dp) |
void |
setDebug(boolean debug)
Activate or discactivate debug messages
Attiva o disattiva i messaggi di debug |
boolean |
setUseproxy(boolean proxy,
java.lang.String user,
java.lang.String password,
java.lang.String proxyHost,
java.lang.String proxyPort)
Set proxy connection parameters to download CRL
Imposta i parametri di connessione con il proxy verso Internet per lo scarico delle CRL |
private void |
storeCRL(java.security.cert.X509CRL crl) |
boolean |
update(java.security.cert.X509Certificate userCert,
java.util.Date date,
boolean forceUpdate)
Updates CRL if not present in cache or if present but expired or if
download is forced (flag forceUpdate set to true)
Aggiorna la CRL se non e' presente nella cache oppure se e' presente ma e' scaduta oppure se e' stato impostato il download ad ogni verifica tramite il flag forceUpdate. |
private java.util.logging.Logger log
private static java.util.HashMap crls
private java.security.cert.X509Certificate userCert
private java.lang.String CRLerror
private boolean debug
private boolean useProxy
private CertificationAuthorities certAuths
private java.lang.String auth
private java.lang.String message
private java.lang.String reasonCode
private java.io.File crlDir
public X509CertRL(CertificationAuthorities certAuths, java.io.File crlDir)
certAuths
- reference to CertificationAuthorities used to verify signature
in CRLpublic java.security.cert.X509CRL getCRL(javax.security.auth.x500.X500Principal p)
public boolean isNotRevoked(java.lang.String filePath, boolean forceCRLUpdate)
filePath
- filePathpublic boolean isNotRevoked(java.security.cert.X509Certificate userCert, boolean forceCRLUpdate)
userCert
- certificate to verifypublic boolean isNotRevoked(java.security.cert.X509Certificate userCert, java.util.Date date, boolean forceCRLUpdate)
userCert
- certificate to verifydate
- Datepublic boolean update(java.security.cert.X509Certificate userCert, java.util.Date date, boolean forceUpdate) throws java.security.cert.CertificateException, java.security.GeneralSecurityException
userCert
- certificate whose CRL is checkeddate
- ckecks the validity of CRL according to this dateforceUpdate
- if true, it forces CRL download even if CRL in cache is not
expiredjava.security.cert.CertificateException
- if any error occurs during certificate parsingjava.security.GeneralSecurityException
public int check(java.security.cert.X509CRL crl, java.security.cert.X509Certificate caCert, java.util.Date date) throws java.security.cert.CertificateException
crl
- CRL to checkcaCert
- CA certificate that should have signed CRLdate
- ckecks the validity of CRL according to this datejava.security.cert.CertificateException
- if any error occurs during DN parsingpublic java.lang.String[] getCrlDistributionPoint(java.security.cert.X509Certificate certificate) throws java.security.cert.CertificateParsingException
java.security.cert.CertificateParsingException
public java.net.URL[] getCrlDistributionPointOLD(java.security.cert.X509Certificate certificate) throws java.security.cert.CertificateParsingException
certificate
- extracts DP from this certificatejava.security.cert.CertificateParsingException
private static org.bouncycastle.asn1.DERObject getExtensionValue(java.security.cert.X509Certificate cert, java.lang.String oid) throws java.io.IOException
cert
- certificateoid
- Stringjava.io.IOException
private static java.lang.String getStringFromGeneralNames(org.bouncycastle.asn1.DERObject names)
public java.security.cert.X509CRL download(java.security.cert.X509Certificate userCert) throws java.security.cert.CertificateParsingException
userCert
- certificatejava.security.cert.CertificateParsingException
private static java.lang.String getCommonName(java.security.cert.X509Certificate userCert)
userCert
- X509Certificatepublic java.security.cert.X509CRL download(java.lang.String crlDP, java.security.Principal issuer) throws java.security.cert.CertificateException, java.net.MalformedURLException
crlDP
- Distribution Pointissuer
- DN of the CRL signer, if LDAP protocol is usedjava.security.cert.CertificateException
- error during certificate parsingjava.net.MalformedURLException
private java.security.cert.X509CRL ricercaCrlByLDAP(java.lang.String dp, java.security.Principal CADName)
private java.security.cert.X509CRL ricercaCrlByProxyHTTP(java.net.URL dp)
private boolean initHTTPS()
public void setDebug(boolean debug)
debug
- if true, it shows debug messagespublic boolean setUseproxy(boolean proxy, java.lang.String user, java.lang.String password, java.lang.String proxyHost, java.lang.String proxyPort)
proxy
- true is proxy is useduser
- proxy authenticated userpassword
- passwordproxyHost
- proxyproxyPort
- proxy portprivate java.security.cert.X509CRL parse(byte[] crlEnc) throws java.security.GeneralSecurityException
java.security.GeneralSecurityException
public java.lang.String getMessage()
public static java.security.cert.X509Certificate getCertificatesFromFile(java.lang.String filePath)
filePath
- Stringpublic java.lang.String getReasonCode()
public java.lang.String getCRLerror()
public void resetCRLerror()
private void storeCRL(java.security.cert.X509CRL crl)
private java.security.cert.X509CRL loadCRL(java.security.cert.X509Certificate userCert)
private byte[] getBytesFromPath(java.lang.String fileName) throws java.io.IOException
java.io.IOException