Eszközök Eszközök uApprove : User-consent (beleegyezési nyilatkozat) eszköz SamlSign : Metaadat aláíró és ellenőrző eszköz SamlSign Parancssoros eszköz, melyhez debian alatt az opensaml2-tools csomagot kell telepíteni. A program kétféle üzemmódban képes működni: metaadat aláírása és metaadat ellenőrzése . Metaadat aláírása samlsign -s -k /path/to/mainkey.key -f /path/to/metadatatosign.xml Alapértelmezés szerint a samlsign az eredményeket az alapértelmezett kimenetre írja ki (STDOUT), így célszerű ezt egy új fájlba átirányítani: samlsign -s -k /path/to/mainkey.key -f /path/to/metadatatosign.xml > /path/to/metadatasigned.xml Metaadat ellenőrzése samlsign -c /path/to/maincert.crt -f /path/to/metadatatosign.xml Samlsign legfontosabb kapcsolói -s ez határozza meg, hogy aláírunk, vagy ellenőrzünk. Ha megadtuk kapcsolóként, akkor a program megpróbálja aláírni a megadott xml fájlt, ha nem, akkor ugyanezt a fájlt ellenőrizni fogja. -f az ellenőrzendő/aláírandó fájl elérhetősége abszolút útvonallal megadva -k a privát kulcs elérhetősége abszolút útvonallal megadva -c az ellenőrzésre használt publikus kulcs elérhetősége abszolút útvonallal megadva További részletes leírás a samlsign man oldalán További fontos tudnivalók A samlsign nem szereti a metadatában szereplő Organization -nel kapcsolatos adatokat, mivel ilyen tag-ekben kötelezően megadandó xml:lang attribútumot lang -ra alakítja át, ami által viszont nem lesz érvényes (valid) maga a metaadat, így pl. a shibboleth sem fog tudni vele mit kezdeni. A megoldás (nem szép, de hasznos): az aláírás előtt álló metaadatokból ki kell szedni az Organization -nel kapcsolatos adatokat. Ezek után már gond nélkül aláírja és az eredmény is érvényes lesz. Apró trükk a privát kulcs kinyerésére jks -ből Tekintettel arra, hogy a keytool nem teszi lehetőve a privát kulcs kihalászását JavaKeystore-ból, így külső segítséget kell igénybe vennünk. A segédalkalmazás ExportPrivateKey névre hallgat, és innen letölthető egy darab zip fájl . Használata rendkívül egyszerű: java -jar ExportPrivateKey.zip {jks fájl elérhetősége} JKS {jks jelszó} {alias} {célfájl} Ezek után a létrehozott kulccsal már használhatjuk is a samlsign-t. Xmltooling Log4cpp patch --- xmltooling/soap/impl/SOAPClient.cpp.orig 2008-03-14 23:50:29.000000000 +0100 +++ xmltooling/soap/impl/SOAPClient.cpp 2008-04-25 13:14:29.000000000 +0200 @@ -89,8 +89,11 @@ XercesJanitor janitor(doc); Category& log = Category::getInstance(XMLTOOLING_LOGCAT".SOAPClient"); - if (log.isDebugEnabled()) - log.debugStream() << "received XML:\n" << *(doc->getDocumentElement()) << logging::eol; + if (log.isDebugEnabled()) { + string serializedXml; + XMLHelper::serialize (doc->getDocumentElement(),serializedXml,false); + log.debugStream() << "received XML:\n" << serializedXml << logging::eol; + } auto_ptr xmlObject(XMLObjectBuilder::buildOneFromElement(doc->getDocumentElement(), true)); janitor.release();