1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
/**
* Détermine si le certificat n'est pas une Autorité de Certification. En d'autres termes, si le
* certificat est un certificat de bout de chaine.
*
* @return true si c'est un certificat de bout de chaine, false sinon.
*/
public boolean estPasAC() {
/*
* Cf Begining Crypto with Java, chap 6, page 200.
*/
if(m_X509.getBasicConstraints() == -1)
return true;
return false;
}
/**
* Détermine si le certificat est une AC Racine. (Autosignée).
* Renvoi false si c'est une ACI !
*
* @return true si c'est une AC Racine. false dans tous les autres cas.
*/
public boolean estACRacine() {
/*
* Cf Begining Crypto with Java, chap 6, page 200.
* Pour être une AC Racine, un certificat doit être marqué comme CA dans BasicConstraint
* ET
* le nom X500 émetteur doit être EGAL au nom X500 sujet.
*/
if ( (m_X509.getBasicConstraints() != -1) &&
m_X509.getIssuerX500Principal().getName().equalsIgnoreCase(
m_X509.getSubjectX500Principal().getName())
)
return true;
return false;
}
/**
* Détermine si le certificat est une AC Intermédiaire.
* Renvoi false si c'est une AC Racine !
*
* @return true si c'est une AC Intermédiaire. false dans tous les autres cas.
*/
public boolean estACI(){
/*
* Cf Begining Crypto with Java, chap 6, page 200.
*
* Pour être une AC Intermédiaire, un certificat doit être marqué comme CA dans BasicConstraint
* ET
* le nom X500 émetteur doit être DIFFERENT du nom X500 sujet.
*/
if ( ( m_X509.getBasicConstraints() != -1 ) &&
(! m_X509.getIssuerX500Principal().getName().equalsIgnoreCase(
m_X509.getSubjectX500Principal().getName()) )
)
return true;
return false;
} |
Partager