diff options
Diffstat (limited to 'id.server/doc/moa_id')
23 files changed, 2894 insertions, 0 deletions
diff --git a/id.server/doc/moa_id/examples/BKUSelectionTemplate.html b/id.server/doc/moa_id/examples/BKUSelectionTemplate.html new file mode 100644 index 000000000..11c9352d2 --- /dev/null +++ b/id.server/doc/moa_id/examples/BKUSelectionTemplate.html @@ -0,0 +1,4 @@ +<form name="CustomizedForm" method="post" action="<StartAuth>"> +<BKUSelect> +<input type="submit" value="Auswählen"/> +</form> diff --git a/id.server/doc/moa_id/examples/ChainingModes.txt b/id.server/doc/moa_id/examples/ChainingModes.txt new file mode 100644 index 000000000..820b60d06 --- /dev/null +++ b/id.server/doc/moa_id/examples/ChainingModes.txt @@ -0,0 +1,6 @@ + <ChainingModes systemDefaultMode="pkix"> + <TrustAnchor mode="chaining"> + <dsig:X509IssuerName>CN=A-Trust-nQual-0,OU=A-Trust-nQual-0,O=A-Trust,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>536</dsig:X509SerialNumber> + </TrustAnchor> + </ChainingModes> diff --git a/id.server/doc/moa_id/examples/IdentityLinkSigners.txt b/id.server/doc/moa_id/examples/IdentityLinkSigners.txt new file mode 100644 index 000000000..faed15030 --- /dev/null +++ b/id.server/doc/moa_id/examples/IdentityLinkSigners.txt @@ -0,0 +1,3 @@ + <IdentityLinkSigners> + <X509SubjectName>CN=zmr,OU=BMI-IV-2,O=BMI,C=AT</X509SubjectName> + </IdentityLinkSigners> diff --git a/id.server/doc/moa_id/examples/LoginServletExample.txt b/id.server/doc/moa_id/examples/LoginServletExample.txt new file mode 100644 index 000000000..e085e4126 --- /dev/null +++ b/id.server/doc/moa_id/examples/LoginServletExample.txt @@ -0,0 +1,171 @@ +import java.io.IOException; +import java.util.Vector; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import javax.xml.namespace.QName; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.rpc.Call; +import javax.xml.rpc.Service; +import javax.xml.rpc.ServiceFactory; + +import org.apache.axis.message.SOAPBodyElement; +import org.apache.xml.serialize.LineSeparator; +import org.apache.xml.serialize.OutputFormat; +import org.apache.xml.serialize.XMLSerializer; +import org.jaxen.JaxenException; +import org.jaxen.SimpleNamespaceContext; +import org.jaxen.dom.DOMXPath; +import org.w3c.dom.Attr; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +/** + * Beispiel für ein Login-Servlet, das von MOA-ID-AUTH über einen Redirect aufgerufen wird. + * Es werden demonstriert: + * - Parameterübergabe von MOA-ID-AUTH + * - Aufruf des MOA-ID-AUTH Web Service zum Abholen der Anmeldedaten über das Apache Axis Framework + * - Parsen der Anmeldedaten mittels der XPath Engine "Jaxen" + * - Speichern der Anmeldedaten in der HTTPSession + * - Redirect auf die eigentliche Startseite der OA + * + * @author Paul Ivancsics + */ +public class LoginServletExample extends HttpServlet { + + // Web Service QName und Endpoint + private static final QName SERVICE_QNAME = new QName("GetAuthenticationData"); + private static final String ENDPOINT = + "http://localhost:8080/moa-id-auth/services/GetAuthenticationData"; + // NamespaceContext für Jaxen + private static SimpleNamespaceContext NS_CONTEXT; + static { + NS_CONTEXT = new SimpleNamespaceContext(); + NS_CONTEXT.addNamespace("saml", "urn:oasis:names:tc:SAML:1.0:assertion"); + NS_CONTEXT.addNamespace("samlp", "urn:oasis:names:tc:SAML:1.0:protocol"); + NS_CONTEXT.addNamespace("pr", "http://reference.e-government.gv.at/namespace/persondata/20020228#"); + } + + /** + * Servlet wird von MOA-ID-AUTH nach erfolgter Authentisierung über ein Redirect aufgerufen. + */ + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + + // Parameter "Target" und "SAMLArtifact" aus dem Redirect von MOA-ID-AUTH lesen + String target = req.getParameter("Target"); + String samlArtifact = req.getParameter("SAMLArtifact"); + + try { + // DOMBuilder instanzieren + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(true); + DocumentBuilder builder = factory.newDocumentBuilder(); + + // <samlp:Request> zusammenstellen und in einen DOM-Baum umwandeln + String samlRequest = + "<?xml version=\"1.0\" encoding=\"UTF-8\"?><samlp:Request IssueInstant=\"2003-01-01T00:00:00+02:00\" MajorVersion=\"1\" MinorVersion=\"0\" RequestID=\"12345678901234567890\" xmlns:samlp=\"urn:oasis:names:tc:SAML:1.0:protocol\"><samlp:AssertionArtifact>" + + samlArtifact + + "</samlp:AssertionArtifact></samlp:Request>"; + Document root_request = builder.parse(samlRequest); + + // Neues SOAPBodyElement anlegen und mit dem DOM-Baum füllen + SOAPBodyElement body = new SOAPBodyElement(root_request.getDocumentElement()); + SOAPBodyElement[] params = new SOAPBodyElement[] { body }; + + // AXIS-Service für Aufruf von MOA-ID-AUTH instanzieren + Service service = ServiceFactory.newInstance().createService(SERVICE_QNAME); + + // Axis-Call erzeugen und mit Endpoint verknüpfen + Call call = service.createCall(); + call.setTargetEndpointAddress(ENDPOINT); + + // Call aufrufen und die Antwort speichern + System.out.println("Calling MOA-ID-AUTH ..."); + Vector responses = (Vector) call.invoke(params); + + // erstes BodyElement auslesen + SOAPBodyElement response = (SOAPBodyElement) responses.get(0); + + // <samlp:Response> als DOM-Baum holen + Document responseDocument = response.getAsDocument(); + Element samlResponse = responseDocument.getDocumentElement(); + + // <samlp:Response> auf System.out ausgeben + System.out.println("Response received:"); + OutputFormat format = new OutputFormat((Document) responseDocument); + format.setLineSeparator(LineSeparator.Windows); + format.setIndenting(true); + format.setLineWidth(0); + XMLSerializer serializer = new XMLSerializer(System.out, format); + serializer.asDOMSerializer(); + serializer.serialize(responseDocument); + + // <samlp:StatusCode> auslesen + Attr statusCodeAttr = (Attr)getNode(samlResponse, "/samlp:Response/samlp:Status/samlp:StatusCode/@Value"); + String samlStatusCode = statusCodeAttr.getValue(); + System.out.println("StatusCode: " + samlStatusCode); + + // <saml:Assertion> auslesen + if ("samlp:Success".equals(samlStatusCode)) { + Element samlAssertion = (Element)getNode(samlResponse, "/samlp:Response/saml:Assertion"); + + // FamilyName aus der <saml:Assertion> parsen + Node familyNameNode = getNode(samlAssertion, "//saml:AttributeStatement/saml:Attribute[@AttributeName=\"PersonData\"]/saml:AttributeValue/pr:Person/pr:Name/pr:FamilyName"); + String familyName = getText(familyNameNode); + System.out.println("Family name: " + familyName); + + // weitere Anmeldedaten aus der <saml:Assertion> parsen + // ... + + // Anmeldedaten und Target in der HTTPSession speichern + HttpSession session = req.getSession(); + session.setAttribute("UserFamilyName", familyName); + session.setAttribute("Geschaeftsbereich", target); + + // weitere Anmeldedaten in der HTTPSession speichern + // ... + + // Redirect auf die eigentliche Startseite + resp.sendRedirect("/index.jsp"); + } + } + catch (Exception ex) { + ex.printStackTrace(); + } + } + /** Returns the first node matching an XPath expression. */ + private static Node getNode(Node contextNode, String xpathExpression) throws JaxenException { + DOMXPath xpath = new DOMXPath(xpathExpression); + xpath.setNamespaceContext(NS_CONTEXT); + return (Node) xpath.selectSingleNode(contextNode); + } + /** Returns the text that a node contains. */ + public static String getText(Node node) { + if (!node.hasChildNodes()) { + return ""; + } + + StringBuffer result = new StringBuffer(); + NodeList list = node.getChildNodes(); + for (int i = 0; i < list.getLength(); i++) { + Node subnode = list.item(i); + if (subnode.getNodeType() == Node.TEXT_NODE) { + result.append(subnode.getNodeValue()); + } else if (subnode.getNodeType() == Node.CDATA_SECTION_NODE) { + result.append(subnode.getNodeValue()); + } else if (subnode.getNodeType() == Node.ENTITY_REFERENCE_NODE) { + // Recurse into the subtree for text + // (and ignore comments) + result.append(getText(subnode)); + } + } + return result.toString(); + } +} diff --git a/id.server/doc/moa_id/examples/Template.html b/id.server/doc/moa_id/examples/Template.html new file mode 100644 index 000000000..97e54c6af --- /dev/null +++ b/id.server/doc/moa_id/examples/Template.html @@ -0,0 +1,23 @@ +<form name="CustomizedForm" + action="<BKU>" + method="post"> + <input type="hidden" + name="XMLRequest" + value="<XMLRequest>"/> + <input type="hidden" + name="DataURL" + value="<DataURL>"/> + <input type="submit" value="Bürgerkarte lesen"/> +</form> +<form name="CustomizedInfoForm" + action="<BKU>" + method="post"> + <input type="hidden" + name="XMLRequest" + value="<CertInfoXMLRequest>"/> + <input type="hidden" + name="DataURL" + value="<CertInfoDataURL>"/> + Hier finden Sie weitere Informationen zur Überprüfung der Zertifikate.<br/> + <input type="submit" value="Weitere Info"/> +</form>
\ No newline at end of file diff --git a/id.server/doc/moa_id/examples/TransformsInfoAuthBlock.txt b/id.server/doc/moa_id/examples/TransformsInfoAuthBlock.txt new file mode 100644 index 000000000..396d0faea --- /dev/null +++ b/id.server/doc/moa_id/examples/TransformsInfoAuthBlock.txt @@ -0,0 +1,63 @@ +<sl10:TransformsInfo> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> + <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"> + <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"> + <xsl:template match="/" xmlns="http://www.w3.org/1999/xhtml"> + <html> + <body> +Bitte bestätigen Sie mit Ihrer Unterschrift folgende Angaben: +<br/> + <table border="1"> + <tr> + <td> + <b>Name:</b> + </td> + <td> + <xsl:value-of select="//@Issuer"/> + </td> + </tr> + <tr> + <td> + <b>Zeit:</b> + </td> + <td> + <xsl:value-of select="substring(//@IssueInstant,9,2)"/>.<xsl:value-of select="substring(//@IssueInstant,6,2)"/>.<xsl:value-of select="substring(//@IssueInstant,1,4)"/>, <xsl:value-of select="substring(//@IssueInstant,12,2)"/>:<xsl:value-of select="substring(//@IssueInstant,15,2)"/>:<xsl:value-of select="substring(//@IssueInstant,18,2)"/> + </td> + </tr> + <tr> + <td> + <b>Applikation:</b> + </td> + <td> + <xsl:value-of select="//saml:Attribute[@AttributeName='OA']/saml:AttributeValue"/> + </td> + </tr> + <tr> + <td> + <b>Geschäftsbereich:</b> + </td> + <td> + <xsl:value-of select="//saml:Attribute[@AttributeName='Geschäftsbereich']/saml:AttributeValue"/> + </td> + </tr> + <tr> + <td> + <b>Anmeldeserver:</b> + </td> + <td> + <xsl:value-of select="//saml:NameIdentifier"/> + </td> + </tr> + </table> + </body> + </html> + </xsl:template> + </xsl:stylesheet> + </dsig:Transform> + <dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/> + </dsig:Transforms> + <sl10:FinalDataMetaInfo> + <sl10:MimeType>text/html</sl10:MimeType> + </sl10:FinalDataMetaInfo> +</sl10:TransformsInfo> diff --git a/id.server/doc/moa_id/examples/conf/MOA-ID-Configuration.xml b/id.server/doc/moa_id/examples/conf/MOA-ID-Configuration.xml new file mode 100644 index 000000000..6ce00228c --- /dev/null +++ b/id.server/doc/moa_id/examples/conf/MOA-ID-Configuration.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com) by Stephan G (Comp) --> +<MOA-IDConfiguration xmlns="http://www.buergerkarte.at/namespaces/moaconfig#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:sl11="http://www.buergerkarte.at/namespaces/securitylayer/20020831#"> + <AuthComponent> + <BKUSelection> + <ConnectionParameter URL="http://10.16.46.108:18080/oa/getBKUSelectTag.jsp"/> + </BKUSelection> + <SecurityLayer> + <TransformsInfo filename="file:/home/moa/id/jakarta-tomcat-4.1.18/conf/moa-id/Transforms/TransformsInfosHTML.xml"/> + </SecurityLayer> + <MOA-SP> + <ConnectionParameter URL="https://10.16.46.108:8443/moa-spss/services/SignatureVerification"> + <AcceptedServerCertificates>file:/home/moa/id/jakarta-tomcat-4.1.18/conf/moa-id/certs/server-certs</AcceptedServerCertificates> + <ClientKeyStore password="Keystore Pass">file:/c:/</ClientKeyStore> + </ConnectionParameter> + <VerifyIdentityLink> + <TrustProfileID>TrustProfile1</TrustProfileID> + </VerifyIdentityLink> + <VerifyAuthBlock> + <TrustProfileID>TrustProfile1</TrustProfileID> + <VerifyTransformsInfoProfileID>TransformsInfoProfile1MOAID</VerifyTransformsInfoProfileID> + </VerifyAuthBlock> + </MOA-SP> + <IdentityLinkSigners> + <X509SubjectName>CN=Test Signaturdienst Personenbindung,OU=Zentrales Melderegister,O=Bundesministerium f\C3\BCr Inneres,C=AT</X509SubjectName> + </IdentityLinkSigners> + </AuthComponent> + <ProxyComponent> + <AuthComponent> + <ConnectionParameter URL="http://moatestlinux:18080/moa-id-auth/services/GetAuthenticationData"> + <AcceptedServerCertificates>http://www.altova.com</AcceptedServerCertificates> + <ClientKeyStore password="String">http://www.altova.com</ClientKeyStore> + </ConnectionParameter> + </AuthComponent> + </ProxyComponent> + <OnlineApplication publicURLPrefix="https://10.16.126.28:9443/moa-id-proxy/"> + <AuthComponent provideZMRZahl="false" provideAUTHBlock="false" provideIdentityLink="false"/> + <ProxyComponent configFileURL="file:/home/moa/id/jakarta-tomcat-4.1.18/conf/moa-id/oa/OAConf.xml" sessionTimeOut="600"> + <ConnectionParameter URL="https://moatestlinux:18443/oa/"> + <AcceptedServerCertificates>file:/home/moa/id/jakarta-tomcat-4.1.18/conf/moa-id/oa/server-certs/tomcat</AcceptedServerCertificates> + <ClientKeyStore password="ClientKeystoreOAPAss">URL:toClientKeystoreOA</ClientKeyStore> + </ConnectionParameter> + </ProxyComponent> + </OnlineApplication> + <ChainingModes systemDefaultMode="pkix"> + <TrustAnchor mode="chaining"> + <dsig:X509IssuerName>CN=A-Trust-nQual-0,OU=A-Trust-nQual-0,O=A-Trust,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>536</dsig:X509SerialNumber> + </TrustAnchor> + </ChainingModes> + <GenericConfiguration name="DirectoryCertStoreParameters.RootDir" value="file:/home/moa/id/jakarta-tomcat-4.1.18/conf/moa-id/certs/cert-store-root"/> + <GenericConfiguration name="AuthenticationData.TimeOut" value="120"/> + <GenericConfiguration name="AuthenticationSession.TimeOut" value="600"/> +</MOA-IDConfiguration> diff --git a/id.server/doc/moa_id/examples/conf/OAConfBasicAuth.xml b/id.server/doc/moa_id/examples/conf/OAConfBasicAuth.xml new file mode 100644 index 000000000..0e4508036 --- /dev/null +++ b/id.server/doc/moa_id/examples/conf/OAConfBasicAuth.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Configuration xmlns="http://www.buergerkarte.at/namespaces/moaconfig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <LoginType>stateful</LoginType> + <BasicAuth> + <UserID>MOAFamilyName</UserID> + <Password>MOADateOfBirth</Password> + </BasicAuth> +</Configuration> + +<!-- Example for resulting "UserID:Password" used for basic authentication: +Mustermann:1985-12-01 +-->
\ No newline at end of file diff --git a/id.server/doc/moa_id/examples/conf/OAConfHeaderAuth.xml b/id.server/doc/moa_id/examples/conf/OAConfHeaderAuth.xml new file mode 100644 index 000000000..c1a1964bf --- /dev/null +++ b/id.server/doc/moa_id/examples/conf/OAConfHeaderAuth.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Configuration xmlns="http://www.buergerkarte.at/namespaces/moaconfig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <LoginType>stateful</LoginType> + <HeaderAuth> + <Parameter Name="Name" Value="MOAFamilyName"/> + <Parameter Name="Vorname" Value="MOAGivenName"/> + <Parameter Name="Geburtsdatum" Value="MOADateOfBirth"/> + <Parameter Name="VPK" Value="MOAVPK"/> + </HeaderAuth> +</Configuration> + +<!-- Example for resulting request headers: +Name:Mustermann +Vorname:Hermann +Geburtsdatum:1985-12-01 +VPK:kp6hOq6LRAkLtrqm6EvDm6bMwJw= +-->
\ No newline at end of file diff --git a/id.server/doc/moa_id/examples/conf/OAConfParamAuth.xml b/id.server/doc/moa_id/examples/conf/OAConfParamAuth.xml new file mode 100644 index 000000000..18e0a109c --- /dev/null +++ b/id.server/doc/moa_id/examples/conf/OAConfParamAuth.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Configuration xmlns="http://www.buergerkarte.at/namespaces/moaconfig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <LoginType>stateful</LoginType> + <ParamAuth> + <Parameter Name="Name" Value="MOAFamilyName"/> + <Parameter Name="Vorname" Value="MOAGivenName"/> + <Parameter Name="Geburtsdatum" Value="MOADateOfBirth"/> + <Parameter Name="VPK" Value="MOAVPK"/> + </ParamAuth> +</Configuration> + +<!-- Example for resulting request parameters: +Name=Mustermann&Vorname=Hermann&Geburtsdatum=1985-12-01&VPK=kp6hOq6LRAkLtrqm6EvDm6bMwJw= +-->
\ No newline at end of file diff --git a/id.server/doc/moa_id/examples/moa-id-env-linux.txt b/id.server/doc/moa_id/examples/moa-id-env-linux.txt new file mode 100644 index 000000000..995d0b4d4 --- /dev/null +++ b/id.server/doc/moa_id/examples/moa-id-env-linux.txt @@ -0,0 +1 @@ +export CATALINA_OPTS="-Dmoa.id.configuration=/home/moa/jakarta-tomcat-4.1.18/conf/moa-id/MOAIDConfiguration.xml -Dlog4j.configuration=file:/home/moa/jakarta-tomcat-4.1.18/conf/moa-id/log4j.properties" diff --git a/id.server/doc/moa_id/examples/moa-id-env-windows.txt b/id.server/doc/moa_id/examples/moa-id-env-windows.txt new file mode 100644 index 000000000..109c196cf --- /dev/null +++ b/id.server/doc/moa_id/examples/moa-id-env-windows.txt @@ -0,0 +1 @@ +set CATALINA_OPTS=-Dmoa.id.configuration=c:\jakarta-tomcat-4.1.18\conf\moa-id\MOAIDConfiguration.xml -Dlog4j.configuration=file:c:\jakarta-tomcat-4.1.18\conf\moa-id\log4j.properties diff --git a/id.server/doc/moa_id/faqs.htm b/id.server/doc/moa_id/faqs.htm new file mode 100644 index 000000000..ed386e11e --- /dev/null +++ b/id.server/doc/moa_id/faqs.htm @@ -0,0 +1,109 @@ +<html> +<head> + <title>FAQs - Häufig gestellte Fragen </title> + <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> + <meta content="heinz.rosenkranz@brz.gv.at" name="author"/> + +<style type="text/css"> + body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#c0c0c0; background:#505050} + li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; } + #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; } + #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px } + #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify } + #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:6px } + a:link {color:#000090} + a:visited {color:#000090} + a:hover {color:#c03030} + a {text-decoration: none} +</style> + +<script language="JavaScript"> +<!-- +function goWin(url) { + Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0"); + window.setTimeout("showWin()",300); +} +function showWin() { Fenster.focus(); } +// --> +</script> +</head> + +<body bgcolor="#FFFFFF" > +<div style="width:650px"> + +<!-- Projekt-Logo --> +<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050"> + Module für Online-Applikationen +</div> +<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; "> +<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->  +</div> +<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" > +Projekt <span style="font-size:48pt; ">moa</span>  +</div> +<br /> + +<!-- First Section with Navigation --> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"> +<div style="font-weight:bold; margin-top:12px">FAQs</div><br /> +<div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" /> + <b> Zurück</b></a></div> +<br /> +<!-- div id="slogan"> +MOA ist eine Entwicklung des Bundesrechenzentrums BRZ in Zusammenarbeit mit A-Trust und dem Institut für angewandte Informations- und Kom-munikationstechnik (IAIK) der Universität Graz +</div --> +</td> + +<td valign="top"> +<div id="titel">FAQs - Häufig gestellte Fragen </div> + +<p id="subtitel">Lokal installiertes MOA-ID und Microsoft Internet Explorer</p> +<p id="block"> +Aufgrund eines Fehlers in Microsofts Internet Explorer kann es beim Testen eines lokal installierten Tomcat mit den MOA-ID-Modulen zu Fehlern kommen, da ein Redirect von der Auth-Komponente zur Proxy-Komponente nicht ausgeführt wird. +</p> +<p id="block"> +Als Workaround empfiehlt es sich, zum lokalen Testen einen alternativen Browser wie <a href="http://www.opera.com/">Opera</a>, <a href="http://www.mozilla.org/">Mozilla</a> oder <a href="http://www.netscape.org/">Netscape</a> zu verwenden, da diese Probleme dort nicht auftreten. +</p> +<br /> +<p id="subtitel">Lokale Proxy-Komponente und HTTPS</p> +<p id="block"> +Wenn die Proxy-Komponente lokal läuft und per TLS/SSL aufgerufen wird, kommt es zu einer Fehlermeldung. +</p> +<p id="block"> +Workaround: Wenn in der Konfiguration statt 'localhost' der eigene Rechnername verwendet wird, funktioniert die Proxy-Komponente wie gewohnt. <br /> +Zum Herausfinden des Rechnernamens wechselt man unter Windows auf die Kommandozeile und kann mittels 'ipconfig /all' den Rechnernamen herausfinden. +Unix/Linux-Anwender sehen bspw. mittels 'cat' in der Datei /etc/hosts nach, der Texteintrag hinter der eigenen IP-Adresse spezifiziert den Rechnernamen. +</p> +<br /> +<p id="subtitel">Tomcat und starke Verschlüsselung (>100 Bit)</p> +<p id="block"> +Serverseitig kann keine starke Verschlüsselung (seitens Tomcat) erzwungen werden. +</p> +<p id="block"> +Als Workaround empfiehlt es sich, einen Web-Server wie Apache oder den Microsoft Internet-Information-Server für das SSL-Handling vorzuschalten und dort in der jeweiligen Konfiguration starke Verschlüsselung zu erzwingen. +</p> +<br /> +</td></tr></table> + + + + +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"><br /></td> +<td valign="top"> +<hr /> +<div style="font-size:8pt; color:#909090">© 2003 <!-- Development Center, BRZ GmbH --></div> +</td></tr></table> +<br /> + + +</div> +</body> +</html>
\ No newline at end of file diff --git a/id.server/doc/moa_id/id-admin.htm b/id.server/doc/moa_id/id-admin.htm new file mode 100644 index 000000000..718f0cd03 --- /dev/null +++ b/id.server/doc/moa_id/id-admin.htm @@ -0,0 +1,283 @@ +<html> +<head> + <title>MOA ID-Administration</title> + <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> + <meta content="heinz.rosenkranz@brz.gv.at" name="author"/> + +<style type="text/css"> + body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#d8d8d8; background:#505050} + li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + tt { font-size:9pt; color:#505060; } + #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; } + #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; } + #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px } + #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify } + #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:3px } + #info { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; padding:3px; border:solid 1px #c0c0c0 } + #infolist { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; } + a:link {color:#000090} + a:visited {color:#000090} + a:hover {color:#c03030} + a {text-decoration: none} +</style> + +<script language="JavaScript"> +<!-- +function goWin(url) { + Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0"); + window.setTimeout("showWin()",300); +} +function showWin() { Fenster.focus(); } +// --> +</script> +</head> + +<body bgcolor="#FFFFFF" > +<div style="width:650px"> + +<!-- Projekt-Logo --> +<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050"> + Module für Online-Applikationen +</div> +<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; "> +<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->  +</div> +<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" > +Projekt <span style="font-size:48pt; ">moa</span>  +</div> +<br /> + +<!-- First Section with Navigation --> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"> +<div style="font-weight:bold; margin-top:12px">MOA-ID</div><br /> +<div id="klein"><img src="../moa_images/select.gif" border="0" width="13" height="14" /> + <b> Übersicht</b></div> +<div id="klein"><a href="id-admin_1.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Basis-Installation</b></a></div> +<div id="klein"><a href="id-admin_2.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Konfiguration </b></a></div> +<div id="klein"><a href="id-admin_3.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Optionale<br />    Komponenten</b></a></div> +<br /> +<div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" /> + <b> Zurück</b></a></div> +<br /> +</td> + +<td valign="top"> +<div id="titel">MOA ID-Administration v.1.1</div> +<p id="block"> +Die Komponenten des Moduls Identifikation (MOA-ID), MOA-ID-AUTH und MOA-ID-PROXY, sind als plattformunabhängige Webapplikationen ausgelegt. +MOA-ID-AUTH ist die Basiskomponente des Moduls, und MOA-ID-PROXY ist eine optionale Zusatzkomponente. +Für den Betrieb dieser Webapplikationen wird eine Java Virtual Machine und ein Java Servlet Container vorausgesetzt. +<br /><br /> +Dieses Handbuch beschreibt die Installation und Konfiguration von MOA-ID-AUTH und von MOA-ID-PROXY, und die Einrichtung der Systemumgebungen. +</p> +</td></tr></table> +<br /> + + + +<div id="szenarien" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top" id="klein"> +<p id="titel"> </p> +</td> +<td valign="top"> +<p id="titel">Übersicht </p> +<div id="block"> +Für den Betrieb von MOA-ID-AUTH sind unterschiedliche Szenarien möglich, die unterschiedliche Möglichkeiten bieten und die Installation unterschiedlicher Software- und Hardware-Komponenten erfordern. Dieser Abschnitt gibt einen kurzen Überblick über die notwendige Basis-Installation und optionale weitere Konfigurationsmöglichkeiten. +</div> +</td></tr></table> +<br /> + +<div id="szenarien1" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top" id="klein"> +<p id="subtitel"> </p> +</td> +<td valign="top"> +<div id="subtitel">Basis-Installation von MOA-ID-AUTH</div> +<p id="block"> +Die Basis-Installation stellt einerseits die minimalen Anforderungen für den Betrieb von MOA-ID-AUTH dar, andererseits dient sie als Ausgangspunkt für weitere (optionale) Konfigurations-Möglichkeiten. +<br /><br /> +Folgende Software ist Voraussetzung für die Basis-Installation: +</div> +<ul> +<li>JDK 1.3.1 oder JDK 1.4.1</li> +<li>Tomcat 4.1.18 </li> +<li>MOA-ID-AUTH 1.0 </li> +<li>MOA SP/SS 1.0 (entweder als WebService oder direkt als interne Bibliothek)</li> +</ul> +<div id="block"> +Um möglichen Versionskonflikten aus dem Weg zu gehen sollten stets die neuesten Versionen von MOA-ID als auch von MOA-SP/SS verwendet werden. <br/> +In diesem Betriebs-Szenario wird MOA-ID-AUTH in Tomcat deployt. Tomcat fungiert gleichzeitig als HTTP- und HTTPS-Endpunkt für MOA-ID-AUTH. Beide Protokolle werden direkt in Tomcat konfiguriert. +<br/><br/> +Die Webapplikation verwendet Log4j als Logging Toolkit. +</div> +</td></tr></table> +<br /> + +<div id="szenarien2" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top" id="klein"> +<p id="subtitel"> </p> +</td> +<td valign="top"> +<p id="subtitel">Basis-Installation von MOA-ID-PROXY (optional)</p> +<div id="block"> +Einer Online-Applikation, für die MOA-ID-AUTH die Authentisierung übernimmt, kann die Komponente MOA-ID-PROXY vorgeschaltet werden. Diese Komponente übernimmt die Anmeldedaten von MOA-ID-AUTH, führt die Anmeldung an der Online Applikation durch und schleust in der Folge Daten an die Online-Applikation und Daten an den Benutzer durch. + +Die Basis-Installation von MOA-ID-PROXY geschieht im Wesentlichen analog zur Basis-Installation von MOA-ID-AUTH. +<br/><br/> +MOA-ID-AUTH und MOA-ID-PROXY können in verschiedenen Konstellationen zum Einsatz gebracht werden: +<ul> +<li>auf verschiedenen Rechnern</li> +<li>auf ein und demselben Rechner in verschiedenen Java Servlet Containern</li> +<li>auf ein und demselben Rechner in ein und demselben Java Servlet Container</li> +</ul> +<br/><br /><br /> +Ausgehend von der Basis-Installation können die optionalen Konfigurationen, die in den nachfolgenden Abschnitten beschrieben werden, unabhängig und in beliebiger Kombination aufgesetzt werden. +</div> +</td></tr></table> +<br /> + +<div id="szenarien3" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top" id="klein"> +<p id="subtitel"> </p> +</td> +<td valign="top"> +<p id="subtitel">Konfiguration mit vorgeschaltetem Webserver (optional)</p> +<div id="block"> +Den MOA ID Webapplikationen kann jeweils optional ein Webserver vorgeschaltet sein. Unter Microsoft Windows ist das im Regelfall der Microsoft Internet Information Server (MS IIS), auf Unix-Systemen kommt üblicherweise der Apache Webserver zum Einsatz. +<br /><br /> + Folgende Software ist unter Windows Voraussetzung: +</div> +<ul> +<li>MS IIS 5.0 </li> +<li>Jakarta mod_jk 1.2.2 </li> +</ul> +<div id="block">Folgende Software ist unter Unix/Linux Voraussetzung: <div id="block"> +<ul> +<li>Apache Webserver 2.0.x mit mod_SSL </li> +<li>Jakarta mod_jk 1.2.2 </li> +</ul> +<div id="block">In diesem Fall übernimmt der vorgeschaltete Webserver die Funktion des HTTP- und HTTPS-Endpunktes. Beide Protokolle werden im Webserver konfiguriert. +<br /><br /> +Mittels mod_jk werden die Webservice-Aufrufe, die im vorgeschalteten Webserver eintreffen, an Tomcat weiter geleitet, bzw. die Antwort von Tomcat wieder an den Webserver zurück übermittelt. +</div> +</td></tr></table> +<br /> + +<div id="szenarien4" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top" id="klein"> +<p id="subtitel"> </p> +</td> +<td valign="top"> +<p id="subtitel">Konfiguration mit PostgreSQL (optional)</p> +<div id="block"> +Das MOA ID Webservice kann eine PostgreSQL Datenbank nutzen, um: +</div> +<ul> +<li>Log-Meldungen zu speichern </li> +</ul> +<div id="block">Für den Zugriff auf PostgreSQL ist die Installation folgender Software Voraussetzung: </div> +<ul> +<li>PostgreSQL 7.3</li> +</ul> +</td></tr></table> +<br /> + +<div id="szenarien5" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top" id="klein"> +<p id="subtitel"> </p> +</td> +<td valign="top"> +<p id="subtitel">Zusammenfassung</p> +<div id="block"> +Notwendig für den Betrieb von MOA ID ist eine Basis-Installation. Weitere optionale Konfigurationen können unabhängig und in beliebiger Kombination miteinander durchgeführt werden, um eine bessere Integration der MOA ID Webapplikationen in die vorhandene Betriebs-Infrastruktur zu erreichen. +</div> +</td></tr></table> +<br /><br /> + + + +<div id="referenzen" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top" id="klein"> +<p id="subtitel"> </p> +</td> +<td valign="top"> +<p id="titel">Referenzierte Software</p> +<div id="block"> +Die Versionsangaben beziehen sich auf die Versionen, mit denen die MOA ID Webapplikationen entwickelt und getestet wurde. Geringfügig andere Software-Versionen stellen üblicherweise kein Problem dar. +</div> +<br /><br /> +<div id="block"> +<table border="1" width="100%" cellpadding="2" cellspacing="0"> +<tr> +<th>Komponente</th><th>Version</th> +</tr><tr> +<td><a href="http://java.sun.com/j2se/1.3/download.html">JDK</a> </td><td>1.3.1_07   </td> +</tr><tr> +<td><a href="http://java.sun.com/j2se/1.4.1/download.html">JDK</a> </td><td>1.4.1  </td> +</tr><tr> +<td><a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/">Tomcat </a> </td><td>4.1.18  </td> +</tr><tr> +<td><a href="http://cio.gv.at/">MOA-ID-AUTH </a> </td><td>1.0  </td> +</tr><tr> +<td><a href="http://cio.gv.at/">MOA-ID-PROXY </a> </td><td>1.0  </td> +</tr><tr> +<td><a href="http://cio.gv.at/">MOA-SPSS </a> </td><td>1.0  </td> +</tr><tr> +<td><a href="http://httpd.apache.org/docs-2.0/">Apache Webserver</a> </td><td>1.3.23   </td> +</tr><tr> +<td><a href="http://www.microsoft.com/windows2000/en/server/iis/default.asp">Microsoft Internet Information Server </a> </td><td>5.0   </td> +</tr><tr> +<td><a href="http://httpd.apache.org/docs-2.0/ssl/">mod_SSL </a> </td><td>(*)  </td> +</tr><tr> +<td><a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/">Jakarta mod_jk </a> </td><td>1.2.2  </td> +</tr><tr> +<td><a href="http://jakarta.apache.org/log4j/docs/index.html">Jakarta Log4j </a> </td><td>1.2.7  </td> +</tr><tr> +<td><a href="http://techdocs.postgresql.org/installguides.php">PostgreSQL </a> </td><td>7.3  </td> +</tr> +</table> +</div> +<br /><br /> + +<div id="block"> +(*) passend zur Version des Apache Webservers +</div> +</td></tr></table> +<br /><br /> + + +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"><br /></td> +<td valign="top"> +<hr /> +<div style="font-size:8pt; color:#909090">© 2003 <!-- Development Center, BRZ GmbH --></div> +</td></tr></table> +<br /> + + +</div> +</body> +</html>
\ No newline at end of file diff --git a/id.server/doc/moa_id/id-admin_1.htm b/id.server/doc/moa_id/id-admin_1.htm new file mode 100644 index 000000000..f56338747 --- /dev/null +++ b/id.server/doc/moa_id/id-admin_1.htm @@ -0,0 +1,400 @@ +<html> +<head> + <title>MOA ID-Administration</title> + <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> + <meta content="heinz.rosenkranz@brz.gv.at" name="author"/> + +<style type="text/css"> + body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#d8d8d8; background:#505050} + li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + tt { font-size:9pt; color:#505060; } + pre { font-size:9pt; color:#505060; } + #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; } + #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; } + #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px } + #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify } + #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:3px } + #info { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; padding:3px; border:solid 1px #c0c0c0 } + #infolist { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; } + a:link {color:#000090} + a:visited {color:#000090} + a:hover {color:#c03030} + a {text-decoration: none} +</style> + +<script language="JavaScript"> +<!-- +function goWin(url) { + Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0"); + window.setTimeout("showWin()",300); +} +function showWin() { Fenster.focus(); } +// --> +</script> +</head> + +<body bgcolor="#FFFFFF" > +<div style="width:650px"> + +<!-- Projekt-Logo --> +<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050"> + Module für Online-Applikationen +</div> +<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; "> +<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->  +</div> +<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" > +Projekt <span style="font-size:48pt; ">moa</span>  +</div> +<br /> + +<!-- First Section with Navigation --> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"> +<div style="font-weight:bold; margin-top:12px">MOA-ID</div><br /> +<div id="klein"><a href="id-admin.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Übersicht</b></a></div> +<div id="klein"><img src="../moa_images/select.gif" border="0" width="13" height="14" /> + <b> Basis-Installation</b></div> +<div id="klein"><a href="id-admin_2.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Konfiguration </b></a></div> +<div id="klein"><a href="id-admin_3.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Optionale<br />    Komponenten</b></a></div> +<br /> +<div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" /> + <b> Zurück</b></a></div> +</br /><br /> +<div id="slogan"> +<b>Installationsschritte: </b> +<br /> +<a href="#vorbereitung"><b>Vorbereitung</b></a><br /> +<a href="#Tomcat"><b>Tomcat Konfiguration</b></a><br /> +<a href="#deployment_ak"><b>Deployment<br/>MOA-ID-AUTH</b></a><br /> +<a href="#deployment_pk"><b>Deployment<br/>MOA-ID-PROXY</b></a><br /> +<a href="#Tomcat_Start"><b>Tomcat Start/Stop</b></a><br /> +<a href="#Logging"><b>Logging</b></a><br /> +</div> +</td> + +<td valign="top"> +<p id="titel">Basis-Installation v.1.1</p> +Bei der Basis-Installation von MOA-ID-AUTH und von MOA-ID-PROXY ist grundsätzlich gleichartig vorzugehen. +Unterschiede sind in der Installationsanweisung angeführt. +<div id="vorbereitung" /> +<p id="subtitel">Vorbereitung</p> +<div id="block"> +<b>Installation des JDK</b><br /> +Installieren Sie das JDK 1.3.1 oder JDK 1.4.1 in ein beliebiges Verzeichnis. Das Wurzelverzeichnis der JDK-Installation wird im weiteren Verlauf als $JAVA_HOME bezeichnet. +<br /><br /> +<b>Installation von Tomcat</b><br /> +Installieren Sie Tomcat in ein Verzeichnis, das keine Leerzeichen im Pfadnamen enthält. Das Wurzelverzeichnis der Tomcat-Installation wird im weiteren Verlauf als $CATALINA_HOME bezeichnet. <b>Hinweis:</b> Tomcat wird in einer Distribution für JDKs ab Version 1.2 und in einer Distribution speziell für JDK 1.4 ausgeliefert. Installieren Sie die zur Version Ihres JDK passende Tomcat-Version. +<br /><br /> +<b>Entpacken der MOA ID Webapplikation</b><br /> +Entpacken Sie die ausgelieferten Dateien der Webapplikation (moa-id-auth-x.y.zip oder moa-id-proxy-x.y.zip; ersetzen Sie x.y durch die Releasenummer von MOA-ID-AUTH bzw. MOA-ID-PROXY) in ein beliebiges Verzeichnis. Diese Verzeichnisse werden im weiteren Verlauf als $MOA_ID_INST_AUTH bzw. $MOA_ID_INST_PROXY bezeichnet. +<br /><br /> +<b>Installation der IAIK JCE, des IAIK LDAP Protocol Handlers und von JSSE (JDK 1.3.1)</b><br /> +Da Java in der Version 1.3.1 ohne Unterstützung für Kryptographie, LDAP und SSL ausgeliefert wird, müssen diese Funktionalitäten nachträglich installiert werden. Es stehen hierfür zwei Möglichkeiten zur Verfügung: <br /> +1. Installation innerhalb des JDK 1.3.1:<br /> +Die Dateien aus dem Verzeichnis $MOA_ID_INST_AUTH/ext13 (oder $MOA_ID_INST_PROXY/ext13) müssen in das Verzeichnis $JAVA_HOME/jre/lib/ext kopiert werden. Anschließend steht eine Unterstützung für Kryptographie und SSL jeder Java-Anwendung die dieses JDK verwendet zur Verfügung.<br /> +2. Installation ausschließlich für Applikationen innerhalb von Tomcat:<br /> +Um die o.g. Unterstützung nur Tomcat-Anwendungen zu ermöglichen, können die Dateien aus dem Verzeichnis $MOA_ID_INST_AUTH/ext13 (oder $MOA_ID_INST_PROXY/ext13) in ein beliebiges Verzeichnis kopiert werden. Im Folgenden wird dieses Verzeichnis $MOA_ID_EXT genannt. Anschließend muss der Tomcat-Klassenpfad angepasst werden:<br/> +Für Windows-Betriebssysteme ist dafür die Datei $CATALINA_HOME\bin\setclasspath.bat anzupassen:<br/> +Hinter <i>'set CLASSPATH=%JAVA_HOME%\lib\tools.jar'</i> müssen nun jeweils mit Semikolon getrennt, die Dateien aus $MOA_ID_EXT inklusive der vollständigen Pfadangaben angefügt werden.<br/> +Anschließend sieht diese Zeile beispielsweise folgendermaßen aus: +<pre> + set CLASSPATH=%JAVA_HOME%\lib\tools.jar; + $MOA_ID_EXT\iaik_jce_full.jar; + $MOA_ID_EXT\iaik_ldap.jar; + $MOA_ID_EXT\jcert.jar; + $MOA_ID_EXT\jnet.jar; + $MOA_ID_EXT\jsse.jar +</pre> +($MOA_ID_EXT ist durch den tatsächlichen Pfad zu ersetzen)<br /> +Unix/Linux-Anwender verfahren analog mit der Datei $CATALINA_HOME/bin/setclasspath.sh wobei ';' durch ':' zu ersetzen ist.<br /><br /> +<b>Installation der IAIK JCE und des IAIK LDAP Protocol Handlers (JDK 1.4.1)</b><br /> +Die Dateien aus dem Verzeichnis $MOA_ID_INST_AUTH/ext14 (oder $MOA_ID_INST_PROXY/ext14) müssen in das Verzeichnis $JAVA_HOME/jre/lib/ext kopiert werden. Anschließend steht eine Unterstützung für Kryptographie und SSL jeder Java-Anwendung die dieses JDK verwendet zur Verfügung.<br /> +Zusätzlich müssen die so genannten "Unlimited Strength Jurisdiction Policy Files 1.4.1" heruntergeladen, entpackt und ins Verzeichnis $JAVA_HOME/jre/lib/security kopiert werden. Der Download für diese Dateien findet sich am unteren Ende der <a href="http://java.sun.com/j2se/1.4.1/download.html">Download-Seite für das JDK 1.4.1</a> in der Sektion "Other Downloads". +</div> + +</td></tr></table> + +<div id="Tomcat" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<td width="170" valign="top" id="klein"> +<p id="subtitel"> </p> +<div id="slogan"> +<br /><br /> +</div> +</td> +<td valign="top"> +<p id="subtitel">Konfiguration von Tomcat</p> +<div id="block"> +<b>Minimale Konfiguration</b> <br /> +Die zentrale Konfigurations-Datei von Tomcat ist $CATALINA_HOME/conf/server.xml. Tomcat wird grundsätzlich mit +einer funktionierenden Default-Konfiguration ausgeliefert, die jedoch einiges an Ballast enthält und viele Ports +offen lässt. Die Datei $MOA_ID_INST_AUTH/tomcat/server.xml (bzw. $MOA_ID_INST_PROXY/tomcat/server.xml) enthält eine minimale +Tomcat-Konfiguration, die je einen Connector für HTTP und für HTTPS freischaltet.<br /><br /> +<b>SSL</b><br /> +Für den sicheren Betrieb von MOA-ID-AUTH ist die Verwendung von SSL Voraussetzung, sofern nicht ein vorgelagerter WebServer (Apache oder IIS) das SSL-Handling übernimmt. +Ebenso kann SSL auch für MOA-ID-PROXY verwendet werden. +Das Dokument <a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/ssl-howto.html" target="_new">Tomcat SSL Configuration HOW-TO</a> gibt einen guten Überblick über die Konfiguration von SSL in Tomcat. Da die für SSL notwendigen Bibliotheken bereits im Abschnitt "Vorbereitung" eingebunden wurden, sind nur noch folgende Schritte notwendig: +</div> +<ul> +<li>Erstellung eines Server-Keystores, welches den privaten Schlüssel des Servers sowie das Server-Zertifikat enthält, +z.B. mit dem <a href="http://java.sun.com/j2se/1.3/docs/tooldocs/win32/keytool.html" target="_new"> Java Keytool</a>. <br /> +<b>Hinweis:</b> Standardmäßig wird beim Erzeugen eines neuen Keystores im Home-Verzeichnis des Benutzers die Datei ".keystore" angelegt. Möchte man den Dateinamen und Pfad ändern, kann man das dem SSL-Connector in $CATALINA_HOME/conf/server.xml durch hinzufügen des Attributes <i>keystoreFile="NAME DES KEYSTORES"</i> im Element <Factory> bekannt machen. Das zum Keystore gehörende Passwort übergibt man Tomcat mittels des Attributes <i>keystorePass= "PASSWORT DES KEYSTORES"</i> im Element <Factory>. </li> +<li>Erstellung eines Keystores mit vertrauenswürdigen Client-Zertifikaten, z.B. mit dem <a href="http://java.sun.com/j2se/1.3/docs/tooldocs/win32/keytool.html" target="_new"> Java Keytool</a> (nur, wenn SSL Client-Authentisierung verwendet werden soll) </li> +<li>Falls eine Client-Authentisierung gewünscht ist, muss die Konfiguration des SSL-Connectors in $CATALINA_HOME/conf/server.xml angepasst werden.</li> +</ul> + +<div id="block"> +<b>MOA Administrator</b><br /> +Der Aufruf der URL für die dynamische Konfiguration von MOA-ID-AUTH ist durch eine Passwort-Abfrage geschützt, und kann nur von Benutzern aufgerufen werden, die der Benutzer-Rolle <tt>moa-admin</tt> zugeordnet werden können.<br /> +Um diese Benutzer-Rolle und einen oder mehrere Benutzer einzurichten, müssen in der Datei $CATALINA_HOME/conf/tomcat-users.xml unter dem Element <tt><tomcat-users></tt> sinngemäß folgende Einträge hinzugefügt werden: +<pre> +<role rolename="moa-admin"/> +<user username="moa" password="moa" roles="moa-admin"/> +</pre> +</div> +</td></tr></table> + +<div id="deployment_ak" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<td width="170" valign="top" id="klein"> +<p id="subtitel"> </p> +<div id="slogan"> +<br /><br /> +</div> +</td> +<td valign="top"> +<p id="subtitel">Deployment von MOA-ID-AUTH in Tomcat</p> +<div id="block"> +Um MOA-ID-AUTH in Tomcat für den Ablauf vorzubereiten, sind folgende Schritte notwendig: <br /> +<ul> +<li>Die Datei $MOA_ID_INST_AUTH/moa-id-auth.war wird ins Verzeichnis $CATALINA_HOME/webapps kopiert. Dort wird sie beim ersten Start von Tomcat automatisch ins Verzeichnis $CATALINA_HOME/webapps/moa-id-auth entpackt. </li> +<li>Die MOA-ID Konfigurationsdatei und die zugehörigen Verzeichnisse "certs" und "transforms" werden in ein beliebiges Verzeichnis im Filesystem kopiert (z.B. $CATALINA_HOME/conf/moa-id). <br />In $MOA_ID_INST_AUTH/conf/moa-id befindet sich eine funktionsfähige Konfiguration, die als Ausgangspunkt für die Konfiguration von MOA-ID-AUTH dienen kann. </li> +<li>Die endorsed Libraries für Tomcat müssen aus dem Verzeichnis $MOA_ID_INST_AUTH/endorsed in das Tomcat-Verzeichnis $CATALINA_HOME/common/endorsed kopieren werden. Folgende Libraries sind für das Deployment im endorsed Verzeichnis vorgesehen: +<ul> +<li id="klein">Xerces-J-2.0.2 (bestehend aus xercesImpl.jar und xmlParserAPIs.jar)</li> +</ul> +Eventuell vorhandene Dateien mit dem gleichen Namen müssen ersetzt werden. +</li> +<li>Folgende Java System Properties sind zu setzen: <br /> +<ul id="klein"> +<li id="klein">moa.id.configuration=Name der MOA ID Konfigurationsdatei. Eine beispielhafte MOA ID Konfiguration ist in $MOA_ID_INST_AUTH/conf/moa-id/ SampleMOAIDConfiguration.xml enthalten.</li> +<li id="klein">log4j.configuration=URL der Log4j Konfigurationsdatei. Eine beispielhafte Log4j-Konfiguration ist in $MOA_ID_INST_AUTH/conf/moa-id/log4j.properties enthalten. </li> +<li id="klein">javax.net.ssl.trustStore=Name des Truststores für vertrauenswürdige SSL Client-Zertifikate (optional; nur, wenn SSL Client-Authentisierung durchgeführt werden soll). </li> +</ul> +Diese Java System-Properties werden Tomcat über die Umgebungsvariable CATALINA_OPTS mitgeteilt +(siehe Beispiele für <a href="examples/moa-id-env-windows.txt">Windows</a> und für <a href="examples/moa-id-env-linux.txt">Linux</a>). +</ul> +</div> +</td></tr></table> + + +<div id="deployment_pk" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<td width="170" valign="top" id="klein"> +<p id="subtitel"> </p> +<div id="slogan"> +<br /><br /> +</div> +</td> +<td valign="top"> +<p id="subtitel">Deployment von MOA-ID-PROXY in Tomcat</p> +<div id="block"> +Um MOA-ID-PROXY in Tomcat für den Ablauf vorzubereiten, sind folgende Schritte notwendig: <br /> +<ul> +<li>Die Datei $MOA_ID_INST_PROXY/moa-id-proxy.war wird in ein beliebiges Verzeichnis (bspw. $CATALINA_HOME) kopiert. <b>HINWEIS: Das Verzeichnis darf NICHT $CATALINA_HOME/webapps sein!</b><br /> + Anschliessend muss in der Datei <tt>$CATALINA_HOME/conf/server.xml</tt> der Tomcat-Root-Context auf diese Datei gesetzt werden: wenn das war-file sich in $CATALINA_HOME befindet, geschieht dies mit dem Einfügen von folgendem Element innerhalb von <tt><Server>...<Service>...<Engine>...<Host></tt>: </li> +<pre><Context path="" docBase="../moa-id-proxy.war" debug="0"/></pre> +Anmerkung: Der Root-Context von Tomcat ist normalerweise auskommentiert. <br /><br /> +<li>Die MOA-ID Konfigurationsdatei und die zugehörigen Verzeichnisse "certs" und "oa" werden in ein beliebiges Verzeichnis im Filesystem kopiert (z.B. $CATALINA_HOME/ conf/moa-id). <br /> +In $MOA_ID_INST_PROXY/conf/moa-id befindet sich eine funktionsfähige Konfiguration, die als Ausgangspunkt für die Konfiguration von MOA-ID-PROXY dienen kann. </li> +<li>Die endorsed Libraries für Tomcat müssen aus dem Verzeichnis $MOA_ID_INST_PROXY/endorsed in das Tomcat-Verzeichnis $CATALINA_HOME/common/endorsed kopiert werden. Folgende Libraries sind für das Deployment im endorsed Verzeichnis vorgesehen: +<ul> +<li id="klein">Xerces-J-2.0.2 (bestehend aus xercesImpl.jar und xmlParserAPIs.jar)</li> +</ul> +Eventuell vorhandene Dateien mit dem gleichen Namen müssen ersetzt werden. +</li> +<li>Folgende Java System Properties sind zu setzen: <br /> +<ul id="klein"> +<li id="klein">moa.id.configuration=Name der MOA ID Konfigurationsdatei. Eine beispielhafte MOA ID Konfiguration ist in $MOA_ID_INST_AUTH/conf/moa-id/ SampleMOAIDConfiguration.xml enthalten.</li> +<li id="klein">log4j.configuration=URL der Log4j Konfigurationsdatei. Eine beispielhafte Log4j-Konfiguration ist in $MOA_ID_INST_AUTH/conf/moa-id/log4j.properties enthalten. </li> +<li id="klein">javax.net.ssl.trustStore=Name des Truststores für vertrauenswürdige SSL Client-Zertifikate (optional; nur, wenn SSL Client-Authentisierung durchgeführt werden soll). </li> +</ul> +Diese Java System-Properties werden Tomcat über die Umgebungsvariable CATALINA_OPTS mitgeteilt +(siehe Beispiele für <a href="examples/moa-id-env-windows.txt">Windows</a> und für <a href="examples/moa-id-env-linux.txt">Linux</a>). +</ul> +</div> +</td></tr></table> + +<div id="Tomcat_Start" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<td width="170" valign="top" id="klein"> +<p id="subtitel"> </p> +<div id="slogan"> +<br /><br /> +</div> +</td> +<td valign="top"> +<p id="subtitel">Starten und Stoppen von Tomcat </p> +<div id="block"> +Nach dem Deployment und der Konfiguration kann Tomcat aus seinem Wurzelverzeichnis mit <br /> +<pre> + bin\catalina start (unter Windows) oder + bin/catalina.sh start (unter Unix/Linux) +</pre> +gestartet werden. Das Stoppen von Tomcat erfolgt analog mit <br /> +<pre> + bin\catalina stop (unter Windows) oder + bin/catalina.sh stop (unter Unix/Linux) +</pre> +Ein erfolgreicher Startvorgang von MOA-ID-AUTH ist an folgender Log-Meldung ersichtlich: <br /> +<pre> + INFO | 08 13:33:38,497 | main | + MOA ID Authentisierung wurde + erfolgreich gestartet +</pre> +Analog bei MOA-ID-PROXY: <br/> +<pre> + INFO | 08 13:35:49,876 | main | + MOA ID Proxy wurde erfolgreich gestartet +</pre> + +Nach dem erfolgreichen Starten von Tomcat steht MOA-ID-AUTH unter der URL +<pre> +http(s)://host:port/moa-id-auth/StartAuthentication +</pre> +zur Verfügung. Der WebService ist unter +<pre> +http(s)://host:port/moa-id-auth/services/GetAuthenticationData +</pre> +erreichbar. Die Verfügbarkeit der Anwendung kann überprüft werden, indem die URLs mit einem Web-Browser aufgerufen werden.<br /> +<br /> +<div id="ConfigUpdate" /> +<b>Dynamische Konfigurations-Updates</b><br /> +Dynamische Konfigurations-Updates können für MOA-ID-AUTH durch den Aufruf der URL http://hostname:port/moa-id-auth/ConfigurationUpdate (z.B. durch Eingabe in einem Browser) durchgeführt werden. Analog wird die Konfiguration von MOA-ID-PROXY mittels http://hostname:port/ConfigurationUpdate aktualisiert.<br /><br /> +<b>Hinweis: </b>Konfigurationsänderungen für die Online-Applikationen betreffen grundsätzlich sowohl die Auth- als auch die Proxy-Komponente. +Wenn bspw. das <tt>publicURLPrefix</tt> der OA geändert wird, muss sowohl für die Auth- als auch für die Proxy-Komponente ein ConfigurationUpdate durchgeführt werden. <br /> <br /> +Konnte MOA-ID-AUTH bzw. MOA-ID-PROXY nicht ordnungsgemäß konfiguriert und gestartet werden, geht das aus der Log-Meldung hervor: <br /> +<pre> +FATAL | 03 13:19:06,924 | main | Fehler + beim Starten des Service MOA ID Authentisierung +</pre> +bzw. +<pre> +FATAL | 03 13:19:06,924 | main | Fehler + beim Starten des Service MOA ID Proxy +</pre> +In diesem Fall geben die WARN bzw. ERROR Log-Meldungen unmittelbar davor Aufschluss über den genaueren Grund. <br /> +</div> +</td></tr></table> + + +<div id="Logging" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<td width="170" valign="top" id="klein"> +<p id="subtitel"> </p> +<div id="slogan"> +<br /><br /> +</div> +</td> +<td valign="top"> +<div id="Logging" /> +<p id="subtitel">Logging</p> +<div id="block"> +Die MOA ID Webapplikation verwendet Jakarta Log4j für die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Log4j bietet zahlreiche Konfigurationsmöglichkeiten, die ausführlich im <a href="http://jakarta.apache.org/log4j/docs/manual.html" target="_new">Log4j Handbuch</a> beschrieben sind. Unter anderem gibt es die Möglichkeit, folgende Einstellungen vorzunehmen: <br /> +<ul> +<li id="klein">Das verwendete Log-Level (DEBUG, INFO, WARN, ERROR, FATAL).</li> +<li id="klein">Name und maximale Größe der Log-Datei(en).</li> +<li id="klein">Das Aussehen der Log-Einträge.</li> +</ul> +Es werden folgende Log-Hierarchien verwendet: +</div> +<ul> +<li>moa.id.auth für alle Log-Meldungen aus dem MOA-ID-AUTH Modul </li> +<li>moa.id.proxy für alle Log-Meldungen aus dem MOA-ID-PROXY Modul </li> +<li>moa.spss.server für alle Log-Meldungen aus dem MOA-SPSS Modul </li> +<li>iaik.server für alle Log-Meldungen aus den IAIK Kryptographie-Modulen </li> +</ul> +<div id="block"> +Als Ausgangspunkt für die Logging-Konfiguration liegt die Datei $MOA_ID_INST_AUTH/conf/moa-id/log4j.properties (bzw. $MOA_ID_INST_PROXY/conf/moa-id/log4j.properties) bei. +Wird diese Datei als Logging-Konfiguration verwendet, so werden alle Log-Meldungen sowohl in die Konsole, als auch in die Datei <tt>$CATALINA_HOME/logs/moa-id.log</tt> geschrieben. +<br /><br /> +<b>Format der Log-Meldungen</b><br /> +Anhand einer konkreten Log-Meldung wird das Format der MOA ID Log-Meldungen erläutert: +<pre> + INFO | 09 08:23:59,385 | Thread-8 | + Anmeldedaten zu MOASession -5468974113772848113 + angelegt, SAML Artifakt + AAF/BrdRfnMaQVGIbP/Gf9OwDUwwsXChb7nuT+VXQzOoHbV +</pre> + +Der Wert <tt>INFO</tt> besagt, dass die Log-Meldung im Log-Level <tt>INFO</tt> entstanden ist. Folgende Log-Levels existieren:<br /> +<ul> +<li id="klein"><tt>DEBUG:</tt> Log-Meldungen im Log-Level <tt>DEBUG</tt> geben Auskunft über die innere Arbeitsweise des Systems. Sie sind hauptsächlich für Entwickler interessant.</li> +<li id="klein"><tt>INFO:</tt> Diese Log-Meldungen geben informative Status-Informationen über den Ablauf der Webapplikation, wie z.B., dass eine neue Anfrage eingelangt ist.</li> +<li id="klein"><tt>WARN:</tt> Bei der Ausführung einer Operation sind leichte Fehler aufgetreten. Der Ablauf der Webapplikation ist nicht weiter beeinträchtigt.</li> +<li id="klein"><tt>ERROR:</tt> Die Ausführung einer Operation musste abgebrochen werden. Die Webapplikation ist davon nicht beeinträchtigt. </li> +<li id="klein"><tt>FATAL:</tt> Es ist ein Fehler aufgetreten, der den weiteren Betrieb der Webapplikation nicht mehr sinnvoll macht.</li> +</ul> +Der nächste Wert <tt>09 08:23:59,385</tt>, gibt den Zeitpunkt an, an dem die Log-Meldung generiert wurde (in diesem Fall den 9. Tag im aktuellen Monat, sowie die genaue Uhrzeit). <br /> +Der Rest der Zeile einer Log-Meldung ist der eigentliche Text, mit dem das System bestimmte Informationen anzeigt. Im Fehlerfall ist häufig ein Java Stack-Trace angefügt, der eine genauere Ursachen-Forschung ermöglicht. +<br /><br /> + + +<b>Wichtige Log-Meldungen</b><br /> +Neben den im Abschnitt "Starten und Stoppen von Tomcat" beschriebenen Log-Meldungen, die anzeigen, ob die Webapplikation +ordnungsgemäß gestartet wurde, geben nachfolgenden Log-Meldungen Aufschluss über die Abarbeitung von Anfragen. +Die Annahme einer Anfrage wird beispielsweise angezeigt durch: +</div> +<pre> + INFO | 09 08:37:17,663 | Thread-9 | + MOASession 6576509775379152205 angelegt + + INFO | 09 08:37:20,828 | Thread-9 | + Anmeldedaten zu MOASession 6576509775379152205 + angelegt, SAML Artifakt + AAF/BrdRfnMaQVGIbP/Gf9OwDUwwsXChb7nuT+VXQzOoHbV + +</pre> + +<div id="block"> +Die 1. Log-Meldung besagt, dass sich ein Benutzer an MOA-ID-AUTH angemeldet und eine eindeutige SessionID zugewiesen bekommen hat. <br /> +Die 2. Log-Meldung informiert darüber, dass die Anmeldedaten des Benutzers unter dem angezeigten SAML Artifakt abgeholt werden können.<br /> +</div> +Wenn nun versucht wird, eine Transaktion mit einer ungültigen SessionID fortzusetzen erhält man folgende Log-Meldung:<br /> +<pre> + ERROR | 09 09:34:27,105 | Thread-8 | + at.gv.egovernment.moa.id.AuthenticationException: + MOASessionID ist unbekannt + (MOASessionID=-8650403497547200032) +</pre> +<div id="block"> +In diesem Fall gibt der mitgeloggte Stacktrace Auskunft über die Art des Fehlers. Der Aufrufer der MOA ID Webapplikation bekommt einen Fehlercode sowie eine kurze Beschreibung des Fehlers als Antwort zurück. +<br /><br /> +Die Tatsächlich übertragenen Anfragen bzw. Antworten werden aus Effizienzgründen nur im Log-Level DEBUG angezeigt. +</div> +</td></tr></table> +<br /><br /> + + + +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"><br /></td> +<td valign="top"> +<hr /> +<div style="font-size:8pt; color:#909090">© 2003 <!-- Development Center, BRZ GmbH --></div> +</td></tr></table> +<br /> + + +</div> +</body> +</html>
\ No newline at end of file diff --git a/id.server/doc/moa_id/id-admin_2.htm b/id.server/doc/moa_id/id-admin_2.htm new file mode 100644 index 000000000..b4e22a36b --- /dev/null +++ b/id.server/doc/moa_id/id-admin_2.htm @@ -0,0 +1,623 @@ +<html> +<head> + <title>MOA ID-Administration</title> + <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> + <meta content="heinz.rosenkranz@brz.gv.at" name="author"/> + +<style type="text/css"> + body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#d8d8d8; background:#505050} + li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + tt { font-size:9pt; color:#505060; } + #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; } + #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; color:#505060; font-weight:bold; } + #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px } + #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify } + #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:3px } + #info { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; padding:3px; border:solid 1px #c0c0c0 } + #infolist { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; } + a:link {color:#000090} + a:visited {color:#000090} + a:hover {color:#c03030} + a {text-decoration: none} +</style> + +<script language="JavaScript"> +<!-- +function goWin(url) { + Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0"); + window.setTimeout("showWin()",300); +} +function showWin() { Fenster.focus(); } +// --> +</script> +</head> + +<body bgcolor="#FFFFFF" > +<div style="width:650px"> + +<!-- Projekt-Logo --> +<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050"> + Module für Online-Applikationen +</div> +<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; "> +<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->  +</div> +<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" > +Projekt <span style="font-size:48pt; ">moa</span>  +</div> +<br /> + +<!-- First Section with Navigation --> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"> +<div style="font-weight:bold; margin-top:12px">MOA-ID</div><br /> +<div id="klein"><a href="id-admin.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> übersicht</b></a></div> +<div id="klein"><a href="id-admin_1.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Basis-Installation</b></a></div> +<div id="klein"><img src="../moa_images/select.gif" border="0" width="13" height="14" /> + <b> Konfiguration </b></div> +<div id="klein"><a href="id-admin_3.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Optionale<br />    Komponenten</b></a></div> +<br /> +<div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" /> + <b> Zurück</b></a></div> +<br /><br /> +<div id="slogan"> +<a href="#moaid-konfiguration"><b>Konfiguration<br />von MOA-ID</b></a> +<br /><br /> +<a href="examples/conf/MOA-ID-Configuration.xml" target="_new">Konfigurationsdatei</a> +<br /><br /> +<b>Parameter-übersicht</b><br /> +<a href="#ConnectionParameter">ConnectionParameter</a><br /> +<a href="#AuthComponent">AuthComponent</a><br /> +<a href="#BKUSelection" > BKUSelection</a><br /> +<a href="#SecurityLayer"> SecurityLayer</a><br /> +<a href="#MOA-SP"> MOA-SP</a><br /> +<a href="#IdentityLinkSigners"> IdentityLinkSigners</a><br /> +<a href="#ProxyComponent">ProxyComponent</a><br /> +<a href="#OnlineApplication">OnlineApplication</a><br /> +<a href="#OnlineApplication/AuthComponent"> AuthComponent</a><br /> +<a href="#OnlineApplication/ProxyComponent"> ProxyComponent</a><br /> +<a href="#ChainingModes">ChainingModes</a><br /> +<a href="#TrustedCACertificates">TrustedCACertificates</a><br /> +<a href="#GenericConfiguration">GenericConfiguration</a><br /> +<br /> +<a href="#oa-config"><b>Konfiguration<br />der Online-Applikation</b></a><br /> +<br /> +<b>Parameter-übersicht</b><br /> +<a href="#LoginType">LoginType</a><br /> +<a href="#ParamAuth">ParamAuth</a><br /> +<a href="#Parameter"> ParamAuth/Parameter</a><br /> +<a href="#BasicAuth">BasicAuth</a><br /> +<a href="#HeaderAuth">HeaderAuth</a><br /> +<a href="#Header"> HeaderAuth/Header</a><br /> +<br /> +<a href="#sp-config"><b>Konfiguration<br />von MOA-SP</b></a><br /> +<br /> +<a href="#verifytransformsInfoProfile">VerifyTransformsInfoProfile</a><br /> +<a href="#trustProfile">TrustProfile</a><br /> +<a href="#certstore">Certstore</a><br /> +<br /> +<a href="#online-config"><b>änderung der Konfig. <br />während des Betriebs</b></a><br /> + +<br /> +</div> + +</td> + +<td valign="top"> +<div id="titel">Konfiguration von MOA ID v.1.1</div> + +<div id="moaid-konfiguration" /> +<p id="subtitel">Konfiguration von MOA ID v.1.1</p> +<p id="block"> +Die Konfiguration von MOA ID wird mittels einer XML-basierten Konfigurationsdatei, die dem Schema +<a href="../MOA-ID-Configuration-1.1.xsd" target="_new">MOA-ID-Configuration-1.1.xsd</a> entspricht, durchgeführt. +<p /> +Der Ort der Konfigurationsdatei wird im Abschnitt <a href="id-admin_1.htm#deployment">Deployment der Web-Applikation +in Tomcat</a> beschrieben. +<p /> +Die folgenden Abschnitte erläutern das Format der Konfigurationsdatei. +<a href="examples/conf/MOA-ID-Configuration.xml" target="_new">MOA-ID-Configuration.xml</a> zeigt ein Beispiel +für eine umfassende Konfigurationsdatei. +</p> +Enthält die Konfigurationsdatei relative Pfadangaben, werden diese relativ zum Verzeichnis, in dem Tomcat gestartet wurde, interpretiert. + +<div id="ConnectionParameter" /> +<p id="block"> +<b>ConnectionParameter</b> <br /> +Das Element <tt>ConnectionParameter</tt> enthält Parameter, die MOA-ID für den Aufbau von Verbindungen zu anderen Komponenten +benötigt. Dieses Element tritt mehrfach in der Konfigurationsdatei auf und wird daher vorab detailliert beschrieben. +<br /><br /> +Das Attribut <tt>URL</tt> enthält die URL der Komponente zu der die Verbindung aufgebaut werden soll. +Wird das Schema <tt>https</tt> verwendet, können die Kind-Elemente <tt>AcceptedServerCertificates</tt> +und <tt>ClientKeyStore</tt> angegeben werden. Wird das Schema <tt>http</tt> verwendet müssen keine Kind-Elemente +angegeben werden bzw. werden diese nicht ausgewertet. Andere Schemas werden nicht unterstützt. +<br /><br /> +Wird die Verbindung über TLS aufgebaut und erfordert der TLS-Server eine Client-Authentisierung +mittels Zertifikate, dann muss das Kind-Element <tt>ClientKeyStore</tt> spezifiziert werden, und es muss +eine URL enthalten, die einen PKCS#12-Keystore mittels URL-Schema 'file:' referenziert. +Diesem Keystore wird der private Schlüssel für die TLS-Client-Authentisierung entnommen. +Das Passwort zum Lesen des privaten Schlüssels wird im Attribut <tt>ClientKeyStore/@password</tt> konfiguriert.<br /> +Aufgrund der Tatsache, dass starke Verschlüsselung eine Voraussetzung für MOA-ID darstellt, werden clientseitig nur die folgenden Cipher Suites unterstützt:<br/> +<ul> +<li><tt>SSL_RSA_WITH_RC4_128_SHA</tt></li> +<li><tt>SSL_RSA_WITH_RC4_128_MD5</tt></li> +<li><tt>SSL_RSA_WITH_3DES_EDE_CBC_SHA</tt></li> +</ul> +Im Kind-Element <tt>AcceptedServerCertificates</tt> kann ein Verzeichnisname angegeben werden, in dem die +akzeptierten Zertifikate der TLS-Verbindung hinterlegt sind. Dieses Verzeichnis wird mittels URL-Schema 'file:' referenziert. In diesem Verzeichnis werden nur Serverzertifikate +abgelegt. Fehlt dieser Parameter wird lediglich überprüft ob ein Zertifikatspfad zu den im Element <tt><TrustedCACertificates></tt> angegebenen Zertifikaten erstellt werden kann. Falls dies nicht möglich ist, kommt es zu einem Fehlerfall. +</p> + + +<div id="AuthComponent" /> +<p id="block"> +<b>AuthComponent</b> <br /> +<tt>AuthComponent</tt> enthält Parameter, die nur die MOA-ID Authentisierungskomponente betreffen. +Das Element ist optional und muss nicht verwendet werden, wenn auf dem Server keine MOA-ID Authentisierungskomponente +installiert wird. +<br /><br /> +Das Element <tt>AuthComponent</tt> hat vier Kind-Element: +<ul> +<li><tt>BKUSelection</tt> (optional)</li> +<li><tt>SecurityLayer</tt></li> +<li><tt>MOA-SP</tt></li> +<li><tt>IdentityLinkSigners</tt></li> +</ul> +</p> + +<div id="BKUSelection" /> +<p id="block"> +<b>AuthComponent/BKUSelection</b> <br /> +Das optionale Element <tt>BKUSelection</tt> enthält Parameter zur Nutzung eines Auswahldienstes für eine +Bürgerkartenumgebung (BKU). Wird das Element nicht angegeben, dann wird die lokale Bürgerkartenumgebung +auf <tt>http://localhost:3495/http-security-layer-request</tt> verwendet. +<br /><br /> +Das Attribut <tt>BKUSelectionAlternative</tt> gibt an welche Alternative zur BKU-Auswahl verwendet werden soll. MOA-ID +unterstützt die Werte <tt>HTMLComplete</tt> (vollständige HTML-Auswahl) und <tt>HTMLSelect</tt> (HTML-Code für Auswahl) +[<a href="../bku-auswahl.20030408.pdf">"Auswahl von Bürgerkartenumge-bungen"</a>, Arno Hollosi]. +<br /><br /> +Das Kind-Element <tt>ConnectionParameter</tt> spezifiziert die Verbindung zum Auswahldienst (siehe +<a href="#ConnectionParameter"><tt>ConnectionParameter</tt></a>), jedoch kann das Kind-Element <tt>ClientKeyStore</tt> +nicht angegeben werden. +</p> + +<div id="SecurityLayer" /> +<p id="block"> +<b>AuthComponent/SecurityLayer</b> <br /> +Das Element <tt>SecurityLayer</tt> enthält Parameter zur Nutzung des Security-Layers. +<br /><br /> +Das Kind-Element <tt>TransformsInfo</tt> spezifiziert eine Transformation, die für die Erstellung der Signatur +des AUTH-Blocks als Parameter in den <tt>CreateXMLSignatureRequest</tt> des Security-Layers integriert werden muss. +Mehrere unterschiedliche Implementierungen des Security-Layer können durch die Angabe mehrerer <tt>TransformsInfo</tt>-Elemente unterstützt werden. +<br /><br /> +Das Attribut <tt>TransformsInfo/@filename</tt> verweist auf eine Datei, die das globale Element <tt>TransformsInfo</tt> vom Typ +<tt>TransformsInfo</tt> enthält. Das Encoding dieser Datei muss (anders als im Beispiel) UTF-8 sein. +<br /><br /> +<a href="examples/TransformsInfoAuthBlock.txt">Beispiel für eine TransformsInfo-Datei</a> +</p> + +<div id="MOA-SP" /> +<p id="block"> +<b>AuthComponent/MOA-SP</b> <br /> +Das Element <tt>MOA-SP</tt> enthält Parameter zur Nutzung von MOA-SP. MOA-SP wird für die überprüfung der Signatur +der Personenbindung und des AUTH-Blocks verwendet. +<br /><br /> +Wird das Kind-Element <tt>ConnectionParameter</tt> angegeben, dann wird MOA-SP über das Webservice angesprochen, andernfalls +wird MOA-SP über das API angesprochen. +<br /><br /> +Das Kind-Element <tt>VerifyIdentityLink/TrustProfileID</tt> spezifiziert eine TrustProfileID, die für den +<tt>VerifyXMLSignatureRequest</tt> zur überprüfung der Signatur der Personenbindung verwendet werden muss. +<br /><br /> +Die Kind-Elemente <tt>VerifyAuthBlock/TrustProfileID</tt> und <tt>VerifyAuthBlock/VerifyTransformsInfoProfileID</tt> +spezifizieren eine TrustProfileID und eine ID für ein Transformationsprofil, die für den +<tt>VerifyXMLSignatureRequest</tt> zur überprüfung der Signatur des Auth-Blocks verwendet werden müssen. +</p> + +<div id="IdentityLinkSigners" /> +<p id="block"> +<b>AuthComponent/IdentityLinkSigners</b> <br /> +Dieses Element gibt an von welchen Signatoren die Signatur des IdentityLink erstellt werden musste +damit der IdentityLink akzeptiert wird. Für jeden Signator muss der <tt>X509SubjectName</tt> nach RFC 2253 +spezifiziert werden. +<br /><br /> +<a href="examples/IdentityLinkSigners.txt">Beispiel</a> +<br /><br /> +</p> + +<div id="ProxyComponent" /> +<p id="block"> +<b>ProxyComponent</b> <br /> +<tt>ProxyComponent</tt> enthält Parameter, die nur die MOA-ID Proxykomponente betreffen. +Das Element ist optional und muss nicht verwendet werden, wenn auf dem Server keine MOA-ID Proxykomponente +installiert wird. +<br /><br /> +Das Element <tt>ProxyComponent</tt> hat nur das Kind-Element <tt>AuthComponent</tt>, das die Verbindung zur +Authentisierungs-komponente beschreibt. +<br /><br /> +Baut die Proxykomponente die Verbindung zur Authentisierungs-komponente +über ein Webservice auf, dann muss das Element <tt>ConnectionParameter</tt> spezifiziert werden. +<br /><br /> +Baut die Proxykomponente die Verbindung zur Authentisierungs-komponente +über das API auf, dann wird das Element <tt>ConnectionParameter</tt> nicht spezifiziert. +</p> + +<div id="OnlineApplication" /> +<p id="block"> +<b>OnlineApplication</b> <br /> +Für jede Online-Applikation, die über MOA-ID authentisiert wird, gibt es ein Element <tt>OnlineApplication</tt>. +Die Parameter betreffen teils die MOA-ID Authentisierungskomponente, teils die MOA-ID Proxykomponente, teils beide. +<br /><br /> +Das Attribut <tt>OnlineApplication/@publicURLPrefix</tt> entspricht dem URL-Präfix der nach außen sichtbaren +Domäne der Online-Applikation, welcher von der MOA-ID Proxykomponente durch den URL-Präfix der wirklichen +Domäne (Attribut <tt>OnlineApplication/ProxyComponent/ConnectionParameter/@URL</tt>) ersetzt wird. +Es dient als Schlüssel zum Auffinden der Konfigurationsparameter zur Online-Applikation. +<br /><br /> +Das Element <tt>OnlineApplication</tt> hat optional zwei Kind-Elemente: <tt>AuthComponent</tt> und <tt>ProxyComponent</tt>. +</p> + +<div id="OnlineApplication/AuthComponent" /> +<p id="block"> +<b>OnlineApplication/AuthComponent</b> <br /> +Das Element <tt>OnlineApplication/AuthComponent</tt> muss verwendet werden wenn auf dem Server die Authentisierungskomponente +installiert wird. Es enthält Parameter, die das Verhalten der Authentisierungskomponente bezüglich der Online-Applikation +konfiguriert. +<br /><br /> +Das Attribut <tt>provideZMRZahl</tt> bestimmt, ob die ZMR-Zahl in den Anmeldedaten aufscheint. +Analog steuern die Attribute <tt>provideAUTHBlock</tt> und <tt>provideIdentityLink</tt>, ob die Anmeldedaten +den Auth-Block bzw. die Personenbindung enthalten. Alle Attribute sind optional und haben den Default-Wert <tt>false</tt>. +<br /><br /> +</p> + +<div id="OnlineApplication/ProxyComponent" /> +<p id="block"> +<b>OnlineApplication/ProxyComponent</b> <br /> +Das Element <tt>OnlineApplication/ProxyComponent</tt> muss verwendet werden wenn auf dem Server die Proxykomponente +installiert wird. +<br /><br /> +Das optionale Attribut <tt>configFileURL</tt> verweist auf eine Konfigurationsdatei die dem Schema +<a href="../MOA-ID-Configuration-1.1.xsd" target="_new">MOA-ID-Configuration-1.1.xsd</a> entspricht mit Dokument-Element +<tt>Configuration</tt>.<br /> +Default-Wert: <tt>http://<realURLPrefix>/MOAConfig.xml</tt> +<br/>(<tt><realURLPrefix></tt> entspricht dem Wert von <tt>OnlineApplication/ProxyComponent/ConnectionParameter/@URL</tt>) +<br /><br /> +Das optionale Attribut <tt>sessionTimeOut</tt> legt das Timeout einer Benutzersession in der +Proxykomponente in Sekunden fest.<br /> +Default-Wert: 3600 +<br /><br /> +Im optionalen Attribut <tt>loginParameterResolverImpl</tt> kann der Klassenname eines +zu verwendenden <tt>LoginParameterResolver</tt> angegeben werden, welcher die Defaultimplementierung ersetzt. +<br /><br /> +Im optionalen Attribut <tt>connectionBuilderImpl</tt> kann der Klassenname eines zu verwendenden +ConnectionBuilder angegeben werden, welcher die Defaultimplementierung ersetzt. +<br /><br /> +Im Kind-Element <tt>ConnectionParameter</tt> ist konfiguriert, wie MOA-ID-PROXY zur Online-Applikation verbindet. +</p> + +<div id="ChainingModes" /> +<p id="block"> +<b>ChainingModes</b><br /> +Das Element <tt>ChainingModes</tt> definiert, ob bei der Zertifikatspfad-überprüfung das Kettenmodell +(<tt>"chaining"</tt>) oder das Modell nach PKIX RFC 3280 (<tt>"pkix"</tt>) verwendet werden soll. +<br /><br /> +Das Attribut <tt>systemDefaultMode</tt> spezifiziert das Modell, das im Standardfall verwendet werden soll. +<br/><br/> +Mit dem Kind-Element <tt>TrustAnchor</tt> kann für jeden Trust Anchor ein abweichendes Modell spezifiziert werden. +Ein Trust Anchor ist ein Zertifikat, das in <tt>TrustedCACertificates</tt> spezifiziert ist. +Ein Trust Anchor wird durch den Typ <tt><dsig:X509IssuerSerialType></tt> spezifiziert. +Das für diesen Trust Anchor gültige Modell wird durch das Attribut <tt>mode</tt> spezifiziert. +<br/><br/> +Gültige Werte für die Attribute <tt>systemDefaultMode</tt> und <tt>mode</tt> sind <tt>"chaining"</tt> und <tt>"pkix"</tt>. +<br/><br/> +<a href="examples/ChainingModes.txt">Beispiel</a> +</p> + +<div id="TrustedCACertificates" /> +<p id="block"> +<b>TrustedCACertificates</b><br /> +Das Element <tt>TrustedCACertificates</tt> enthält eine URL, die auf ein Verzeichnis verweist, das jene Zertifikate +enthält, die als vertrauenswürdig betrachtet werden. Diese URL muss mittels URL-Schema 'file:' referenziert werden. Im Zuge der Überprüfung der TLS-Serverzertifikate wird die +Zertifikatspfaderstellung an einem dieser Zertifikate beendet. +</p> + +<div id="GenericConfiguration" /> +<p id="block"> +<b>GenericConfiguration</b><br /> +Das Element <tt>GenericConfiguration</tt> ermöglicht das Setzen von Namen-Werte Paaren mittels der Attribute +<tt>name</tt> und <tt>value</tt>. Die folgende Liste spezifiziert +<ul> +<li>gültige Werte für das name-Attribut, </li> +<li>eine Beschreibung </li> +<li>gültige Werte für das value-Attribut und (falls vorhanden)</li> +<li>den Default-Wert für das value-Attribut. </li> +</ul> + +<table border="0" cellspacing="3" cellpadding="2"> +<tr id="DirectoryCertStoreParameters.RootDir"><th align="left">name: DirectoryCertStoreParameters.RootDir</th></tr> +<tr><td id="info"> +Gibt den Pfadnamen zu einem Verzeichnis an, das als Zertifikatsspeicher im Zuge der TLS-Server-Zertifikatsüberprüfung +verwendet wird.<br /> +<hr /> +<b>value: </b><br /> +Gültige Werte: Name eines gültigen Verzeichnisses<br /> +<b>Dieser Parameter muss angegeben werden.</b> +</td></tr> +</table> + +<table border="0" cellspacing="3" cellpadding="2"> +<tr id="AuthenticationSession.TimeOut"><th align="left">name: AuthenticationSession.TimeOut</th></tr> +<tr><td id="info"> +Gibt die Zeitspanne in Sekunden vom Beginn der Authentisierung bis zum Anlegen der Anmeldedaten an. +Wird die Angegebene Zeitspanne überschritten wird der Anmeldevorgang abgebrochen. +<br /> +<hr /> +<b>value: </b><br /> +Gültige Werte: positive Ganzzahlen <br /> +Default-Wert: 120 +</td></tr> +</table> + +<table border="0" cellspacing="3" cellpadding="2"> +<tr id="AuthenticationData.TimeOut"><th align="left">name: AuthenticationData.TimeOut</th></tr> +<tr><td id="info"> +Gibt die Zeitspanne in Sekunden an, für die die Anmeldedaten in der Authentisierungskomponente zum Abholen +durch die Proxykomponente oder eine nachfolgende Applikation bereitstehen. Nach Ablauf dieser Zeitspanne werden die Anmeldedaten gelöscht.<br /> +<hr /> +<b>value: </b><br /> +Gültige Werte: positive Ganzzahlen<br /> +Default-Wert: 600 +</td></tr> +</table> + +<table border="0" cellspacing="3" cellpadding="2"> +<tr id="TrustManager.RevocationChecking"><th align="left">name: TrustManager.RevocationChecking</th></tr> +<tr><td id="info"> +Für die TLS-Server-Authentisierung dürfen nur Server-Zertifikate verwendet werden, die eine CRLDP-Extension enthalten (andernfalls kann von MOA-ID keine CRL-überprüfung durchgeführt werden). +<br />Soll das RevocationChecking generell ausgeschaltet werden, ist dieses Attribut anzugeben und auf "false" zu setzen. +<br /> +<hr /> +<b>value: </b><br /> +Gültige Werte: true, false<br /> +Default-Wert: true +</td></tr> +</table> + + +</td></tr></table> + + +<br /><br /> +<div id="oa-config" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top" id="klein"> +<p id="subtitel"> </p> +<div id="slogan"> +<br /><br /> +</div> +</td> +<td valign="top"> +<p id="subtitel">Konfiguration der Online-Applikation</p> +<div id="block"> +Die Konfiguration der OA beschreibt die Art und Weise, wie die Proxykomponente die Anmeldung an der Online-Applikation +durchführt. +<br /><br /> +Der Name der Konfigurationsdatei wird in der Konfiguration von MOA-ID als Wert des Attributs +<tt>configFileURL</tt> des Elements <tt>MOA-IDConfiguration/OnlineApplication/ProxyComponent</tt> hinterlegt. +<br/>Ist dieses Attribut nicht gesetzt, dann wird die Datei von <tt>http://<realURLPrefix>/MOAConfig.xml</tt> geladen, +wobei <tt><realURLPrefix></tt> dem Konfigurationswert <tt>OnlineApplication/ProxyComponent/ConnectionParameter/@URL</tt> entspricht. +<br /><br /> +Die Konfigurationsdatei ist eine XML-Datei, die dem Schema +<a href="../MOA-ID-Configuration-1.1.xsd" target="_new">MOA-ID-Configuration-1.1.xsd</a> mit dem Wurzelelement +<tt>Configuration</tt> entspricht. +</div> + +<div id="LoginType" /> +<p id="block"> +<b>LoginType</b><br /> +Das Element <tt>LoginType</tt> gibt an, ob die Online-Applikation ein einmaliges Login erwartet (<tt>stateful</tt>), +oder ob die Login-Parameter bei jedem Request mitgegeben werden müssen (<tt>stateless</tt>). Im Fall einer stateful +Online-Applikation werden die in der HTTP-Session der Proxykomponente gespeicherten Anmeldedaten nur für den Aufruf +des Login-Scripts verwendet. Unmittelbar nach dem Aufruf werden sie gelöscht. +<br /> +Default-Wert: <tt>stateful</tt> +</p> +</div> + +<div id="ParamAuth" /> +<p id="block"> +<b>ParamAuth</b><br /> +Konfiguriert die übergabe der Authentisierungs-Parameter an die Online-Applikation mittels URL-Parametern. Das Element +kann ein oder mehrere Kind-Elemente <tt><Parameter></tt> beinhalten. +</p> +</div> + +<div id="Parameter" /> +<p id="block"> +<b>ParamAuth/Parameter</b><br /> +Das Element <tt><Paramter></tt> enthält die Attribute <tt>Name</tt> und <tt>Value</tt>. +<br /><br /> +Das Attribut <tt>Name</tt> beschreibt den Namen des Parameters und ist ein frei zu wählender String. +<br /><br /> +Das Attribut <tt>Value</tt> beschreibt den Inhalt des Parameters und kann einen der durch <tt>MOAAuthDataType</tt> beschriebenen +Werte annehmen. Gültige Werte von <tt>MOAAuthDataType</tt> sind: +<ul> +<li><tt>MOAGivenName</tt> - der Vorname des Benutzers, wie in der Personenbindung enthalten +<li><tt>MOAFamilyName</tt> - der Nachname des Benutzers, wie in der Personenbindung enthalten +<li><tt>MOADateOfBirth</tt> - das Geburtsdatum des Benutzers, wie in der Personenbindung enthalten +<li><tt>MOAVPK</tt> - die verfahrensspezifische Personenkennzeichnung des Benutzers, wie von der +Authentisierungskomponente berechnet +<li><tt>MOAPublicAuthority</tt> - wird durch <tt>true</tt> ersetzt, falls der Benutzer mit einem Zertifikat signierte, +welches eine <a href="../CIO X509ext-20030218.pdf">Behördenerweiterung</a> beinhaltet. Andernfalls wird <tt>false</tt> gesetzt +<li><tt>MOABKZ</tt> - das Behördenkennzeichen (nur sinnvoll, wenn <tt>MOAPublicAuthority</tt> den Wert <tt>true</tt> +ergibt) +<li><tt>MOAQualifiedCertificate</tt> - wird durch <tt>true</tt> ersetzt, falls das Zertifikat des Benutzers +qualifiziert ist, andernfalls wird <tt>false</tt> gesetzt +<li><tt>MOAZMRZahl</tt> - die ZMR-Zahl des Benutzers; diese ist nur dann verfügbar, wenn die Online-Applikation +die ZMR-Zahl bekommen darf (und daher in der Personenbindung enthalten ist) +<li><tt>MOAIPAddress</tt> - IP-Adresse des Client des Benutzers. +</ul> + +Anhand der <tt><Parameter><tt>-Elemente wird der Request für den Login-Vorgang (für stateful Online-Applikationen) +folgendermaßen zusammenge-stellt:<br /> +<blockquote> +<code>GET https://<login-url>?<br /> + <p1.name=p1.resolvedValue>&<br /> + <p2.name=p2.resolvedValue>...</code> +</blockquote> +<p id="block"> +Die <tt><login-url></tt> ergibt sich aus dem Parameter OA des <a href="id-anwendung_1.htm">Aufrufs von MOA-ID-AUTH</a>, +zusammen mit der Konfiguration von <tt>OnlineApplication/@publicURLPrefix</tt> und von <tt>OnlineApplication/ProxyComponent/ConnectionParameter/@URL</tt>. +<br/>Der Wert <tt>resolvedValue</tt> wird in MOA-ID-PROXY je nach Wert des Platzhalters eingesetzt. +</p> +</div> +<div id="BasicAuth" /> +<p id="block"> +<b>BasicAuth</b><br /> +Das Element <tt>BasicAuth</tt> konfiguriert die übergabe der Authentisierungs-Parameter an die Online-Appliktion +mittels HTTP Basic Authentication. Es enthält zwei Kind-Elemente. +<br /><br /> +Das Element <tt>UserID</tt> gibt die UserId des zu authentisierenden Benutzers an und kann einen der durch +<tt>MOAAuthDataType</tt> beschriebenen Werte annehmen. +<br /><br /> +Das Element <tt>Password</tt> gibt das Passwort des zu authentisierenden Benutzers an und kann einen der durch +<tt>MOAAuthDataType</tt> beschriebenen Werte annehmen. +</p> +</div> + +<div id="HeaderAuth" /> +<p id="block"> +<b>HeaderAuth</b><br /> +Das Element <tt>HeaderAuth</tt> konfiguriert die übergabe der Authentisierungs-Parameter an die Online-Applikation +in HTTP Request Headern. Das Element kann ein oder mehrere Kind-Elemente <tt><Header></tt> beinhalten. +</p> +</div> + +<div id="Header" /> +<p id="block"> +<b>HeaderAuth/Header</b><br /> +Das Element <tt><Header></tt> enthält die Attribute Name und Value. +<br /><br /> +Das Attribut <tt>Name</tt> beschreibt den Namen des Header und ist ein frei zu wählender String. +<br /><br /> +Das Attribut <tt>Value</tt> beschreibt den Inhalt des Header und kann einen der durch <tt>MOAAuthDataType</tt> +beschriebenen Werte annehmen. +<br /><br /> +Die Header werden folgendermaßen in den Request an die Online-Applikation eingefügt: +<blockquote><pre> +<h1.name>:<h1.resolvedValue> +<h2.name>:<h2.resolvedValue> +... +</pre></blockquote> +Der Wert <tt>resolvedValue</tt> wird in der Proxykomponente je nach Wert des Platzhalters eingesetzt. +Etwaige Header aus dem ursprünglichen Request an die Proxykomponente, die denselben Namen haben, müssen +überschrieben werden. +</p> +</div> +</td></tr></table> + + +<div id="sp-config" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top" id="klein"> +<p id="subtitel"> </p> +<div id="slogan"> +<br /><br /> +</div> +</td> +<td valign="top"> +<p id="subtitel">Konfiguration von MOA-SP</p> +<div id="block"> + +<p id="block"> +MOA-ID überprüft die Signaturen der Personenbindung und des AUTH-Blocks mit dem <tt>VerifyXMLSignatureRequest</tt> +von MOA-SP. Dazu muss MOA-SP wie unten beschreiben konfiguriert werden. +<br /><br /> +Ein Auszug einer beispielhaften MOA-SP Konfigurationsdatei, die diese Konfigurationsparameter enthält ist in +<tt>$MOA_ID_INST_AUTH/conf/moa-spss/ SampleMOASPSSConfiguration.xml</tt> enthalten. + +</p> + +<div id="verifytransformsInfoProfile" /> +<p id="block"> +<b>VerifyTransformsInfoProfile</b><br /> +Der Request zum überprüfen der Signatur des AUTH-Blocks verwendet ein vordefiniertes VerifyTransformsInfoProfile. +Die im Request verwendete Profil-ID wird in der MOA-ID Konfigurationsdatei +im Element <tt>/MOA-IDConfiguration/ AuthComponent/MOA-SP/VerifyAuthBlock/ VerifyTransformsInfoProfileID</tt> definiert. +Entsprechend muss am MOA-SP Server ein VerifyTransformsInfoProfile mit gleichlautender ID definiert werden. Die +Profiledefinition selbst ist in der Auslieferung von MOA-ID in <tt>$MOA_ID_INST_AUTH/conf/moa-spss/profiles/MOAIDTransformAuthBlock.xml</tt> +enthalten. Diese Profildefinition muss unverändert übernommen werden. +</p> +</div> + +<div id="trustProfile" /> +<p id="block"> +<b>TrustProfile</b><br /> +Die Requests zur überprüfung der Signatur verwenden vordefinierte TrustProfile. +Die im Request verwendete Profil-IDs werden in der MOA-ID Konfigurationsdatei +in den Elementen <tt>/MOA-IDConfiguration/AuthComponent/MOA-SP/VerifyIdentityLink/ TrustProfileID</tt> und +<tt>/MOA-IDConfiguration/AuthComponent/MOA-SP/VerifyAuthBlock/TrustProfileID</tt> definiert. Diese beiden Elemente +können unterschiedliche oder identische TrustProfileIDs enthalten. +Am MOA-SP Server müssen TrustProfile mit gleichlautender ID definiert werden. +Die Auslieferung von MOA-ID enthält das Verzeichnis <tt>$MOA_ID_INST_AUTH/conf/moa-spss/trustprofiles/MOAIDBuergerkarteRoot</tt>, +das als TrustProfile verwendet werden kann. Weitere Zertifikate können als vertrauenswürdig hinzugefügt werden. +</p> +</div> + +<div id="certstore" /> +<p id="block"> +<b>Certstore</b><br /> +Zum Aufbau eines Zertifikatspfades können benötigte Zertifikate aus einem Zertifikatsspeicher verwendet werden. +Die Auslieferung von MOA-ID enthält das Verzeichnis <tt>$MOA_ID_INST_AUTH/conf/moa-spss/certstore</tt>, das als initialer +Zertifikatsspeicher verwendet werden kann. +</p> +</div> + +</div> +</td></tr></table> + + +<div id="online-config" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top" id="klein"> +<p id="subtitel"> </p> +<div id="slogan"> +<br /><br /> +</div> +</td> +<td valign="top"> +<p id="subtitel">Änderung der Konfiguration während des Betriebs</p> +<div id="block"> +Der Inhalt dieser Konfiguration, bzw. jene Teile, auf die indirekt verwiesen wird, können während des laufenden +Betriebes des MOA-Servers geändert werden. Der Server selbst wird durch den Aufruf einer <a href="id-admin_1.htm#ConfigUpdate">URL</a> +(im Applikationskontext von MOA ID) dazu veranlasst, die geänderte Konfiguration neu einzulesen. +Im Falle einer fehlerhaften neuen Konfiguration wird die ursprüngliche Konfiguration beibehalten. +</div> + + +</td></tr></table> +<br /><br /> + + + +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"><br /></td> +<td valign="top"> +<hr /> +<div style="font-size:8pt; color:#909090">© 2003 <!-- Development Center, BRZ GmbH --></div> +</td></tr></table> +<br /> + + +</div> +</body> +</html>
\ No newline at end of file diff --git a/id.server/doc/moa_id/id-admin_3.htm b/id.server/doc/moa_id/id-admin_3.htm new file mode 100644 index 000000000..92d13aa6a --- /dev/null +++ b/id.server/doc/moa_id/id-admin_3.htm @@ -0,0 +1,187 @@ +<html> +<head> + <title>MOA ID-Administration</title> + <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> + <meta content="heinz.rosenkranz@brz.gv.at" name="author"/> + +<style type="text/css"> + body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#d8d8d8; background:#505050} + li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + tt { font-size:9pt; color:#505060; } + #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; } + #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; } + #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px } + #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify } + #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:3px } + #info { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; padding:3px; border:solid 1px #c0c0c0 } + #infolist { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; } + a:link {color:#000090} + a:visited {color:#000090} + a:hover {color:#c03030} + a {text-decoration: none} +</style> + +<script language="JavaScript"> +<!-- +function goWin(url) { + Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0"); + window.setTimeout("showWin()",300); +} +function showWin() { Fenster.focus(); } +// --> +</script> +</head> + +<body bgcolor="#FFFFFF" > +<div style="width:650px"> + +<!-- Projekt-Logo --> +<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050"> + Module für Online-Applikationen +</div> +<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; "> +<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->  +</div> +<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" > +Projekt <span style="font-size:48pt; ">moa</span>  +</div> +<br /> + +<!-- First Section with Navigation --> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"> +<div style="font-weight:bold; margin-top:12px">MOA-ID</div><br /> +<div id="klein"><a href="id-admin.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Übersicht</b></a></div> +<div id="klein"><a href="id-admin_1.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Basis-Installation</b></a></div> +<div id="klein"><a href="id-admin_2.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Konfiguration </b></a></div> +<div id="klein"><img src="../moa_images/select.gif" border="0" width="13" height="14" /> + <b> Optionale<br />    Komponenten</b></div> +<br /> +<div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" /> + <b> Zurück</b></a></div> +<br /> +<div id="slogan"> +<b>Optionale <br />Komponenten</b><br /> +<a href="#IIS"><b>IIS </b></a><br /> +<a href="#Apache"><b>Apache </b></a><br /> +<a href="#SQL"><b>PostgreSQL </b></a><br /> +</div> +</td> + +<div id="IIS" /> +<td valign="top"> +<p id="titel">Konfiguration der optionalen Komponenten</p> +<p id="subtitel">Konfiguration des Microsoft Internet Information Server (optional)</p> +<div id="block"> +Vor MOA-ID-AUTH oder MOA-ID-PROXY kann optional ein MS IIS vorgeschaltet sein. In diesem Fall übernimmt der MS IIS die HTTP bzw. HTTPS-Kommunikation mit dem Aufrufer des Webservices. Die Kommunikation zwischen MS IIS und dem in Tomcat deployten Webservice wird durch Jakarta mod_jk durchgeführt.<br /><br /> +<b>Konfiguration von Jakarta mod_jk im MS IIS</b><br /> +Für die Kommunikation des MS IIS mit dem im Tomcat deployten Webservice wird das ISAPI-Modul von Jakarta mod_jk im MS IIS installiert und konfiguriert. Eine detaillierte Installations- und Konfigurationsanleitung gibt das <a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/jk/iishowto.html" target="_new">mod_jk IIS HowTo</a>. Beispiele für <tt>workers.properties</tt> und <tt>uriworkermap.properties</tt> Dateien liegen im ausgelieferten moa-id-auth-x.y.zip bzw. moa-id-proxy-x.y.zip, Verzeichnis tomcat bei. +<br /><br /> +<b>Konfiguration von Tomcat</b><br /> +Damit Tomcat die Aufrufe, die von MS IIS mittels Jakarta mod_jk weiterleitet, entgegennehmen kann, muss in $CATALINA_HOME/conf/server.xml der AJP 1.3 Connector aktiviert werden. Im Gegenzug können die Connectoren für HTTP und HTTPS deaktiviert werden. Das geschieht am einfachsten durch ein- bzw. auskommentieren der entsprechenden <tt>Connector</tt> Konfigurations-Elemente in dieser Datei. +<br /><br /> +</div> +<div id="block"> +<b>Konfiguration von SSL</b><br /> +Die Dokumentation zum Einrichten von SSL auf dem MS IIS steht nach Installation des IIS unter http://localhost/iisHelp/ bzw. <a href="http://www.microsoft.com/windows2000/en/server/iis/default.asp" target="_new">online</a> zur Verfügung. +</div> +</td></tr></table> +<br /><br /> + + +<div id="Apache" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top" id="klein"> +<p id="subtitel"> </p> +<div id="slogan"> +<br /><br /> +</div> +</td> +<td valign="top"> +<p id="subtitel">Konfiguration des Apache Webservers (optional)</p> +<div id="block"> +Vor MOA-ID-AUTH oder MOA-ID-PROXY kann ein Apache Webserver vorgeschaltet sein. Das Prinzip funktioniert wie bei MS IIS, auch hier wird Jakarta mod_jk für die Kommunikation zwischen Webserver und Tomcat eingesetzt. +<br /><br /> +<b>Konfiguration von Jakarta mod_jk im Apache Webserver</b><br /> + Um MOA-ID-AUTH oder MOA-ID-PROXY hinter einem Apache Webserver zu betreiben, ist die Konfiguration des Apache-Moduls mod_jk erforderlich. Eine detaillierte Installations- und Konfigurationsanleitung gibt das <a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/jk/aphowto.html" target="_new">mod_jk Apache HowTo</a>. Ein Beispiel für eine <tt>workers.properties</tt> Datei liegt im Verzeichnis $MOA_SPSS_INST/conf/moa bei.<br /> +Um MOA-ID-AUTH oder MOA-ID-PROXY dem Apache Webserver bekannt zu machen, muss folgender Eintrag in die Apache Konfigurationsdatei gemacht werden: +<pre> + JkMount /moa-id-auth/* moaworker +</pre> +oder für die Proxy-Komponente +<pre> + JkMount /* moaworker +</pre> + +<br /><br /> +<b>Konfiguration von Tomcat</b><br /> +Die Konfiguration von Tomcat ist analog wie im Abschnitt über den MS IIS durchzuführen. +<br /><br /> + +<b>Konfiguration von SSL mit mod_SSL </b><br /> +Apache kann in Verbindung mit mod_SSL als SSL-Endpunkt für das MOA-ID-AUTH Webservice fungieren. In diesem Fall entfällt die SSL-Konfiguration in Tomcat, da Apache und Tomcat auch im Fall von SSL Daten via mod_jk austauschen. Eine detaillierte Installations- und Konfigurationsanleitung von mod_SSL gibt die <a href="http://www.modssl.org/docs/" target="_new">Online-Dokumentation</a>. +<br /><br /> +Bei der Verwendung von Client-Authentisierung muss darauf geachtet werden, dass mod_ssl die HTTP-Header mit den Informationen über das Client-Zertifikat exportiert. Dies wird durch Angabe der Option<br /> +<pre> + SSLOptions +ExportCertData +StdEnvVars +</pre> +in der Apache-Konfiguration erreicht.<br /> +Weiters muss Jakarta mod_jk angewiesen werden, die SSL Schlüssellänge zu exportieren. Dies geschieht mit der Direktive: +<pre> + JkOptions +ForwardKeySize + +ForwardURICompat + -ForwardDirectories +</pre> +</div> +</td></tr></table> +<br /><br /> + + +<div id="SQL" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top" id="klein"> +<p id="subtitel"> </p> +</td> +<td valign="top"> +<p id="subtitel">Konfiguration von PostgreSQL</p> +<div id="block"> +MOA-ID-AUTH bzw. MOA-ID-PROXY kann PostgreSQL zum Abspeichern von Log-Meldungen verwenden. Hierfür wird eine installierte und konfigurierte Datenbank vorausgesetzt. Eine detaillierte Übersicht über die Installation und Konfiguration von PostgreSQL gibt die <a href="http://techdocs.postgresql.org/">Online-Dokumentation</a>.<br /><br /> +<b>Logging</b><br /> +Für das Logging in eine PostgreSQL Datenbank mittels Jakarta Log4j muss zunächst eine Tabelle für die Log-Meldungen angelegt werden. Dies kann mit folgendem SQL-Statement erreicht werden: +<pre> + create table spss_log + (log_time timestamp, + log_level varchar(5), + log_msg varchar(256)); +</pre> +Um das Logging in die Datenbank Log4j bekannt zu machen, muss die Log4j-Konfiguration adaptiert werden. Die Datei $MOA_SPSS_INST/conf/moa/log4.properties enthält bereits eine beispielhafte Jakarta Log4j-Konfiguration für das Logging in eine PostgreSQL Datenbank, die standardmäßig ausgeschaltet ist. Hinweis: Bei Tests hat sich das Logging in eine Datenbank mit Jakarta Log4j als Performance-Engpaß herausgestellt. Es wird deshalb empfohlen, auf dieses Feature zu verzichten. +<br /><br /> +</div> + +</td></tr></table> +<br /><br /> + + + +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"><br /></td> +<td valign="top"> +<hr /> +<div style="font-size:8pt; color:#909090">© 2003 <!-- Development Center, BRZ GmbH --></div> +</td></tr></table> +<br /> + + +</div> +</body> +</html>
\ No newline at end of file diff --git a/id.server/doc/moa_id/id-anwendung.htm b/id.server/doc/moa_id/id-anwendung.htm new file mode 100644 index 000000000..6e33f40e8 --- /dev/null +++ b/id.server/doc/moa_id/id-anwendung.htm @@ -0,0 +1,104 @@ +<html> +<head> + <title>MOA ID-Anwendung</title> + <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> + <meta content="heinz.rosenkranz@brz.gv.at" name="author"/> + +<style type="text/css"> + body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#d8d8d8; background:#505050} + li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + tt { font-size:9pt; color:#505060; } + #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; } + #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; } + #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px } + #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify } + #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:3px } + #info { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; padding:3px; border:solid 1px #c0c0c0 } + #infolist { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; } + a:link {color:#000090} + a:visited {color:#000090} + a:hover {color:#c03030} + a {text-decoration: none} +</style> + +<script language="JavaScript"> +<!-- +function goWin(url) { + Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0"); + window.setTimeout("showWin()",300); +} +function showWin() { Fenster.focus(); } +// --> +</script> +</head> + + +<body bgcolor="#FFFFFF" > +<div style="width:650px"> + +<!-- Projekt-Logo --> +<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050"> + Module für Online-Applikationen +</div> +<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; "> +<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->  +</div> +<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" > +Projekt <span style="font-size:48pt; ">moa</span>  +</div> +<br /> + +<!-- First Section with Navigation --> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"> +<div style="font-weight:bold; margin-top:12px">MOA-ID</div><br /> +<div id="klein"><img src="../moa_images/select.gif" border="0" width="13" height="14" /> + <b> Übersicht</b></div> +<div id="klein"><a href="id-anwendung_1.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Aufruf MOA-ID-AUTH</b></a></div> +<div id="klein"><a href="id-anwendung_2.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Abfrage MOA-ID-AUTH </b></a></div> +<br /> +<div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" /> + <b> Zurück</b></a></div> +<br /> +</td> + +<td valign="top"> +<div id="titel">MOA ID-Anwendung</div> +<p id="block"> +MOA-ID führt für eine Online-Applikation (OA) die Benutzeridentifizierung und -authentisierung mit Hilfe der Bürgerkarte durch. +</p> +<p id="titel">Übersicht </p> +Um diese Funktionalität verfügbar zu machen, ist folgendermaßen vorzugehen:<br /> +</p> +<ul> +<li>Die OA muss als Webapplikation installiert werden.</li> +<li>MOA-ID-AUTH muss als Webapplikation <a href="id-admin_1.htm">installiert</a> und für die OA <a href="id-admin_2.htm">konfiguriert</a> werden.</li> +<li>MOA-ID-AUTH wird durch einen Verweis von einer Webseite aufgerufen. +Diese Webseite kann z.B. Teil eines Portals sein.</li> +<li>Nach erfolgter Authentisierung holt die OA die bereitgestellten Anmeldedaten zum Bürger von MOA-ID-AUTH ab. +Dies kann unter Mithilfe der Webapplikation MOA-ID-PROXY geschehen, die für diesen Zweck <a href="id-admin_1.htm">installiert</a> und für die OA <a href="id-admin_2.htm">konfiguriert</a> werden muss.</li> +</ul> +</td></tr></table> +<br /> + + + +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"><br /></td> +<td valign="top"> +<hr /> +<div style="font-size:8pt; color:#909090">© 2003 <!-- Development Center, BRZ GmbH --></div> +</td></tr></table> +<br /> + + +</div> +</body> +</html> diff --git a/id.server/doc/moa_id/id-anwendung_1.htm b/id.server/doc/moa_id/id-anwendung_1.htm new file mode 100644 index 000000000..81c4ecc9e --- /dev/null +++ b/id.server/doc/moa_id/id-anwendung_1.htm @@ -0,0 +1,182 @@ +<html> +<head> + <title>MOA ID-Anwendung</title> + <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> + <meta content="heinz.rosenkranz@brz.gv.at" name="author"/> + +<style type="text/css"> + body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#d8d8d8; background:#505050} + li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + tt { font-size:9pt; color:#505060; } + pre { font-size:9pt; color:#505060; } + #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; } + #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; } + #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px } + #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify } + #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:3px } + #info { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; padding:3px; border:solid 1px #c0c0c0 } + #infolist { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; } + a:link {color:#000090} + a:visited {color:#000090} + a:hover {color:#c03030} + a {text-decoration: none} +</style> + +<script language="JavaScript"> +<!-- +function goWin(url) { + Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0"); + window.setTimeout("showWin()",300); +} +function showWin() { Fenster.focus(); } +// --> +</script> +</head> + +<body bgcolor="#FFFFFF" > +<div style="width:650px"> + +<!-- Projekt-Logo --> +<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050"> + Module für Online-Applikationen +</div> +<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; "> +<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->  +</div> +<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" > +Projekt <span style="font-size:48pt; ">moa</span>  +</div> +<br /> + +<!-- First Section with Navigation --> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"> +<div style="font-weight:bold; margin-top:12px">MOA-ID</div><br /> +<div id="klein"><a href="id-anwendung.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Übersicht</b></a></div> +<div id="klein"><a href="id-anwendung_1.htm"><img src="../moa_images/select.gif" border="0" width="13" height="14" /> + <b> Aufruf MOA-ID-AUTH</b></a></div> +<div id="klein"><a href="id-anwendung_2.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Abfrage MOA-ID-AUTH </b></a></div> +<br /> +<div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" /> + <b> Zurück</b></a></div> +</br /><br /> +</td> + + +<td valign="top"> +<p id="titel">Aufruf von MOA-ID-AUTH </p> +<div id="block">MOA-ID-AUTH wird immer durch eine andere (verweisende) Webseite aufgerufen. Diese Webseite kann z.B. Teil eines Portals sein. +Der Aufruf erfolgt durch einen Verweis der Form: </div> +<pre><a href="https://<moa-id-server-und-pfad>/ +StartAuthentication?Target=<geschäftsbereich> +&OA=<oa-url>&Template=<template-url>"></pre> + +<table border="1"><tbody valign="baseline"> +<tr> +<td id="klein"><moa-id-server-und-pfad></td><td id="klein">Server und Pfad, wo MOA-ID-AUTH installiert ist</td> +</tr> +<tr> +<td id="klein">Target=<geschäftsbereich></td><td id="klein">Angabe, für welches Verfahren der Benutzer authentisiert werden soll (siehe TODO: Link auf Verzeichnis der Geschäftsbereich)</td> +</tr> +<tr> +<td id="klein">OA=<oa-url></td><td id="klein">Webseite, auf die der Browser nach erfolgter Authentisierung weitergeleitet werden soll</td> +</tr> +<tr> +<td id="klein">Template=<template-url></td><td id="klein">optional; HTML-Vorlage für der Anmeldeseite von MOA-ID-AUTH, über die der Bürger den Authentisierungsvorgang startet. Über diesen Parameter kann das Aussehen der Anmeldeseite an das Aussehen der Online-Applikation angepasst werden.</td> +</tr> +</tbody></table> +<br/><br/> + +<div id="block"> +<b>Template</b><br /><br /> +Ein <a href="examples/Template.html">Template</a> für die Anmeldeseite von MOA-ID-AUTH kann aus folgender Grundstruktur aufgebaut werden: </div> +<pre> +<form name="CustomizedForm" action="<BKU>" method="post"> + <input type="hidden" + name="XMLRequest" + value="<XMLRequest>"/> + <input type="hidden" + name="DataURL" + value="<DataURL>"/> + <input type="submit" value="Bürgerkarte lesen"/> +</form> +<form name="CustomizedInfoForm" + action="<BKU>" + method="post"> + <input type="hidden" + name="XMLRequest" + value="<CertInfoXMLRequest>"/> + <input type="hidden" + name="DataURL" + value="<CertInfoDataURL>"/> +Hier finden Sie weitere Informationen +zur Überprüfung der Zertifikate.<br/> + <input type="submit" value="Weitere Info"/> +</form> +</pre> + +<div id="block">Innerhalb dieser <tt><form></tt>-Elemente können Texte, Beschriftungen und Styles modifiziert werden, +und es können zusätzliche Elemente darin aufgenommen werden. +<br /><br /> +Die vorgegebene Grundstruktur ist aber in jedem Fall einzuhalten, und es müssen die speziellen +Tags <tt><BKU></tt> (kommt 2x vor), <tt><XMLRequest></tt>, <tt><DataURL></tt>, <tt><CertInfoXMLRequest></tt> und <tt><CertInfoDataURL></tt> +darin enthalten sein. +</div> +<br /><br /> + +<div id="block"> +<b>BKU-Auswahl</b><br /><br /> +MOA-ID-AUTH bietet die Möglichkeit, die Bürgerkartenumgebung (BKU) auszuwählen, über die in weiterer Folge die Bürgerkarte ausgelesen wird. Der Aufruf erfolgt dann durch einen Verweis der Form: </div> +<pre><a href="https://<moa-id-server-und-pfad>/ +SelectBKU?Target=<geschäftsbereich> +&OA=<oa-url>&Template=<template-url> +&BKUSelectionTemplate=<bku-template-url>"></pre> + +<table border="1"><tbody valign="baseline"> +<tr><td id="klein">BKUSelectionTemplate= <bku-template-url></td> +<td id="klein">optional; HTML-Vorlage für der BKU-Auswahlseite von MOA-ID-AUTH. +Über diesen Parameter kann das Aussehen der BKU-Auswahlseite an das Aussehen der Online-Applikation angepasst werden.</td> +</tr> +</tbody></table> +<br/><br/> + +<div id="block"> +<b>BKUSelectionTemplate</b><br /><br /> +Ein <a href="examples/BKUSelectionTemplate.html">Template für die BKU-Auswahl</a> von MOA-ID-AUTH kann aus folgender Grundstruktur aufgebaut werden: </div> +<pre> +<form name="CustomizedForm" method="post" action="<StartAuth>"> + <BKUSelect> + <input type="submit" value="Auswählen"/> +</form> +</pre> +<div id="block">Innerhalb dieser <tt><form></tt>-Elemente können Texte, Beschriftungen und Styles modifiziert werden, +und es können zusätzliche Elemente darin aufgenommen werden. +<br /><br /> +Auch dabei ist die vorgegebene Grundstruktur einzuhalten, die speziellen Tags <tt><StartAuth></tt> und <tt><BKUSelect></tt> sind verpflichtend. +</div> +<br /><br /> + + +</td></tr></table> + + + +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"><br /></td> +<td valign="top"> +<hr /> +<div style="font-size:8pt; color:#909090">© 2003 <!-- Development Center, BRZ GmbH --></div> +</td></tr></table> +<br /> + + +</div> +</body> +</html> diff --git a/id.server/doc/moa_id/id-anwendung_2.htm b/id.server/doc/moa_id/id-anwendung_2.htm new file mode 100644 index 000000000..1ffeb4c08 --- /dev/null +++ b/id.server/doc/moa_id/id-anwendung_2.htm @@ -0,0 +1,249 @@ +<html> +<head> + <title>MOA ID-Anwendung</title> + <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> + <meta content="heinz.rosenkranz@brz.gv.at" name="author"/> + +<style type="text/css"> + body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#d8d8d8; background:#505050} + li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + tt { font-size:9pt; color:#505060; } + pre { font-size:9pt; color:#505060; } + #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; } + #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; } + #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px } + #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify } + #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:3px } + #info { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; padding:3px; border:solid 1px #c0c0c0 } + #infolist { font-family:"Verdana", "Arial"; font-size:8pt; color:#505060; } + a:link {color:#000090} + a:visited {color:#000090} + a:hover {color:#c03030} + a {text-decoration: none} +</style> + +<script language="JavaScript"> +<!-- +function goWin(url) { + Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0"); + window.setTimeout("showWin()",300); +} +function showWin() { Fenster.focus(); } +// --> +</script> +</head> + +<body bgcolor="#FFFFFF" > +<div style="width:650px"> + +<!-- Projekt-Logo --> +<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050"> + Module für Online-Applikationen +</div> +<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; "> +<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->  +</div> +<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" > +Projekt <span style="font-size:48pt; ">moa</span>  +</div> +<br /> + +<!-- First Section with Navigation --> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"> +<div style="font-weight:bold; margin-top:12px">MOA-ID</div><br /> +<div id="klein"><a href="id-anwendung.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Übersicht</b></a></div> +<div id="klein"><a href="id-anwendung_1.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Aufruf MOA-ID-AUTH</b></a></div> +<div id="klein"><a href="id-anwendung_2.htm"><img src="../moa_images/select.gif" border="0" width="13" height="14" /> + <b> Abfrage MOA-ID-AUTH </b></a></div> +<br /> +<div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" /> + <b> Zurück</b></a></div> +</br /><br /> +<div id="slogan"> +<b>Abfragearten: </b> +</br /> +<a href="#webservice"><b>Web Service</b></a><br /> +<a href="#proxy"><b>MOA-ID-PROXY</b></a><br /> +</div> +</td> + + +<td valign="top"> +<p id="titel">Abfrage der Anmeldedaten von MOA-ID-AUTH</p> +<div id="block">Nach erfolgter Authentisierung stehen in MOA-ID-AUTH Anmeldedaten zum Abholen bereit, +und MOA-ID-AUTH veranlasst einen Redirect zur Online-Applikation (OA). +<br /><br /> +In diesem Redirect werden der Geschäftsbereich und ein SAML-Artifact als Parameter übergeben. +</div> +<pre><a href="https://<oa-url> +?Target=<geschäftsbereich> +&SAMLArtifact=<saml-artifact>"></pre> + +<table border="1"><tbody valign="baseline"> +<tr><td><oa-url></td><td>URL, der beim Aufruf von MOA-ID-AUTH als Parameter "OA" übergeben wurde</td></tr> +<tr><td>Target=<geschäftsbereich></td><td>Parameter, der beim Aufruf von MOA-ID-AUTH übergeben wurde</td></tr> +<tr><td>SAMLArtifact=<saml-artifact></td><td>SAML-Artifact, das von MOA-ID-AUTH zu den Anmeldedaten erstellt wurde. +Mithilfe dieses SAML-Artifacts kann die OA die Anmeldedaten von MOA-ID-AUTH abholen.</td></tr> +</tbody></table> +<br/><br/> +<div id="block">Grundsätzlich stehen einer OA mehrere Arten zum Abholen der Anmeldedaten von MOA-ID-AUTH zur Verfügung: </div> +<ol> +<li>Die Applikation ruft selbst das MOA-ID-AUTH Web Service auf. +<br/>Die Implementierung dieser Variante wird empfohlen, insbesondere für Online-Applikationen, die neu erstellt werden. +</li> +<li>Es wird die MOA-ID-PROXY Webapplikation eingesetzt, um die Anmeldedaten abzuholen und an die OA zu übergeben. +<br/>Aus Sicht von MOA-ID-PROXY ist bedeutsam, ob die OA die Anmeldedaten nach Abarbeitung des HTTP-Requests behält. +<ul> +<li>Stateful OA: MOA-ID-PROXY übergibt einmalig die Anmeldedaten an die OA, und die OA speichert die Anmeldedaten, typischerweise unter Einsatz von Cookies.</li> +<li>Stateless OA: MOA-ID-PROXY übergibt die Anmeldedaten bei jedem HTTP-Request vom Browser des Bürgers an die OA.</li> +</ul> +Diese Variante ist vorzuziehen, wenn +<ul> +<li>für die Plattform, auf der die OA aufbaut, Web Service-Schnittstellen nicht verfügbar sind</li> +<li>das nötige Web Service-Know How nicht zur Verfügung steht</li> +<li>die Implementierung von Variante 1 zu aufwändig wäre</li> +<li>eine Anpassung der OA aus bestimmten Gründen nicht möglich ist</li> +</ul> +</li> +</ol> +</td></tr></table> + + + +<div id="webservice" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<td width="170" valign="top" id="klein"> +<p id="subtitel"> </p> +<div id="slogan"> +<br /><br /> +</div> +</td> + +<td valign="top"> +<p id="subtitel">Aufruf des MOA-ID-AUTH Web Service</p> +<div id="block">Das MOA-ID-AUTH Web Service wird über einen <samlp:Request> aufgerufen. +Der <samlp:Request> enthält in einem <samlp:AssertionArtifact> das von MOA-ID-AUTH übergebene SAML-Artifact. +<br/><br/> +MOA-ID-AUTH liefert als Antwort einen <samlp:Response>. Die Anmeldedaten sind im <samlp:Response> in Form einer <saml:Assertion> enthalten. +<br/><br/> +<a href="../cs-sstc-schema-protocol-01.xsd">SAML 1.0 Protocol Schema</a> +<br/> +<a href="../cs-sstc-schema-assertion-01.xsd">SAML 1.0 Assertion Schema</a> +<br/> +Der detaillierte Aufbau der <saml:Assertion> zu den Anmeldedaten ist in der <a href="../MOA-ID-1.1-20030630.pdf">Spezifikation MOA-ID 1.1</a> beschrieben. +<br/><br/> +<h4>Beispiel LoginServletExample</h4> +Das Abholen der Anmeldedaten durch Aufruf des Web Service von MOA-ID-AUTH wird anhand eines beispielhaften Java Servlet gezeigt. +Das LoginServletExample wird in einer Stateful OA von MOA-ID-AUTH nach erfolgter Authentisierung über Redirect aufgerufen. +<br/><br/> +Das Beispiel demonstriert insgesamt die Integration von MOA-ID-AUTH in die OA: +</div> +<ul> +<li>Parameterübergabe von MOA-ID-AUTH an die OA</li> +<li>Aufruf des MOA-ID-AUTH Web Service mittels des SOAP Frameworks "Apache AXIS"</li> +<li>Parsen der Anmeldedaten mittels der XPath Engine "Jaxen"</li> +<li>Speichern der Anmeldedaten in der HTTPSession</li> +<li>Redirect auf die eigentliche Startseite der OA</li> +</ul> + + +<b>Voraussetzungen</b><br > +<div id="block">Die folgende Liste enthält die für das Beispiel erforderlichen Java-Bibliotheken. Die angeführten Versionsnummern bezeichnen jene Versionen dieser Java-Bibliotheken, mit denen das Beispiel getestet wurde. </div> +<br /> +<table border="1" width="100%" cellpadding="2" cellspacing="0"> +<tr> +<th>Java-Bibliothek</th><th>Version</th><th>Bemerkung</th> +</tr><tr> +<tr valign="top"> +<td>JDK</td><td>1.3 bzw. 1.4.1</td><td>Java Development Kit</td> +</tr><tr valign="top"> +<td>Xerces <br />XML Parser</td><td>2.0.2+</td> +<td id="klein">nicht nötig wenn JDK 1.4 oder höher verwendet wird <br /> + Download: <a href="http://xml.apache.org/xerces2-j/">xml.apache.org/xerces2-j</a> </td> +</tr><tr valign="top"> +<td>AXIS <br />SOAP Framework</td><td>1.0+</td> +<td id="klein">Download: <a href="http://xml.apache.org/axis/">xml.apache.org/axis</a> </td> +</tr><tr valign="top"> +<td>Jaxen XPath Engine</td><td>1.0+</td> +<td id="klein">Download: <a href="http://jaxen.sourceforge.net/">http://jaxen.sourceforge.net</a> </td> +</tr><tr valign="top"> +<td>JSSE</td><td>1.0.3+</td> +<td id="klein">wenn eine SSL Verbindung verwendet wird, nicht nötig ab JDK 1.4 <br />Download: <a href="http://java.sun.com/products/jsse/">java.sun.com/products/jsse</a> </td> +</tr><tr valign="top"> +<td>Servlet API</td><td>2.3+</td> +<td id="klein">Download: <a href="http://java.sun.com/products/servlet/">java.sun.com/products/servlet</a> </td> +</tr> +</table> +<br/> +<b>Code</b><br /> +<a href="examples/LoginServletExample.txt">LoginServletExample</a> + +</td></tr></table> + +<DIV bla="hhalloo"> + + + +<div id="proxy" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<td width="170" valign="top" id="klein"> +<p id="subtitel"> </p> +<div id="slogan"> +<br /><br /> +</div> +</td> +<td valign="top"> +<p id="subtitel">Einsatz von MOA-ID-PROXY zum Abfragen der Anmeldedaten von MOA-ID-AUTH</p> +<div id="block"> +Anstatt den Aufruf des MOA-ID-AUTH Web Service in der OA zu implementieren, kann die MOA-ID-PROXY Webapplikation eingesetzt werden, um dies für die OA zu erledigen. MOA-ID-PROXY muss für die OA konfiguriert werden, so wie in <a href="id-admin_2.htm#OnlineApplication/ProxyComponent">MOA-ID-Administration</a> beschrieben. +<br/><br/> +Bei der Konfiguration ist speziell zu beachten: +<br/><br/> +<b>Konfigurationsdatei zur OA</b><br /> +Der <a href="id-admin_2.htm#oa-config">LoginType</a> (stateful oder stateless) ist gemäß dem Applikationstyp zu setzen. +<br/><br/> +Die <a href="id-admin_2.htm#oa-config">Übergabe der Anmeldedaten</a> ist in Form und Inhalt zu konfigurieren. +</div> +<ul> +<li>BasicAuth: HTTP Basic Authentication (<a href="examples/conf/OAConfBasicAuth.xml">Beispiel</a>)</li> +<li>ParamAuth: Übergabe über Requestparameter (<a href="examples/conf/OAConfParamAuth.xml">Beispiel</a>)</li> +<li>HeaderAuth: Übergabe über Requestheader (<a href="examples/conf/OAConfHeaderAuth.xml">Beispiel</a>)</li> +</ul> + +<div id="block"> +<b>LoginParameterResolver</b><br /> +Das Übergabe der Anmeldedaten an die OA über Request Parameter oder Header geschieht in einer Standardimplementierung des Interface +<pre>at.gv.egovernment.moa.proxy.LoginParameterResolver</pre> +Falls die Erfordernisse der OA mittels <a href="id-admin_2.htm#oa-config">Konfiguration</a> nicht abgedeckt werden können, +so kann eine maßgeschneiderte Implementierung von <tt>LoginParameterResolver</tt> erstellt und zusammen mit MOA-ID-PROXY zum Einsatz gebracht werden +(siehe <a href="../api-doc/at/gv/egovernment/moa/id/proxy/LoginParameterResolver.html">API</a>). +<br/><br/> +<b>ConnectionBuilder</b> +Das Herstellen einer URL-Verbindung von MOA-ID-PROXY zur OA geschieht einer Standardimplementierung des Interface +<pre>at.gv.egovernment.moa.proxy.ConnectionBuilder </pre> +Falls nötig, kann eine maßgeschneiderte Implementierung von <tt>ConnectionBuilder</tt> erstellt und zusammen mit MOA-ID-PROXY zum Einsatz gebracht werden +(siehe <a href="../api-doc/at/gv/egovernment/moa/id/proxy/ConnectionBuilder.html">API</a>). +</div> +</td></tr></table> + + +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"><br /></td> +<td valign="top"> +<hr /> +<div style="font-size:8pt; color:#909090">© 2003 <!-- Development Center, BRZ GmbH --></div> +</td></tr></table> +<br /> + + +</div> +</body> +</html> diff --git a/id.server/doc/moa_id/links.htm b/id.server/doc/moa_id/links.htm new file mode 100644 index 000000000..c5a9b7113 --- /dev/null +++ b/id.server/doc/moa_id/links.htm @@ -0,0 +1,141 @@ +<html> +<head> + <title>MOA Grundlagen</title> + <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> + <meta content="heinz.rosenkranz@brz.gv.at" name="author"/> + +<style type="text/css"> + body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#c0c0c0; background:#505050} + li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; } + #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; } + #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px } + #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify } + #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:6px } + a:link {color:#000090} + a:visited {color:#000090} + a:hover {color:#c03030} + a {text-decoration: none} +</style> + +<script language="JavaScript"> +<!-- +function goWin(url) { + Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0"); + window.setTimeout("showWin()",300); +} +function showWin() { Fenster.focus(); } +// --> +</script> +</head> + +<body bgcolor="#FFFFFF" > +<div style="width:650px"> + +<!-- Projekt-Logo --> +<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050"> + Module für Online-Applikationen +</div> +<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; "> +<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->  +</div> +<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" > +Projekt <span style="font-size:48pt; ">moa</span>  +</div> +<br /> + +<!-- First Section with Navigation --> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"> +<div style="font-weight:bold; margin-top:12px">MOA Links</div><br /> +<div id="klein"><a href="#Extern"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Ext. Komponenten</b></a></div> +<div id="klein"><a href="#Administration"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Administration</b></a></div> +<div id="klein"><a href="#Anwendung"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Anwendung</b></a></div> +<div id="klein"><a href="#Spezifikationen"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Spezifikationen</b></a></div> +<br /> +<div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" /> + <b> Zurück</b></a></div> +<br /> +<!-- div id="slogan"> +MOA ist eine Entwicklung des Bundesrechenzentrums BRZ in Zusammenarbeit mit A-Trust und dem Institut für angewandte Informations- und Kom-munikationstechnik (IAIK) der Universität Graz +</div --> +</td> + +<td valign="top"> +<div id="titel">MOA Links </div> + +<div id="Administration" /> +<p id="subtitel">Externe Komponenten</p> + +<div id="klein">Apache <br /> +<a href="http://httpd.apache.org/docs-2.0/">http://httpd.apache.org/docs-2.0</a></div> + +<div id="klein">Internet Information Server <br /> +<a href="http://www.microsoft.com/windows2000/en/server/iis/default.asp">http://www.microsoft.com/windows2000/en/server/iis/default.asp</a></div> + +<div id="klein">Tomcat <br /> +<a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/">http://jakarta.apache.org/tomcat/tomcat-4.1-doc</a> </div> + +<div id="klein">Tomcat mod_SSL <br /> +<a href="http://httpd.apache.org/docs-2.0/ssl/">http://httpd.apache.org/docs-2.0/ssl</a></div> + +<div id="klein">Tomcat mod_jk <br /> +<a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/">http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2</a></div> + +<div id="klein">Logging Toolkit <br /> +<a href="http://jakarta.apache.org/log4j/docs/index.html">http://jakarta.apache.org/log4j/docs/ </a></div> + +<div id="klein">IAIK JCE <br /> +<a href="http://jce.iaik.tugraz.at/products/index.php">http://jce.iaik.tugraz.at/products/index.php </a></div> + +<div id="klein">PostgreSQL <br /> +<a href="http://techdocs.postgresql.org/installguides.php">http://techdocs.postgresql.org </a></div> + +<div id="Spezifikationen" /> +<p id="subtitel">Spezifikationen</p> +<p id="klein"> +<div id="klein">DOM <br /> +<a href="http://www.w3c.org/DOM/">http://www.w3c.org/DOM</a></div> + +<div id="klein">E-Government <br /> +<a href="http://reference.e-government.gv.at/">http://reference.e-government.gv.at</a></div> + +<div id="klein">Security Layer Version 1.1<br /> +<a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20020831">http://www.buergerkarte.at/konzept/securitylayer/spezifikation/2002083</a></div> + +<div id="klein">Personenbindung Version 1.1<br /> +<a href="http://www.buergerkarte.at/konzept/personenbindung/spezifikation/20020506">http://www.buergerkarte.at/konzept/personenbindung/spezifikation/20020506</a></div> + +<div id="klein">Security Assertion Markup Language <br /> +<a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security">http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security</a></div> + +<div id="klein">Auswahl von Bürgerkartenumgebungen Version 1.0.0<br /> +<a href="../bku-auswahl.20030408.pdf">bku-auswahl.20030408.pdf</a></div> +</p> + +</td></tr></table> + + + + +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"><br /></td> +<td valign="top"> +<hr /> +<div style="font-size:8pt; color:#909090">© 2003 <!-- Development Center, BRZ GmbH --></div> +</td></tr></table> +<br /> + + +</div> +</body> +</html>
\ No newline at end of file diff --git a/id.server/doc/moa_id/moa-id-ablauf.jpg b/id.server/doc/moa_id/moa-id-ablauf.jpg Binary files differnew file mode 100644 index 000000000..0585664f4 --- /dev/null +++ b/id.server/doc/moa_id/moa-id-ablauf.jpg diff --git a/id.server/doc/moa_id/moa.htm b/id.server/doc/moa_id/moa.htm new file mode 100644 index 000000000..4ffab01d5 --- /dev/null +++ b/id.server/doc/moa_id/moa.htm @@ -0,0 +1,247 @@ +<html> +<head> + <title>MOA Module fuer Online Applikationen</title> + <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> + <meta content="heinz.rosenkranz@brz.gv.at" name="author"/> + +<style type="text/css"> + body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; } + li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px } + tt { font-size:9pt; color:#505060; } + #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; } + #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; } + #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px } + #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify } + #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:3px } + a:link {color:#000090} + a:visited {color:#000090} + a:hover {color:#c03030} + a {text-decoration: none} +</style> + +<script language="JavaScript"> +<!-- +function goWin(url) { + Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0"); + window.setTimeout("showWin()",300); +} +function showWin() { Fenster.focus(); } +// --> +</script> +</head> + +<body bgcolor="#FFFFFF" > +<div style="width:650px"> + + + +<!-- Projekt-Logo --> +<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050"> + Module für Online-Applikationen +</div> +<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; "> +<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->  +</div> +<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" > +Projekt <span style="font-size:48pt; ">moa</span>  +</div> +<br /> + + + +<!-- First Section with Navigation --> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"> +<div style="font-weight:bold; margin-top:12px">MOA-ID</div><br /> +<div id="klein"><img src="../moa_images/select.gif" border="0" width="13" height="14" /> + <b> Allgemein</b></div> +<div id="klein"><a href="id-admin.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> ID Administration</b></a></div> +<div id="klein"><a href="id-anwendung.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> ID Anwendung</b></a></div> +<div id="klein"><a href="../api-doc/index.html" target="_javadoc"> + <img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> API-Dokumentation</b></a></div> +<div id="klein"><a href="faqs.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> FAQs</b></a></div> +<div id="klein"><a href="links.htm"><img src="../moa_images/idle.gif" border="0" width="13" height="14" /> + <b> Links</b></a></div> +<br /> +<div> <a href="javascript:history.back()"> + <img src="../moa_images/west.gif" border="0" width="13" height="14" />   + <b>Zurück </b></a></div> +<br /> +<div id="slogan"> +</div> +</td> + +<td valign="top"> +<img src="../moa_images/moa_thema.gif" align="right" /> +<div id="titel">Allgemein v.1.1</div> +<p id="block"> +Dieses Dokument enthält die Dokumentation für das Modul <br /> +<ul> +<li>MOA-ID (Identifikation)</li> +</ul></p> +</td></tr></table> + +<div id="id" /> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top" id="klein"> +<p id="subtitel"> </p> +<div id="slogan"> +</div> +</td> +<td valign="top"> +<div id="block"> +Das Modul Identifikation stellt Online-Applikationen Funktionalität zur Verfügung zu stellen, damit diese +eine Benutzer-Identifikation und -Authentisierung mit Hilfe der Bürgerkarte und deren Signaturfunktion +realisieren können. +<br /><br /> +Das Modul besteht aus zwei Komponenten: +<ul> +<li>Die Authentisierungskomponente (MOA-ID-AUTH) führt die eigentliche Authentisierung des Benutzers durch und übergibt der +Proxykomponente die Anmeldedaten.</li> +<li>Die Proxykomponente (MOA-ID-PROXY) übernimmt die Anmeldedaten von der Authentisierungskomponente, +führt die Anmeldung an der Online Applikation durch und schleust in der Folge Daten an die Online-Applikation +und Daten an den Benutzer durch.</li> +</ul> +Diese beiden Komponenten können auf unterschiedlichen Rechnern +oder auf dem gleichen Rechner eingesetzt werden. +<br /><br /> +Die Funktionalität und der Aufbau der Schnittstelle zu MOA-ID ist in der +<a href="../MOA-ID-1.1-20030630.pdf" target="_new">Spezifikation Version 1.1</a> detailliert beschrieben. +<br /><br /> +Für den Betrieb von MOA-ID ist der Einsatz von MOA-Signaturprüfung (MOA-SP) erforderlich. +</div> + +<br /><br /> +<div id="titel">Ablauf einer Anmeldung</div> +<br /> + +<img src="moa-id-ablauf.jpg" border="0" hspace="-200" width="500" /> + +<table border="0" cellspacing="3" cellpadding="2"> + +<tr> +<td valign="top" width="30">1</td> +<td id="block">Der Benutzer verbindet sich zu einem Web-Portal, über das die verfügbaren Online-Applikationen (OA) erreichbar +sind. Jeder Link zu einer OA verweist auf die Authentisierungs-komponente. +</td> +</tr> + +<tr> +<td valign="top">2</td> +<td id="block">Der Benutzer verbindet sich mit MOA-ID-AUTH, die die Authentisierung des +Benutzers durchführt:</td> +</tr> + +<tr> +<td valign="top">2.1</td> +<td id="block">MOA-ID-AUTH bietet dem Benutzer optional eine Auswahl von verfügbaren Bürgerkartenumgebungen (engl. Bezeichnung: Security-Layer) an.</td> +</tr> + +<tr> +<td valign="top">2.2</td> +<td id="block">MOA-ID-AUTH erzeugt eine HTML-Seite mit einem <tt><InfoboxReadRequest></tt> + zum Auslesen der Personenbindung. Diese HTML-Seite wird an den Browser geschickt.</td> +</tr> + +<tr> +<td valign="top">2.3</td> +<td id="block">Der Browser schickt den <tt><InfoboxReadRequest></tt> an den ausgewählten Security-Layer. Der Security-Layer liest die +Personenbindung von der Bürgerkarte und sendet diese an MOA-ID-AUTH, die die Signatur der Personenbindung durch +einen Aufruf von MOA-SP überprüft. +</td> +</tr> + +<tr> +<td valign="top">2.4</td> +<td id="block">MOA-ID-AUTH erstellt den AUTH-Block. Der AUTH-Block enthält +<ul> +<li>Vor- und Nachname aus der Personenbindung,</li> +<li>URL von MOA-ID-AUTH,</li> +<li>URL und Geschäftsbereich der Online-Applikation,</li> +<li>die aktuelle Zeit.</li> +</ul> +Anschließend wird +eine XML Antwortseite, die das Kommando zum Signieren (<tt><CreateXMLSignatureRequest></tt>) des generierten +AUTH-Blocks enthält, an den ausgewählten Security-Layer gesendet.</td> +</tr> + +<tr> +<td valign="top">2.5</td> +<td id="block">Der Request wird vom Security-Layer verarbeitet. Die signierten Daten werden an +MOA-ID-AUTH zurückgesendet.</td> +</tr> + +<tr> +<td valign="top">2.6</td> +<td id="block">MOA-ID-AUTH überprüft den signierten AUTH-Block und legt für den Benutzer die Anmeldedaten +an. Die Anmeldedaten enthalten +<ul> +<li>die verfahrensspezifische Personenkennzeichnung (VPK),</li> +<li>den signierten AUTH-Block (optional),</li> +<li>die Personenbindung (optional),</li> +<li>die <tt>PersonData</tt>-Struktur aus der Personenbindung (optional),</li> +<li>die Information, ob die Signatur des AUTH-Blocks mit einem qualifiziertem Zertifikat erfolgte,</li> +<li>Informationen zur Behörde, falls die Signatur mit einem Behördenzertifikat erzeugt wurde.</li> +</ul> +</td> +</tr> + +<tr> +<td valign="top">2.7</td> +<td id="block">Ist der obige Authentisierungsvorgang erfolgreich, dann wird eine Redirect-Seite +zum Browser gesendet.</td> +</tr> + +<tr> +<td valign="top">3</td> +<td id="block">Der Browser führt das Redirect zur Proxykomponente durch. Als Parameter wird das von MOA-ID-AUTH +erzeugte SAML-Artifact übergeben.</td> +</tr> + +<tr> +<td valign="top">4</td> +<td id="block">Die Proxykomponente verwendet dieses eindeutige SAML-Artifact, um die Anmeldedaten +von MOA-ID-AUTH zu erhal-ten. Danach werden die Anmeldedaten in MOA-ID-AUTH gelöscht.</td> +</tr> + +<tr> +<td valign="top">5</td> +<td id="block">MOA-ID-PROXY liest die Konfigurationsdatei der zugehörigen Online-Applikation, die beschreibt, wie die Anmeldedaten +an die nachfolgende Applikation übergeben werden müssen, und meldet den Benutzer bei der Applikation an.</td> +</tr> + +<tr> +<td valign="top">6</td> +<td id="block">Ist die betreffende OA als stateless konfiguriert, so werden in weiterer Folge die Antworten der OA +an den Benutzer weitergeleitet und die Anfragen des Benutzers an die OA weitergeleitet.</td> +</tr> + + +</table> + + +</td></tr></table> +<br /><br /> + +<!-- Trailer --> +<table width="650" border="0" cellpadding="10" cellspacing="0"> +<tr> +<td width="170" valign="top"><br /></td> +<td valign="top"> +<hr /> +<div style="font-size:8pt; color:#909090">© 2003 <!-- Development Center, BRZ GmbH --></div> +</td></tr></table> +<br /> + + +</div> +</body> +</html>
\ No newline at end of file |