1ZXID Book 2######### 3<<author: Sampo Kellom�ki (sampo@iki.fi)>> 4<<cvsid: $Id: zxid-book.pd,v 1.1 2009-08-25 16:22:44 sampo Exp $>> 5<<class: book!a4paper!!ZXID Book 34!!lineno>> 6 7<<ignore: 8 9This file is the top level aggregation point for all ZXID documentation, 10especially for purposes of producing a unified PDF. 11 12pd2tex -pdfonly -DZXIDBOOK=1 zxid-book.pd 13 14>> 15 16<<abstract: 17 18ZXID.org Identity Management toolkit implements standalone SAML 2.0, 19Liberty ID-WSF 2.0, and XACML 2.0 stacks and aims at implementing all 20popular federation and ID Web Services protocols. It is a C 21implementation with minimal external dependencies - OpenSSL, CURL, and 22zlib - ensuring easy deployment (no DLLhell). Due to its small 23footprint and efficient and accurate schema driven implementation, it 24is suitable for embedded and high volume applications. Language 25bindings to all popular highlevel languages such as PHP, Perl, and 26Java, are provided via SWIG. ZXID implements, as of January 2011, SP, 27IdP, Discovery, WSC, WSP, and PEP roles. ZXID.org is the reference 28implementation of TAS3.eu project. 29 30ZXID.org ist eine C-Bibliothek, die den vollst�ndigen SAML 312.0-Stack implementiert und alle popul�ren 32Identit�tsverwaltungs-Protokolle wie Liberty ID-FF 1.2, 33WS-Federation, WS-Trust und ID-Webservices wie Liberty ID-WSF 1.1 und 342.0 implementieren will. Sie beruht auf Schema-basierter 35Code-Erzeugung, woraus eine genaue Implementation resultiert. SWIG 36wird verwendet, um Schnittstellen zu Skriptsprachen wie Perl, PHP und 37Python sowie zu Java bereitzustellen. Sie kann als SP, IdP, Discovery, WSC, 38WSP und PEP fungieren. 39 40A biblioteca de gest�o de identidades ZXID.org � uma 41implementa��o, em C, das normas SAML 2.0, Liberty ID-WSF 2.0, e XACML 2.0 42com depend�ncias externas m�nimas - OpenSSL, CURL, e zlib - 43facilitando uma implanta��o f�cil sem "inferno dos 44DLL". Sendo econ�mica em consumo de recursos � indicada para 45aplica��es embutidas ou de grande volume e de performance. A 46biblioteca � disponibilizada para todos as linguagens de 47programa��o de alto n�vel como, p.ex., PHP, Perl, e Java, 48atravez de interf�ces SWIG. ZXID de hoje (Jan 11) pode funcionar 49nos papeis SP (Provedor de Servi�os), IdP (Provedor de Identidade), 50Discovery (cat�logo de servi�os), WSC (Cliente de Servi�os 51Web), WSP (Provedor de Servi�os Web), e PEP (Ponto de 52Enfor�amento de Pol�ticas). ZXID.org � a implementa��o de 53refer�ncia do projecto TAS3.eu. 54 55La librer�a de gesti�n de identidades ZXID.org es una 56implementaci�n en C de las normas SAML 2.0, Liberty ID-WSF 2.0, y 57XAML 2.0 con dependencias externas m�nimas - OpenSSL, CURL, y zlib 58- que elimina el "infierno DLL" en su implantaci�n. Como ZXID es 59muy econ�mica, es apta para aplicaciones embebidas o de gran 60volumen y envergadura. Los lenguajes de programaci�n de alto nivel, 61como Perl, PHP, y Java, son soportados con generador de interfaces 62SWIG. Hoy (Enero 2011) el ZXID soporta los roles SP (proveedor de 63servicios), IdP (proveedor de identidades), Discovery (catalogo de 64servicios), WSC (cliente de los servicios web), WSP (proveedor de 65servicios web) y PEP (Punto de Enforco de Politicas). ZXID.org es 66el implantacion de referencia del proyecto TAS3.eu. 67 68ZXID.org on verkkohenkil�llisyyden ja -tunnisteiden 69hallintakirjasto joka tukee SAML 2.0 (sis��nkirjaantuminen), 70Liberty ID-WSF 2.0 (henkil�llisyyteen pohjautuvat webbipalvelut), 71ja XACML 2.0 (auktorisointi) standardeja. ZXID vaatii vain OpenSSL, 72CURL ja zlib kirjastot joten se v�ltt�� "DLL 73helvetti"-ongelman. Skemapohjaisena C toteutuksena se on tarkka ja 74taloudellinen ja kelpaa sulautettuihin ja eritt�in kovaa 75suorituskyky� vaativiin sovelluksiin. Se tukee korkeantason 76kieli� - kuten Perli�, PHP:t�, ja Javaa - SWIG generoiduin 77rajapinnoin. ZXID tukee (Tammikuu 2011) SP (palveluntarjoaja), IdP 78(henkil�llisyydenvarmentaja), Service Discovery 79(palvelunpaikannus), WSC (webbipalvelunkutsuja), WSP 80(webbipalveluntarjoaja) ja PEP (politiikantoteutuspiste) rooleja. 81ZXID.org on TAS3.eu projektin referenssitoteutus. 82 83>> 84 85<<maketoc: 1>> 86 871 Introduction 88============== 89 901.1 ZXID Documentation Set 91-------------------------- 92 93The present book is mainly amalgamation of the following documents, which 94you may want to consult separately. 95 96<<doc-inc.pd>> 97 98 992 Install (package or from source) 100================================== 101 102<<zxid-install.pd>> 103 1046 Configuring Runtime 105===================== 106 107ZXID, out-of-box, needs very little configuration. Generally you 108only need to decide the URL of your web site. 109 110Compile time configuration, based on ~Makefile~ and zxidconf.h 111is possible but generally should not be attempted, unless the 112intent is embedded system running without any configuration file. 113 114In addition to setting runtime configure options, you will need to 115join a Circle of Trust - or create your own. This is explained 116in the "Circle-of-Trust" chapter, below. 117 118If you are interested in using mod_auth_saml Apache module, 119you can perform some of the configuration in the Apache httpd.conf 120file as explained in <<link:../mod_auth_saml/mod_auth_saml.html: mod_auth_saml>>. 121 122You should remember that some of the configuration will happen in the 123web server level, see your web server's configuration reference, e.g. httpd.conf 124 125<<zxid-conf.pd>> 126 1279 Circle-of-Trust: Create a Federation with Other Partners 128========================================================== 129 130<<zxid-cot.pd>> 131 13211 ZXID Logging and Audit Trail 133=============================== 134 135<<zxid-log.pd>> 136 13712 mod_auth_saml: Apache SSO without Programming 138=============================================== 139 140<<mod_auth_saml.pd>> 141 14213 Simple API: Easy way to SSO 143============================= 144 145The ZXID library provides two main APIs: the Simple and the Raw. The 146ZXID Simple API is meant to get you going with minimal understanding about 147SAML or SSO. It tries to encapsulate as much of the control flow as 148possible. You only need to learn this API, not the underlying protocol. 149 150<<zxid-simple.pd>> 151 1528 Raw API: Full Control, You Decide 153=================================== 154 155<<zxid-raw.pd>> 156 15719 Identity Web Services 158======================== 159 160<<zxid-wsf.pd>> 161 16220 Function Reference (generated from source) 163============================================= 164 165<<ref/index.pd>> 166 16711 ZXID Java and Tomcat Bindings 168================================ 169 170<<zxid-java.pd>> 171 17212 Net::SAML - ZXID Perl Bindings 173================================= 174 175<<zxid-perl.pd>> 176 17713 php_zxid 178=========== 179 180<<zxid-php.pd>> 181 18214 Apache Compilation Tips 183========================== 184 185While I am not a guru in Apache set ups and others will do this much 186better, not to speak of the official documentation, I still find that 187to ensure initial success of the new installer, some help may be in order. 188 189Consider this receipe only one of many possible setups and not 190necessarily even the best. The receipe worked for me in August 2006. If 191you come much later, things may have changed. 192 193This Apache setup aims to illustrate 194 195* CGI invocation of zxid C binary 196* mod_php5 invocation of zxid.php 197* mod_perlinvocation of zxid.pl 198* CGI invocation of zxid.pl (alternative to mod_perl) 199* Support mod_auth_saml 200 201<<apache.pd>> 202 20315 Mediawiki Integration Tips 204============================= 205 206<<mediawiki-zxid.pd>> 207 20816 ZXID Testing Plan 209==================== 210 211<<testplan.pd>> 212 21318 FAQ 214====== 215 216<<zxid-faq.pd>> 217 21819 License 219========== 220 221<<zxid-license.pd>> 222 22317 Protocol Schema and Examples 224=============================== 225 226<<schemata.pd>> 227 228<<zxid-ref.pd>> 229 230<<doc-end.pd>> 231 232<<EOF: >> 233 234Vuokko_Kellom�ki 235 <vuokko.kellomaki@clockworks.fi> said: 236> On 28.1.2011 5:36, sampo@zxidp.org wrote: 237> >>> Pit�isi siivota ZXID.org dokumentaatiota. Mahdollisesti uudelleen kirjoittaa 238> >>> asuun jonka tavallisempikin ihminen ymm�rt��. 239> 240> Vilkaisin dokumentaatiota, eik� t�m� tavallinen ihminen 241> ymm�rt�nyt siit� yht��n mit��n... edes sit�, mist� kaikessa on 242> kysymys! 243 244Juuri siksi tarvitsen apua. Dokumentaation tulisi toivottavasti aueta 245tietokone tietoisille ihmisille ilman ett� heid�n tarvitsisi olla identiteetin 246hallinta spesialisteja. Osa dokumentaatiosta on suunnittelu tasolla (=bisnes ihmisten 247pit�isi ymm�rt��), osa sysadmin tasolla, osa sovellusohjelmoija tasolla, 248osa systeemiohjelmoija tasolla, ja osa guru tasolla. Olisi hyv� jos lukija ymm�rt�isi 249mitk� osat ovat relevantteja h�nelle ja mit� ei edes ole tarkoituskaan ymm�rt��. 250 251My�s zxid.org:n etusivun viesti� pit�isi varmaan selkeytt�� jotta useimmat ihmiset 252ymm�rt�isiv�t mist� on kysymys. 253 254Paketoin koko kasan kirja muotoon: 255 256http://zxid.org/zxid-book-34.pdf 257 258Ehk� sit� on helpompi ymm�rt��. 259 260> >>> 261> >>> Paljonko sill� 3k budjetilla saa? 262> 50 sivua k��nn�st� tai 100 sivua editointia, sivu = 1800 263> merkki� v�lily�nteineen. 264> 265> > 266> > Kannatta katsoa zxid.org etusivun "Documentation" osaa. 267> > 268> > Itse teksti on Plandoc formaatissa, eli tavallisina teksti tiedostoina joiden p��te on .pd 269> > 270> > Versionhallintaan k�yt�n Gitti�. Sivulta l�ytyv�st� anon git osoitteesta 271> > l�ytyv�t my�s .pd tiedostot. 272> 273> En saa anon git -osoitetta auki. 274 275Onko sinulla skype osoitetta. Tarvittava git koulutus on helpointa antaa skype chat session 276v�lityksell�. 277 278Windowsissa tarvitaan yleen� putty (ssh) ja tortoisegit (Unixissa tietysty vain ssh ja git, jotka 279ovat vakiovarusteita). git on t�rke�, koska k�yt�n sit� kaikessa luovassa toiminnassani. Eli 280joudut melko suurella todenn�k�isyydell� opettelemaan jonkun git variantin. 281 282Tekstitiedostoista PDF:��n tarvitaan perl ja LaTeX systeemi ja joitain kuvan k�sittely 283ohjelmia. En usko ett� kannattaa asentaa n�it� ellei sinulla ole jo LaTeX kokemusta. 284 285--Sampo 286 287> Vuokko 288> 289> 290> ****************************** 291> Vuokko Kellom�ki 292> k��nt�j� - translator fi-en-fi 293> vuokko.kellomaki@clockworks.fi 294> 295> Clockworks Oy 296> Peltosaarentie 2 A 7, FI-05840 Hyvink�� 297> puh./tel. +358 40 564 2298 298> www.clockworks.fi 299