A B C D E G H I K L M N O P R S T U V W X

A

activatePolicy(String) - Static method in class org.eu.mayrhofer.channel.IPSecConnection_Windows
 
addAuthenticationProgressHandler(AuthenticationProgressHandler) - Method in class org.eu.mayrhofer.authentication.AuthenticationEventSender
Register a listener for receiving events.
addMessage(byte[], int, int, int) - Method in class org.eu.mayrhofer.authentication.InterlockProtocol
Adds a message to the cipher text assemply.
addMessage(byte[], int) - Method in class org.eu.mayrhofer.authentication.InterlockProtocol
Adds a message to the cipher text assemply.
addPart(byte[], byte[], int, int) - Static method in class org.eu.mayrhofer.authentication.InterlockProtocol
Small helper function to add a part to a byte array.
addPolicyCA(long, byte[], byte[], byte[], byte[], byte[], byte[], int, int, boolean, String) - Static method in class org.eu.mayrhofer.channel.IPSecConnection_Windows
 
addPolicyPsk(long, byte[], byte[], byte[], byte[], byte[], byte[], int, int, boolean, String) - Static method in class org.eu.mayrhofer.channel.IPSecConnection_Windows
 
addRemotePublicKey(byte[]) - Method in class org.eu.mayrhofer.authentication.SimpleKeyAgreement
Add the remote public key.
adminEnd - Variable in class org.eu.mayrhofer.apps.IPSecConnectorCommon
True if this is the admin end, false if it is the client end.
asyncCreateCertificate(String, int, String) - Method in class org.eu.mayrhofer.apps.IPSecConnectorAdmin
This method encapsulates the creation of a X.509 certificate in a background thread.
auth - Variable in class org.eu.mayrhofer.apps.IPSecConnectorCommon
Holds our one and only instance of the relate authentication protocol.
AuthenticationEventSender - Class in org.eu.mayrhofer.authentication
This is an abstract class to encapsulate the notion of an authentication event sender.
AuthenticationEventSender() - Constructor for class org.eu.mayrhofer.authentication.AuthenticationEventSender
 
AuthenticationFailure(Object, Object, Exception, String) - Method in class org.eu.mayrhofer.apps.IPSecConnectorCommon
This is an implementation of the AuthenticationProgressHandler interface.
AuthenticationFailure(Object, Object, Exception, String) - Method in interface org.eu.mayrhofer.authentication.AuthenticationProgressHandler
Upon authentication failure, an exception might have been thrown and a message might have been created.
authenticationProgress - Variable in class org.eu.mayrhofer.apps.IPSecConnectorCommon
This variable must be initalized in the constructor of the derived class, or at least before the AuthenticationProgress handler has a chance of being called.
AuthenticationProgress(Object, Object, int, int, String) - Method in class org.eu.mayrhofer.apps.IPSecConnectorCommon
This is an implementation of the AuthenticationProgressHandler interface.
AuthenticationProgress(Object, Object, int, int, String) - Method in interface org.eu.mayrhofer.authentication.AuthenticationProgressHandler
This event is raised during the authentication protocol to indicate progress.
AuthenticationProgressHandler - Interface in org.eu.mayrhofer.authentication
This interface defines a listener for authentication events.
AuthenticationStages - Static variable in class org.eu.mayrhofer.authentication.HostProtocolHandler
At the moment, the whole protocol consists of 4 stages.
AuthenticationStages - Static variable in class org.eu.mayrhofer.authentication.relate.DongleProtocolHandler
The number of authentication steps, not including the rounds of the dongles.
AuthenticationSuccess(Object, Object, Object) - Method in class org.eu.mayrhofer.apps.IPSecConnectorAdmin
 
AuthenticationSuccess(Object, Object, Object) - Method in class org.eu.mayrhofer.apps.IPSecConnectorClient
 
AuthenticationSuccess(Object, Object, Object) - Method in interface org.eu.mayrhofer.authentication.AuthenticationProgressHandler
Upon successful authentication, the established shared key can be used with the remote host.

B

BC_JCE_InteroperabilityTest - Class in org.eu.mayrhofer.authentication.test
 
BC_JCE_InteroperabilityTest() - Constructor for class org.eu.mayrhofer.authentication.test.BC_JCE_InteroperabilityTest
 
BinaryBlockStreamer - Class in org.eu.mayrhofer.apps
This is a helper class for streaming binary blocks over some (byte-safe) connection.
BinaryBlockStreamer(InputStream, OutputStream) - Constructor for class org.eu.mayrhofer.apps.BinaryBlockStreamer
Initializes the object with input and/or output.
BinaryBlockStreamerTest - Class in org.eu.mayrhofer.apps.test
 
BinaryBlockStreamerTest(String) - Constructor for class org.eu.mayrhofer.apps.test.BinaryBlockStreamerTest
 
BLOCKNAME_CERTIFICATE - Static variable in class org.eu.mayrhofer.apps.IPSecConnectorCommon
This name is used as a prefix for transmitting the certificate from the admin end to the client end.
BLOCKNAME_CONFIG - Static variable in class org.eu.mayrhofer.apps.IPSecConnectorCommon
This name is used as a prefix for transmitting the XML-encoded configuration block from the admin end to the client end.

C

CertificateExportFriendlyName - Static variable in class org.eu.mayrhofer.channel.X509CertificateGenerator
This string is used as the friendly name for the certificate in the PKCS12 exported file.
CertificateSignatureAlgorithm - Static variable in class org.eu.mayrhofer.channel.X509CertificateGenerator
This method is used for signing the certificate.
Command - Class in org.eu.mayrhofer.channel
The class Command holds a name and a macAdress of an ethernet interface
Command() - Constructor for class org.eu.mayrhofer.channel.Command
 
compareBits(byte[], byte[], int) - Static method in class org.eu.mayrhofer.authentication.relate.DongleProtocolHandler
Compares a number of bits starting at LSB.
compareByteArray(byte[], byte[]) - Static method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
compareByteArray(byte[], short[]) - Static method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
ConfigurationErrorException - Exception in org.eu.mayrhofer.authentication.exceptions
This exception is thrown whenever a configuration error has been detected, e.g .when specified hardware or software components are not available or configuration values are contradictory.
ConfigurationErrorException(String) - Constructor for exception org.eu.mayrhofer.authentication.exceptions.ConfigurationErrorException
 
ConfigurationErrorException(String, Throwable) - Constructor for exception org.eu.mayrhofer.authentication.exceptions.ConfigurationErrorException
 
convertCidrMaskToAddressStyle(int) - Method in class org.eu.mayrhofer.channel.IPSecConnection_Windows
This is a small helper method to convert from the CIDR style network mask to the address style network mask formet, e.g.
convertPKCS12toPEM(String, String, String, String, String, String) - Static method in class org.eu.mayrhofer.channel.X509CertificateGenerator
Converts from a PKCS12 encoded file to PEM encoded files readable by openssl (and subsequently e.g.
createCertificate(String, int, String, String) - Method in class org.eu.mayrhofer.channel.X509CertificateGenerator
This method should create something similar to: openssl req -new -outform PEM -newkey rsa:1024 -nodes -keyout /tmp/test.key -keyform PEM -out /tmp/test.pem -days 30 -config /etc/ssl/openssl.cnf openssl ca -policy policy_anything -out /tmp/test.crt -config /etc/ssl/openssl.cnf -infiles /tmp/test.pem openssl pkcs12 -export -in /tmp/test.crt -inkey /tmp/test.key -certfile demoCA/cacert.pem -out test.p12
createCertificate(String, int, String, String, String) - Method in class org.eu.mayrhofer.channel.X509CertificateGenerator
This method implements the public one, but offers an additional parameter which is only used when creating a new CA, namely the export alias to use.
createNewCa(String, int, String, String, String, boolean) - Static method in class org.eu.mayrhofer.channel.X509CertificateGenerator
Creates a new self-signed CA (certificate authority) for subsequently signing certificates.
createPolicyHandle(int, int, int, int) - Static method in class org.eu.mayrhofer.channel.IPSecConnection_Windows
 

D

deactivatePolicy(String) - Static method in class org.eu.mayrhofer.channel.IPSecConnection_Windows
 
decrypt(byte[]) - Method in class org.eu.mayrhofer.authentication.InterlockProtocol
Decrypt the cipher text message with the shared key set in the constructor.
DHOverTCPWithVerification - Class in org.eu.mayrhofer.authentication
This is an abstract class that implements the basics of all protocols based on Diffie-Hellman key exchange over TCP with subsequent verification of the key material to check that it is equal on both sides.
DHOverTCPWithVerification(int, boolean, String, boolean) - Constructor for class org.eu.mayrhofer.authentication.DHOverTCPWithVerification
Construct the object by initializing basic variables.
DHOverTCPWithVerificationTest - Class in org.eu.mayrhofer.authentication.test
There are no _BCAPI and _Mixed variants because DHOverTCPWithVerification only uses the crypto embedded into SimpleKeyAgreement and InterlockProtocol, and those are tested with _BCAPI and _Mixed.
DHOverTCPWithVerificationTest() - Constructor for class org.eu.mayrhofer.authentication.test.DHOverTCPWithVerificationTest
 
DISABLED_testCompleteRun_Success() - Method in class org.eu.mayrhofer.authentication.test.DHOverTCPWithVerificationTest
 
display - Variable in class org.eu.mayrhofer.apps.IPSecConnectorCommon
This variable must be initalized in the constructor of the derived class, or at least before the AuthenticationProgress handler has a chance of being called.
DongleAuthenticationProtocolException - Exception in org.eu.mayrhofer.authentication.exceptions
This exception is thrown when the authentication protocol with the Relate dongle fails.
DongleAuthenticationProtocolException(String) - Constructor for exception org.eu.mayrhofer.authentication.exceptions.DongleAuthenticationProtocolException
 
DongleAuthenticationProtocolException(String, Throwable) - Constructor for exception org.eu.mayrhofer.authentication.exceptions.DongleAuthenticationProtocolException
 
DongleProtocolHandler - Class in org.eu.mayrhofer.authentication.relate
This class implements the host part of the authentication protocol between two Relate dongles.
DongleProtocolHandler(String, int, boolean) - Constructor for class org.eu.mayrhofer.authentication.relate.DongleProtocolHandler
Initializes the dongle protocol handler by setting the serialPort and remoteRelateId members.
DongleProtocolHandlerTest - Class in org.eu.mayrhofer.authentication.test
 
DongleProtocolHandlerTest() - Constructor for class org.eu.mayrhofer.authentication.test.DongleProtocolHandlerTest
 
doubleSHA256(byte[], boolean) - Static method in class org.eu.mayrhofer.util.Hash
This is a small utility function for computing a secure hash from the shared key.

E

encrypt(byte[]) - Method in class org.eu.mayrhofer.authentication.InterlockProtocol
Encrypt the plain text message with the shared key set in the constructor.
eventsHandlers - Variable in class org.eu.mayrhofer.authentication.AuthenticationEventSender
The list of listeners that are notified of authentication events.
executeCommand(String[], String, String) - Static method in class org.eu.mayrhofer.channel.Command
executes a system Command and returns the output of the system command
ExitCodeException - Exception in org.eu.mayrhofer.channel
The exception ExitCodeException is thrown if a systam command returned an error code != 0
ExitCodeException() - Constructor for exception org.eu.mayrhofer.channel.ExitCodeException
paremeterless Constructor
ExitCodeException(String) - Constructor for exception org.eu.mayrhofer.channel.ExitCodeException
Constructor that initializes with a message
extractPart(byte[], byte[], int, int) - Static method in class org.eu.mayrhofer.authentication.InterlockProtocol
Small helper function to extract a part from a byte array.

G

getAllLocalIps() - Static method in class org.eu.mayrhofer.channel.Helper
 
getAuthenticationKey() - Method in class org.eu.mayrhofer.authentication.SimpleKeyAgreement
This method can only be called in state completed.
getCaDistinguishedName() - Method in class org.eu.mayrhofer.apps.IPSecConfigHandler
Returns the value to be used for the CA distinguished name.
getCaDistinguishedName() - Method in class org.eu.mayrhofer.channel.X509CertificateGenerator
Returns the distinguished name of the CA used to sign the newly generated certificates.
getCertificateDistinguishedName(InputStream, String, String, boolean) - Static method in class org.eu.mayrhofer.channel.X509CertificateGenerator
This is a helper function for fetching the distinguished name from a certificate.
getCertificateValidity(InputStream, String, String, boolean) - Static method in class org.eu.mayrhofer.channel.X509CertificateGenerator
This is a helper function for fetching the validity from a certificate.
getCipherTextBlocks() - Method in class org.eu.mayrhofer.authentication.InterlockProtocol
Returns the number of cipher text blocks necessary to encode the message.
getDongleInterlockTime() - Method in class org.eu.mayrhofer.authentication.relate.DongleProtocolHandler
Returns the time it took to complete the dongle interlock protocol, i.e.
getGateway() - Method in class org.eu.mayrhofer.apps.IPSecConfigHandler
Returns the value to be used for the remote gateway of the IPSec tunnel.
getImplementation() - Static method in class org.eu.mayrhofer.channel.IPSecConnection_Factory
Returns the appropriate instance of the ipsec secure channel implementation.
getPublicKey() - Method in class org.eu.mayrhofer.authentication.SimpleKeyAgreement
Get the public key for the key agreement protocol.
getRemoteNetmask() - Method in class org.eu.mayrhofer.apps.IPSecConfigHandler
Returns the value to be used for the netmask of the remote network behind the remote gateway of the IPSec tunnel.
getRemoteNetwork() - Method in class org.eu.mayrhofer.apps.IPSecConfigHandler
Returns the value to be used for the remote network behind the remote gateway of the IPSec tunnel.
getRemoteRelateId() - Method in class org.eu.mayrhofer.authentication.relate.DongleProtocolHandler
Returns the ID of the remote relate dongle with which this authentication protocol is run.
getSendCommandTime() - Method in class org.eu.mayrhofer.authentication.relate.DongleProtocolHandler
Returns the time that it took to send the start-of-authentication command to the dongle
getSessionKey() - Method in class org.eu.mayrhofer.authentication.SimpleKeyAgreement
This method can only be called in state completed.

H

hammingDistance(byte[], byte[], int) - Static method in class org.eu.mayrhofer.authentication.relate.DongleProtocolHandler
Computes the hamming distance between two bit strings, starting from the LSB.
handleMessage(byte[], int, int, Object) - Method in interface org.eu.mayrhofer.authentication.MessageListener
This message is called for each incoming message.
Hash - Class in org.eu.mayrhofer.util
This is a small helper class that implements SHAd-256, a double execution of SHA256 to counter extension attacks.
Hash() - Constructor for class org.eu.mayrhofer.util.Hash
 
Helper - Class in org.eu.mayrhofer.channel
This class implements various helper methods that don' really fit elsewhere.
Helper() - Constructor for class org.eu.mayrhofer.channel.Helper
 
HexCodecTest - Class in org.eu.mayrhofer.authentication.test
 
HexCodecTest(String) - Constructor for class org.eu.mayrhofer.authentication.test.HexCodecTest
 
HostProtocolHandler - Class in org.eu.mayrhofer.authentication
This class handles the key agreement protocol between two hosts on the TCP/IP level.
HostProtocolHandlerTest - Class in org.eu.mayrhofer.authentication.test
 
HostProtocolHandlerTest(String) - Constructor for class org.eu.mayrhofer.authentication.test.HostProtocolHandlerTest
 
HostProtocolHandlerTest_BCAPI - Class in org.eu.mayrhofer.authentication.test
 
HostProtocolHandlerTest_BCAPI(String) - Constructor for class org.eu.mayrhofer.authentication.test.HostProtocolHandlerTest_BCAPI
 
HostProtocolHandlerTest_Mixed1 - Class in org.eu.mayrhofer.authentication.test
 
HostProtocolHandlerTest_Mixed1(String) - Constructor for class org.eu.mayrhofer.authentication.test.HostProtocolHandlerTest_Mixed1
 
HostProtocolHandlerTest_Mixed2 - Class in org.eu.mayrhofer.authentication.test
 
HostProtocolHandlerTest_Mixed2(String) - Constructor for class org.eu.mayrhofer.authentication.test.HostProtocolHandlerTest_Mixed2
 
HostServerSocket - Class in org.eu.mayrhofer.authentication
This class represents a listener on a TCP port which responds to incoming authentication requests by delegating any incoming connection to the HostProtocolHandler class.
HostServerSocket(int, boolean, boolean) - Constructor for class org.eu.mayrhofer.authentication.HostServerSocket
Initialized the listener socket by binding it to the specified port.
HostServerSocketTest - Class in org.eu.mayrhofer.authentication.test
 
HostServerSocketTest(String) - Constructor for class org.eu.mayrhofer.authentication.test.HostServerSocketTest
 

I

importCertificate(String, String, boolean) - Method in interface org.eu.mayrhofer.channel.IPSecConnection
This native method allows to import an X.509 certificate into the appropriate location for use with IPSec authentication.
importCertificate(String, String, boolean) - Method in class org.eu.mayrhofer.channel.IPSecConnection_Windows
Implementation based on nativeImportCertificate.
init(boolean) - Method in class org.eu.mayrhofer.authentication.SimpleKeyAgreement
Initializes the random nonce of this side for generating the shared session key.
init(String, String, int) - Method in interface org.eu.mayrhofer.channel.IPSecConnection
Initializes an instance of an IPSec connection.
init(String, boolean) - Method in class org.eu.mayrhofer.channel.IPSecConnection_Windows
Initializes an instance of a secure channel.
init(String, String, int) - Method in class org.eu.mayrhofer.channel.IPSecConnection_Windows
Initializes an instance of an IPSec connection.
init(String, boolean) - Method in interface org.eu.mayrhofer.channel.SecureChannel
Initializes an instance of a secure channel.
Interface_Names_Blacklist - Static variable in class org.eu.mayrhofer.channel.Helper
 
interlockExchange(byte[], InputStream, OutputStream, byte[], int, boolean, int, boolean) - Static method in class org.eu.mayrhofer.authentication.InterlockProtocol
This method runs a complete interlock exchange with another host.
InterlockProtocol - Class in org.eu.mayrhofer.authentication
This class implements the interlock protocol as first defined in Ronald L.
InterlockProtocol(byte[], int, int, String, boolean) - Constructor for class org.eu.mayrhofer.authentication.InterlockProtocol
Initializes the interlock protocol by setting all parameters that must be immutable for a single instance of the protocol.
InterlockProtocolTest - Class in org.eu.mayrhofer.authentication.test
 
InterlockProtocolTest(String) - Constructor for class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
InterlockProtocolTest_BCAPI - Class in org.eu.mayrhofer.authentication.test
 
InterlockProtocolTest_BCAPI(String) - Constructor for class org.eu.mayrhofer.authentication.test.InterlockProtocolTest_BCAPI
 
InterlockProtocolTest_Mixed1 - Class in org.eu.mayrhofer.authentication.test
 
InterlockProtocolTest_Mixed1(String) - Constructor for class org.eu.mayrhofer.authentication.test.InterlockProtocolTest_Mixed1
 
InterlockProtocolTest_Mixed2 - Class in org.eu.mayrhofer.authentication.test
 
InterlockProtocolTest_Mixed2(String) - Constructor for class org.eu.mayrhofer.authentication.test.InterlockProtocolTest_Mixed2
 
InternalApplicationException - Exception in org.eu.mayrhofer.authentication.exceptions
This exception is thrown when internal conditions do not hold or unexpected errors occur.
InternalApplicationException(String) - Constructor for exception org.eu.mayrhofer.authentication.exceptions.InternalApplicationException
 
InternalApplicationException(String, Throwable) - Constructor for exception org.eu.mayrhofer.authentication.exceptions.InternalApplicationException
 
IPSecConfigHandler - Class in org.eu.mayrhofer.apps
This class implements reading and writing of the configuration of an IPSec tunnel in XML format.
IPSecConfigHandler() - Constructor for class org.eu.mayrhofer.apps.IPSecConfigHandler
This constructor actually does nothing.
IPSecConfigHandlerTest - Class in org.eu.mayrhofer.apps.test
 
IPSecConfigHandlerTest(String) - Constructor for class org.eu.mayrhofer.apps.test.IPSecConfigHandlerTest
 
IPSecConnection - Interface in org.eu.mayrhofer.channel
This interface represents a secure channel to another (usually remote) device, implemented via IPSec.
IPSecConnection_Factory - Class in org.eu.mayrhofer.channel
This is a factory class for generating instances of SecureChannel based on IPSec.
IPSecConnection_Factory() - Constructor for class org.eu.mayrhofer.channel.IPSecConnection_Factory
 
IPSecConnection_Windows - Class in org.eu.mayrhofer.channel
This is an implementation of a secure channel using the Windows 2000/XP implementation.
IPSecConnection_Windows() - Constructor for class org.eu.mayrhofer.channel.IPSecConnection_Windows
 
IPSecConnectorAdmin - Class in org.eu.mayrhofer.apps
 
IPSecConnectorAdmin(Configuration, String, String, String, String, Display) - Constructor for class org.eu.mayrhofer.apps.IPSecConnectorAdmin
 
IPSecConnectorClient - Class in org.eu.mayrhofer.apps
 
IPSecConnectorClient(Configuration) - Constructor for class org.eu.mayrhofer.apps.IPSecConnectorClient
 
IPSecConnectorCommon - Class in org.eu.mayrhofer.apps
This class implements the basic functionality of the IPSec connector applications.
IPSecConnectorCommon(boolean, Configuration) - Constructor for class org.eu.mayrhofer.apps.IPSecConnectorCommon
 
isEstablished() - Method in class org.eu.mayrhofer.channel.IPSecConnection_Windows
 
isEstablished() - Method in interface org.eu.mayrhofer.channel.SecureChannel
Returns true if the channel has been established.
isIdle() - Method in class org.eu.mayrhofer.authentication.DHOverTCPWithVerification
This method returns true if this object is idle or if it is currently running the authentication protocol with a remote host.
issueCertificate() - Method in class org.eu.mayrhofer.apps.IPSecConnectorAdmin
 
isTriggered() - Method in class org.eu.mayrhofer.authentication.SafetyBeltTimer
Returns true when the timer has triggered and the task should terminate.
isVerifying() - Method in class org.eu.mayrhofer.authentication.DHOverTCPWithVerification
This method returns true if key verification is currently running.

K

KeyAgreementProtocolException - Exception in org.eu.mayrhofer.authentication.exceptions
This exception is thrown when the key agreement protocol is not followed, e.g.
KeyAgreementProtocolException(String) - Constructor for exception org.eu.mayrhofer.authentication.exceptions.KeyAgreementProtocolException
 
KeyAgreementProtocolException(String, Throwable) - Constructor for exception org.eu.mayrhofer.authentication.exceptions.KeyAgreementProtocolException
 
KeyExportFriendlyName - Static variable in class org.eu.mayrhofer.channel.X509CertificateGenerator
This string is used as the friendly name for the private key in the PKCS12 exported file.

L

Log4jDummyPrinterApp - Class in org.eu.mayrhofer.apps
 
Log4jDummyPrinterApp() - Constructor for class org.eu.mayrhofer.apps.Log4jDummyPrinterApp
 

M

main(String[]) - Static method in class org.eu.mayrhofer.apps.IPSecConnectorAdmin
 
main(String[]) - Static method in class org.eu.mayrhofer.apps.IPSecConnectorClient
 
main(String[]) - Static method in class org.eu.mayrhofer.apps.Log4jDummyPrinterApp
 
main(String[]) - Static method in class org.eu.mayrhofer.authentication.relate.RelateAuthenticationProtocol
 
main(String[]) - Static method in class org.eu.mayrhofer.channel.IPSecConnection_Factory
 
main(String[]) - Static method in class org.eu.mayrhofer.channel.IPSecConnection_Windows
 
main(String[]) - Static method in class org.eu.mayrhofer.channel.X509CertificateGenerator
The test CA can e.g.
manager - Variable in class org.eu.mayrhofer.apps.IPSecConnectorCommon
Holds our one and only instance of the measurement manager.
MessageListener - Interface in org.eu.mayrhofer.authentication
This is a very simple interface to listen to incoming messages for connectionless protocols, e.g.

N

nativeImportCertificate(String, String, boolean) - Static method in class org.eu.mayrhofer.channel.IPSecConnection_Windows
This native method is used to implement the matching method from the IPSecConnection interface.

O

org.eu.mayrhofer.apps - package org.eu.mayrhofer.apps
 
org.eu.mayrhofer.apps.test - package org.eu.mayrhofer.apps.test
 
org.eu.mayrhofer.authentication - package org.eu.mayrhofer.authentication
 
org.eu.mayrhofer.authentication.exceptions - package org.eu.mayrhofer.authentication.exceptions
 
org.eu.mayrhofer.authentication.relate - package org.eu.mayrhofer.authentication.relate
 
org.eu.mayrhofer.authentication.test - package org.eu.mayrhofer.authentication.test
 
org.eu.mayrhofer.channel - package org.eu.mayrhofer.channel
 
org.eu.mayrhofer.channel.test - package org.eu.mayrhofer.channel.test
 
org.eu.mayrhofer.util - package org.eu.mayrhofer.util
 

P

parseConfig(Reader) - Method in class org.eu.mayrhofer.apps.IPSecConfigHandler
Parses an existing configuration and extracts the gateway and optionally the remote remote network (if it exists in the configuration).
PORT - Static variable in class org.eu.mayrhofer.authentication.test.HostProtocolHandlerTest
 
PORT - Static variable in class org.eu.mayrhofer.authentication.test.HostServerSocketTest
 
Protocol_AuthenticationAcknowledge - Static variable in class org.eu.mayrhofer.authentication.HostProtocolHandler
 
Protocol_AuthenticationRequest - Static variable in class org.eu.mayrhofer.authentication.HostProtocolHandler
 
Protocol_AuthenticationRequest_Param - Static variable in class org.eu.mayrhofer.authentication.HostProtocolHandler
This is an optional field in the authentication request line, where the client can pass parameters to the next authentication protocol.
Protocol_Hello - Static variable in class org.eu.mayrhofer.authentication.HostProtocolHandler
These are the messages of the ASCII authentication protocol.
protocolFailedHook(InetAddress, Object, Exception, String) - Method in class org.eu.mayrhofer.authentication.DHOverTCPWithVerification
This hook will be called when the whole authentication protocol has failed.
protocolFailedHook(InetAddress, Object, Exception, String) - Method in class org.eu.mayrhofer.authentication.relate.RelateAuthenticationProtocol
Called by the base class when the whole authentication protocol failed.
protocolProgressHook(InetAddress, Object, int, int, String) - Method in class org.eu.mayrhofer.authentication.DHOverTCPWithVerification
This hook will be called when the whole authentication protocol has made some progress.
protocolProgressHook(InetAddress, Object, int, int, String) - Method in class org.eu.mayrhofer.authentication.relate.RelateAuthenticationProtocol
Called by the base class when the whole authentication protocol shows progress.
protocolSucceededHook(InetAddress, Object, String, byte[], Socket) - Method in class org.eu.mayrhofer.authentication.DHOverTCPWithVerification
This hook will be called when the final verdict is that the whole authentication protocol succeeded, i.e.
protocolSucceededHook(InetAddress, Object, String, byte[], Socket) - Method in class org.eu.mayrhofer.authentication.relate.RelateAuthenticationProtocol
Called by the base class when the whole authentication protocol succeeded.

R

raiseAuthenticationFailureEvent(Object, Exception, String) - Method in class org.eu.mayrhofer.authentication.AuthenticationEventSender
Helper method for sending an AuthenticationFailure event to all registered listeners (if any).
raiseAuthenticationProgressEvent(Object, int, int, String) - Method in class org.eu.mayrhofer.authentication.AuthenticationEventSender
Helper method for sending an AuthenticationProgress event to all registered listeners (if any).
raiseAuthenticationSuccessEvent(Object, Object) - Method in class org.eu.mayrhofer.authentication.AuthenticationEventSender
Helper method for sending an AuthenticationSuccess event to all registered listeners (if any).
reassemble(byte[][]) - Method in class org.eu.mayrhofer.authentication.InterlockProtocol
This method is the inverse of split().
reassemble() - Method in class org.eu.mayrhofer.authentication.InterlockProtocol
This method only checks that all rounds have actually been received (i.e.
receiveBinaryBlock(StringBuffer, OutputStream) - Method in class org.eu.mayrhofer.apps.BinaryBlockStreamer
Receive a binary block from the input that has been passed to the constructor.
registerPolicy(long) - Static method in class org.eu.mayrhofer.channel.IPSecConnection_Windows
 
RelateAuthenticationProtocol - Class in org.eu.mayrhofer.authentication.relate
This is the main class of the relate authentication software: it ties together the host and dongle protocol handlers.
RelateAuthenticationProtocol(String, MeasurementManager, boolean, boolean, ProgressEventHandler) - Constructor for class org.eu.mayrhofer.authentication.relate.RelateAuthenticationProtocol
Initialized the authentication object with the contact data of the remote device to authenticate with.
removeAuthenticationProgressHandler(AuthenticationProgressHandler) - Method in class org.eu.mayrhofer.authentication.AuthenticationEventSender
De-register a listener for receiving events.
removePolicy(String) - Static method in class org.eu.mayrhofer.channel.IPSecConnection_Windows
 
reset() - Method in class org.eu.mayrhofer.authentication.SafetyBeltTimer
Allows to send a hearbeat signal to the timer by resetting it.
resetHook() - Method in class org.eu.mayrhofer.authentication.DHOverTCPWithVerification
This hook will be called when the object is reset to its "idle" state, i.e.
resetHook() - Method in class org.eu.mayrhofer.authentication.relate.RelateAuthenticationProtocol
Called by the base class when the object is reset to idle state.
run() - Method in class org.eu.mayrhofer.authentication.HostServerSocket
Does the actual listening for incoming connections by calling the blocking accept() on the listening socket in a loop.
run() - Method in class org.eu.mayrhofer.authentication.SafetyBeltTimer
Implements the timer background thread.

S

SafetyBeltTimer - Class in org.eu.mayrhofer.authentication
This is a currently safety belt against the dongle being stuck in authentication mode or the other dongle never entering authentication mode.
SafetyBeltTimer(int) - Constructor for class org.eu.mayrhofer.authentication.SafetyBeltTimer
 
SecureChannel - Interface in org.eu.mayrhofer.channel
This interface represents a secure channel to another (usually remote) device.
sendBinaryBlock(String, InputStream, int) - Method in class org.eu.mayrhofer.apps.BinaryBlockStreamer
Send a binary block over the output that has been passed to the constructor.
setCaDistinguishedName(String) - Method in class org.eu.mayrhofer.apps.IPSecConfigHandler
Sets the value to be used for the CA distinguished name.
setGateway(String) - Method in class org.eu.mayrhofer.apps.IPSecConfigHandler
Sets the value to be used for the remote gateway of the IPSec tunnel.
setRemoteNetmask(int) - Method in class org.eu.mayrhofer.apps.IPSecConfigHandler
Sets the value to be used for the remote network behind the remote gateway of the IPSec tunnel.
setRemoteNetwork(String) - Method in class org.eu.mayrhofer.apps.IPSecConfigHandler
Sets the value to be used for the remote network behind the remote gateway of the IPSec tunnel.
setSimulationMode(boolean) - Static method in class org.eu.mayrhofer.authentication.relate.RelateAuthenticationProtocol
 
setUp() - Method in class org.eu.mayrhofer.apps.test.BinaryBlockStreamerTest
 
setUp() - Method in class org.eu.mayrhofer.apps.test.IPSecConfigHandlerTest
 
setUp() - Method in class org.eu.mayrhofer.authentication.test.HostProtocolHandlerTest
 
setUp() - Method in class org.eu.mayrhofer.authentication.test.HostServerSocketTest
 
setUp() - Method in class org.eu.mayrhofer.channel.test.X509CertificateGeneratorTest
 
SimpleKeyAgreement - Class in org.eu.mayrhofer.authentication
This class implements a simple key agreement protocol.
SimpleKeyAgreement(boolean) - Constructor for class org.eu.mayrhofer.authentication.SimpleKeyAgreement
Initialized a fresh key agreement, simply by calling init().
SimpleKeyAgreementTest - Class in org.eu.mayrhofer.authentication.test
 
SimpleKeyAgreementTest(String) - Constructor for class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
SimpleKeyAgreementTest_BCAPI - Class in org.eu.mayrhofer.authentication.test
 
SimpleKeyAgreementTest_BCAPI(String) - Constructor for class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest_BCAPI
 
SimpleKeyAgreementTest_Mixed1 - Class in org.eu.mayrhofer.authentication.test
 
SimpleKeyAgreementTest_Mixed1(String) - Constructor for class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest_Mixed1
 
SimpleKeyAgreementTest_Mixed2 - Class in org.eu.mayrhofer.authentication.test
 
SimpleKeyAgreementTest_Mixed2(String) - Constructor for class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest_Mixed2
 
skip1024Base - Static variable in class org.eu.mayrhofer.authentication.SimpleKeyAgreement
The base used with the SKIP 1024 bit modulus
skip1024Base - Static variable in class org.eu.mayrhofer.authentication.test.BC_JCE_InteroperabilityTest
The base used with the SKIP 1024 bit modulus
skip1024Modulus - Static variable in class org.eu.mayrhofer.authentication.SimpleKeyAgreement
The SKIP 1024 bit modulus.
skip1024Modulus - Static variable in class org.eu.mayrhofer.authentication.test.BC_JCE_InteroperabilityTest
The SKIP 1024 bit modulus.
split(byte[]) - Method in class org.eu.mayrhofer.authentication.InterlockProtocol
This method splits the cipher text into multiple parts for transmission in an interlocked way.
start(String, boolean) - Method in interface org.eu.mayrhofer.channel.IPSecConnection
Establishes and starts a new secure channel to another host.
start(byte[], boolean) - Method in class org.eu.mayrhofer.channel.IPSecConnection_Windows
Creates a new connection entry for Windows 2000/XP.
start(String, boolean) - Method in class org.eu.mayrhofer.channel.IPSecConnection_Windows
Creates a new connection entry for Windows 2000/XP.
start(byte[], boolean) - Method in interface org.eu.mayrhofer.channel.SecureChannel
Establishes and starts a new secure channel to another host.
startAuthentication(String, String) - Method in class org.eu.mayrhofer.authentication.DHOverTCPWithVerification
Starts the authentication protocol in the background.
startAuthentication(byte[], int, int) - Method in class org.eu.mayrhofer.authentication.relate.DongleProtocolHandler
This method performs a full authentication of the pre-established shared secrets with another Relate dongle.The authentication is started as a background thread.
startAuthentication(String, int, int) - Method in class org.eu.mayrhofer.authentication.relate.RelateAuthenticationProtocol
Starts the spatial authentication protocol in the background.
startAuthenticationWith(String, int, AuthenticationProgressHandler, boolean, String, boolean) - Static method in class org.eu.mayrhofer.authentication.HostProtocolHandler
Outgoing authentication connections are done asynchronously just like the incoming connections.
startListening() - Method in class org.eu.mayrhofer.authentication.HostServerSocket
Starts a background thread (using the run() method of this class) that will listen for incoming connections.
startServer() - Method in class org.eu.mayrhofer.authentication.DHOverTCPWithVerification
This is a helper function to start the "server" part of the authentication protocol.
startVerification(byte[], InetAddress, String, Socket) - Method in class org.eu.mayrhofer.authentication.DHOverTCPWithVerification
This method must be implemented by derived classes.
startVerification(byte[], InetAddress, String, Socket) - Method in class org.eu.mayrhofer.authentication.relate.RelateAuthenticationProtocol
Called by the base class when shared keys have been established and should be verified now.
stop() - Method in class org.eu.mayrhofer.channel.IPSecConnection_Windows
Returns true when all the policies that have been registered and activated by start() could be deactivated and removed, false otherwise.
stop() - Method in interface org.eu.mayrhofer.channel.SecureChannel
Stop a previously established secure channel.
stopListening() - Method in class org.eu.mayrhofer.authentication.HostServerSocket
Signals the background listening thread to stop and waits for it.
stopServer() - Method in class org.eu.mayrhofer.authentication.DHOverTCPWithVerification
This is a helper function to stop the "server" part of the authentication protocol.

T

TcpPort - Static variable in class org.eu.mayrhofer.authentication.relate.RelateAuthenticationProtocol
 
tearDown() - Method in class org.eu.mayrhofer.apps.test.BinaryBlockStreamerTest
 
tearDown() - Method in class org.eu.mayrhofer.apps.test.IPSecConfigHandlerTest
 
tearDown() - Method in class org.eu.mayrhofer.authentication.test.HostProtocolHandlerTest
 
tearDown() - Method in class org.eu.mayrhofer.authentication.test.HostServerSocketTest
 
tearDown() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
tearDown() - Method in class org.eu.mayrhofer.channel.test.X509CertificateGeneratorTest
 
testAddPart() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testAddPart_Exceptions() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testCompareBits() - Method in class org.eu.mayrhofer.authentication.test.DongleProtocolHandlerTest
 
testCompleteAuthentication() - Method in class org.eu.mayrhofer.authentication.test.HostProtocolHandlerTest
 
testCompleteAuthenticationWithParam() - Method in class org.eu.mayrhofer.authentication.test.HostProtocolHandlerTest
 
testCompleteAuthenticationWithParamAndOpenSockets() - Method in class org.eu.mayrhofer.authentication.test.HostProtocolHandlerTest
 
testCompleteRun_Failure1() - Method in class org.eu.mayrhofer.authentication.test.DHOverTCPWithVerificationTest
 
testCompleteRun_Failure2() - Method in class org.eu.mayrhofer.authentication.test.DHOverTCPWithVerificationTest
 
testCompleteRun_Failure3() - Method in class org.eu.mayrhofer.authentication.test.DHOverTCPWithVerificationTest
 
testConstructorParameterCheck1() - Method in class org.eu.mayrhofer.channel.test.X509CertificateGeneratorTest
 
testConstructorParameterCheck2() - Method in class org.eu.mayrhofer.channel.test.X509CertificateGeneratorTest
 
testConstructorParameterCheck3() - Method in class org.eu.mayrhofer.channel.test.X509CertificateGeneratorTest
 
testCorrectAgreement() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testCreateCaAndCertificate() - Method in class org.eu.mayrhofer.channel.test.X509CertificateGeneratorTest
 
testCreateConnection() - Method in class org.eu.mayrhofer.authentication.test.HostServerSocketTest
 
testDHAgreement() - Method in class org.eu.mayrhofer.authentication.test.BC_JCE_InteroperabilityTest
 
testDHParameters() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testEitherInputOrOutputCheck() - Method in class org.eu.mayrhofer.apps.test.BinaryBlockStreamerTest
 
testEncryptDecrypt_MultipleBlocks() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testEncryptDecrypt_SingleBlock() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testEncryptSplitReassembleDecrypt_MultipleBlocks_1() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testEncryptSplitReassembleDecrypt_MultipleBlocks_2() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testEnforceGatewaySet() - Method in class org.eu.mayrhofer.apps.test.IPSecConfigHandlerTest
 
testEnforceNoOverwriteGateway() - Method in class org.eu.mayrhofer.apps.test.IPSecConfigHandlerTest
 
testEnforceNoOverwriteRemoteNetwork() - Method in class org.eu.mayrhofer.apps.test.IPSecConfigHandlerTest
 
testExchangeHelper() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testExtractPart() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testGatewayProperty() - Method in class org.eu.mayrhofer.apps.test.IPSecConfigHandlerTest
 
testHammingDistance() - Method in class org.eu.mayrhofer.authentication.test.DongleProtocolHandlerTest
 
testHexCodec() - Method in class org.eu.mayrhofer.authentication.test.HexCodecTest
 
testInputNotNullForReceiveCheck() - Method in class org.eu.mayrhofer.apps.test.BinaryBlockStreamerTest
 
testInterlockForRelateDongleProtocol() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testMessages_addRemotePublicKey_equalPublicKeyAdded() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testMessages_addRemotePublicKey_invalidPublicKeyAdded1() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testMessages_addRemotePublicKey_invalidPublicKeyAdded2() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testMessages_addRemotePublicKey_invalidPublicKeyAdded3() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testMessages_addRemotePublicKey_invalidPublicKeyAdded4() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testMessages_addRemotePublicKey_invalidPublicKeyAdded5() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testOutputNotNullForSendCheck() - Method in class org.eu.mayrhofer.apps.test.BinaryBlockStreamerTest
 
testParameterCheckConstructor1() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testParameterCheckConstructor2() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testParameterCheckConstructor3() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testParameterCheckConstructor4() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testParameterCheckDecrypt1() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testParameterCheckDecrypt2() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testParameterCheckEncrypt1() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testParameterCheckEncrypt2() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testParameterCheckEncrypt3() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testParameterCheckEncrypt4() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testReceiveHello() - Method in class org.eu.mayrhofer.authentication.test.HostProtocolHandlerTest
 
testRemoteNetmaskProperty() - Method in class org.eu.mayrhofer.apps.test.IPSecConfigHandlerTest
 
testRemoteNetworkProperty() - Method in class org.eu.mayrhofer.apps.test.IPSecConfigHandlerTest
 
testSendAndReceive() - Method in class org.eu.mayrhofer.apps.test.BinaryBlockStreamerTest
 
testSplitAndReassemble_Variant1_Case1() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testSplitAndReassemble_Variant1_Case2() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testSplitAndReassemble_Variant2_Case1() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testSplitAndReassemble_Variant2_Case2() - Method in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
testStates_addRemotePublicKey_correctState() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testStates_addRemotePublicKey_wrongState1() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testStates_addRemotePublicKey_wrongState2() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testStates_getAuthenticationKey_correctState() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testStates_getAuthenticationKey_wrongState1() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testStates_getAuthenticationKey_wrongState2() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testStates_getPublicKey_correctState() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testStates_getPublicKey_wrongState() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testStates_getSessionKey_correctState() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testStates_getSessionKey_wrongState1() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testStates_getSessionKey_wrongState2() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testStates_Initialize() - Method in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
testWriteAndParseGateway() - Method in class org.eu.mayrhofer.apps.test.IPSecConfigHandlerTest
 
testWriteAndParseGatewayAndNetwork() - Method in class org.eu.mayrhofer.apps.test.IPSecConfigHandlerTest
 
testWriteAndParseGatewayAndNetworkAndCaDn() - Method in class org.eu.mayrhofer.apps.test.IPSecConfigHandlerTest
 

U

useBCAPI - Variable in class org.eu.mayrhofer.channel.test.X509CertificateGeneratorTest
 
useJSSE - Variable in class org.eu.mayrhofer.authentication.DHOverTCPWithVerification
If set to true, the JSSE will be used, if set to false, the Bouncycastle Lightweight API.
useJSSE - Variable in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
useJSSE - Variable in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
useJSSE1 - Variable in class org.eu.mayrhofer.authentication.test.DHOverTCPWithVerificationTest
 
useJSSE2 - Variable in class org.eu.mayrhofer.authentication.test.DHOverTCPWithVerificationTest
 
useJSSE2 - Variable in class org.eu.mayrhofer.authentication.test.InterlockProtocolTest
 
useJSSE2 - Variable in class org.eu.mayrhofer.authentication.test.SimpleKeyAgreementTest
 
useJSSEClient - Variable in class org.eu.mayrhofer.authentication.test.HostProtocolHandlerTest
 
useJSSEServer - Variable in class org.eu.mayrhofer.authentication.test.HostProtocolHandlerTest
 

V

verificationFailure(Object, String, Exception, String) - Method in class org.eu.mayrhofer.authentication.DHOverTCPWithVerification
This method should be called by derived classes after key verification has been started with the startVerification method.
verificationSuccess(Object, String) - Method in class org.eu.mayrhofer.authentication.DHOverTCPWithVerification
This method should be called by derived classes after key verification has been started with the startVerification method.

W

wipe() - Method in class org.eu.mayrhofer.authentication.SimpleKeyAgreement
This method performs a secure wipe of the cryptographic key material held by this class by overwriting the memory regions with zero before freeing them (i.e.
writeConfig(Writer) - Method in class org.eu.mayrhofer.apps.IPSecConfigHandler
 

X

X509CertificateGenerator - Class in org.eu.mayrhofer.channel
This class uses the Bouncycastle lightweight API to generate X.509 certificates programmatically.
X509CertificateGenerator(boolean) - Constructor for class org.eu.mayrhofer.channel.X509CertificateGenerator
Initializes the objects without an existing CA.
X509CertificateGenerator(String, String, String, boolean) - Constructor for class org.eu.mayrhofer.channel.X509CertificateGenerator
Initializes the object for creating certificates by loading the CA certificate and private key.
X509CertificateGeneratorTest - Class in org.eu.mayrhofer.channel.test
 
X509CertificateGeneratorTest() - Constructor for class org.eu.mayrhofer.channel.test.X509CertificateGeneratorTest
 
X509CertificateGeneratorTest_NoJCE - Class in org.eu.mayrhofer.channel.test
 
X509CertificateGeneratorTest_NoJCE() - Constructor for class org.eu.mayrhofer.channel.test.X509CertificateGeneratorTest_NoJCE
 

A B C D E G H I K L M N O P R S T U V W X

2005-2006, Rene Mayrhofer.