Cert


Opis

Moduł Cert pozwala na pobranie informacji o certyfikacie klienta, który jest wysyłany razem z żądaniem strony.

Moduł ten pozwala sprawdzić czy do żądania jest załączony certyfikat, a jeśli jest to pozwala na dostęp do pól dotyczących okresu ważności certyfikatu, numeru seryjnego, czy pól własnych.

Przykłady

Kod jPalio wyświetlający właściwości załączonego do żądania certyfikatu:

$if($cert.isSupplied(), {
<p align="center">
Numer seryjny: $cert.getSerialNumber()<br/>
Sygnatura: $cert.getSignature()<br/>
Ważny dziś: $cert.isValid((Date)$sysDate())<br/>
Ważny od: $cert.getNotBefore()<br/>
Ważny do: $cert.getNotAfter()<br/>
Jednostka: $cert.getEntityName()<br/>
Encoded: $cert.getEncoded()<br/>
DerEncoded: $cert.getDerEncoded()<br/>
</p>
}, {
No certificate...
})

Kod SuperPalio tworzący sesję dla użytkownika na podstawie dołączonego certyfikatu(oraz danych które są zapisane w systemie), może zastąpić tradycyjne logowanie:

${
if(CERT.isSupplied(), {
if(sysDate()>CERT.getNotBefore() && UTIL.addDay(CERT.getNotAfter())>sysDate(), {
certCName = null;
for("cid", split(CERT.getEntityName(), ","), {
keyval = split((String)cid, "=");
if(trim((String)keyval[0]) == "CN", {
certCName = keyval[1];
});
});
UserID = $*test.checkCertNameInDatabase(certCName);
ifNotNull(UserID, {
ss = USER.createSession(toLong(toString(UserID)));
redirectHeader(pageURL(106));
}, {
"No priviledges!";
});
}, {
"Certificate invalid!";
});
}, {
"No certificate!";
});
}

API

http://jpalio.torn.com.pl/modules/palio/modules/Cert.html