IDM, EJBCA, SPML... et Groovy

29 août 2008   dans   Développement


Bruno Bonfils en rêvait, il l’a fait : sur son blog, il explique que son idée était de disposer d’un ensemble d’outils "pour générer facilement des requêtes SPML". Il a donc créé une petite bibliothèque Java et écrit une série de scripts groovy associés.

En pratique

import net.asyd.iam.spml.AddRequest

AddRequest request = new AddRequest()

request.init(http://localhost:8080/SPMLServer/openspml2)

request.createPsoId(“easyspmlDemo”)

request.addAttribute(“emailAddress”, “bbonfils@gmail.com”)

request.proceed()

request.dumpResponse()

Comme vous pouvez le constater, cela deviens très simple. De plus, dans ma lancé, je me suis dis pourquoi ne pas créer une servlet recevant des requêtes SPML pour les traduires dans des WebServices EJBCA. C’est maintenant chose faite. Bien que je n’implémente actuellement que la méthode addRequest, cela me permet de provisionner des entités depuis un producteur SPML, comme par exemple Sun Identity Manager. La “traduction” entre SPML et la couche EJBCA se fais au travers d’un script groovy (et oui, encore du groovy, groovy c’est le bien !), de la manière suivante :

public class FinalAddEntitySample implements FinalAddEntity

def id

def attributes

def buffer

def ejbcaEntity

public void init(String id, HashMap attributes, UserDataVOWS ejbcaEntity)

this.id = id

this.attributes = attributes

this.ejbcaEntity = ejbcaEntity

public void preprocess()

buffer = “,UID=” + id + “,OU=staff,O=asyd dot net,C=FR”

public String getSubjectDN()

return “CN=” + id + buffer

public boolean proceed()

ejbcaEntity.setUsername(id)

ejbcaEntity.setEmail(attributes.get(“emailAddress”))

ejbcaEntity.setSubjectDN(getSubjectDN())

ejbcaEntity.setCaName(“DemoCA”)

ejbcaEntity.setCertificateProfileName(“ENDUSER”)

ejbcaEntity.setEndEntityProfileName(“EE_SPML_USER”)

ejbcaEntity.setTokenType(“P12″)

ejbcaEntity.setSendNotification(true)

return true

Plus d’information disponible sur devel.asyd.net :

Actuellement le code est plutôt un POC que production ready, mais avec un peu de chance cela ne saurait tarder, et après tout ca permet déjà de faire des choses sympas !

Visitez le blog de Bruno Bonfils.

Via Planet.linagora.com

(Vous souhaitez reproduire cet article ?)

A la Une

Publicité


TooLinux soutient