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