Auth_OpenID_DiffieHellmanSHA1ServerSession Klassenreferenz

Basisklasse für Auth_OpenID_DiffieHellmanSHA256ServerSession.


Öffentliche Methoden

 Auth_OpenID_DiffieHellmanSHA1ServerSession ($dh, $consumer_pubkey)
 getDH ($message)
 fromMessage ($message)
 answer ($secret)

Datenfelder

 $session_type = 'DH-SHA1'
 $needs_math = true
 $allowed_assoc_types = array('HMAC-SHA1')
 $hash_func = 'Auth_OpenID_SHA1'


Ausführliche Beschreibung

Definiert in Zeile 455 der Datei Server.php.


Dokumentation der Elementfunktionen

answer ( secret  ) 

Definiert in Zeile 539 der Datei Server.php.

00540     {
00541         $lib =& Auth_OpenID_getMathLib();
00542         $mac_key = $this->dh->xorSecret($this->consumer_pubkey, $secret,
00543                                         $this->hash_func);
00544         return array(
00545            'dh_server_public' =>
00546                 $lib->longToBase64($this->dh->public),
00547            'enc_mac_key' => base64_encode($mac_key));
00548     }

Auth_OpenID_DiffieHellmanSHA1ServerSession ( dh,
consumer_pubkey 
)

Definiert in Zeile 466 der Datei Server.php.

00467     {
00468         $this->dh = $dh;
00469         $this->consumer_pubkey = $consumer_pubkey;
00470     }

fromMessage ( message  ) 

Erneute Implementation in Auth_OpenID_DiffieHellmanSHA256ServerSession.

Definiert in Zeile 526 der Datei Server.php.

00527     {
00528         $result = Auth_OpenID_DiffieHellmanSHA1ServerSession::getDH($message);
00529 
00530         if (is_a($result, 'Auth_OpenID_ServerError')) {
00531             return $result;
00532         } else {
00533             list($dh, $consumer_pubkey) = $result;
00534             return new Auth_OpenID_DiffieHellmanSHA1ServerSession($dh,
00535                                                     $consumer_pubkey);
00536         }
00537     }

getDH ( message  ) 

Definiert in Zeile 472 der Datei Server.php.

00473     {
00474         $dh_modulus = $message->getArg(Auth_OpenID_OPENID_NS, 'dh_modulus');
00475         $dh_gen = $message->getArg(Auth_OpenID_OPENID_NS, 'dh_gen');
00476 
00477         if ((($dh_modulus === null) && ($dh_gen !== null)) ||
00478             (($dh_gen === null) && ($dh_modulus !== null))) {
00479 
00480             if ($dh_modulus === null) {
00481                 $missing = 'modulus';
00482             } else {
00483                 $missing = 'generator';
00484             }
00485 
00486             return new Auth_OpenID_ServerError($message,
00487                                 'If non-default modulus or generator is '.
00488                                 'supplied, both must be supplied.  Missing '.
00489                                 $missing);
00490         }
00491 
00492         $lib =& Auth_OpenID_getMathLib();
00493 
00494         if ($dh_modulus || $dh_gen) {
00495             $dh_modulus = $lib->base64ToLong($dh_modulus);
00496             $dh_gen = $lib->base64ToLong($dh_gen);
00497             if ($lib->cmp($dh_modulus, 0) == 0 ||
00498                 $lib->cmp($dh_gen, 0) == 0) {
00499                 return new Auth_OpenID_ServerError(
00500                   $message, "Failed to parse dh_mod or dh_gen");
00501             }
00502             $dh = new Auth_OpenID_DiffieHellman($dh_modulus, $dh_gen);
00503         } else {
00504             $dh = new Auth_OpenID_DiffieHellman();
00505         }
00506 
00507         $consumer_pubkey = $message->getArg(Auth_OpenID_OPENID_NS,
00508                                             'dh_consumer_public');
00509         if ($consumer_pubkey === null) {
00510             return new Auth_OpenID_ServerError($message,
00511                                   'Public key for DH-SHA1 session '.
00512                                   'not found in query');
00513         }
00514 
00515         $consumer_pubkey =
00516             $lib->base64ToLong($consumer_pubkey);
00517 
00518         if ($consumer_pubkey === false) {
00519             return new Auth_OpenID_ServerError($message,
00520                                        "dh_consumer_public is not base64");
00521         }
00522 
00523         return array($dh, $consumer_pubkey);
00524     }


Dokumentation der Datenelemente

$allowed_assoc_types = array('HMAC-SHA1')

Erneute Implementation in Auth_OpenID_DiffieHellmanSHA256ServerSession.

Definiert in Zeile 463 der Datei Server.php.

$hash_func = 'Auth_OpenID_SHA1'

Erneute Implementation in Auth_OpenID_DiffieHellmanSHA256ServerSession.

Definiert in Zeile 464 der Datei Server.php.

$needs_math = true

Definiert in Zeile 462 der Datei Server.php.

$session_type = 'DH-SHA1'

An object that knows how to handle association requests with the Diffie-Hellman session type.

Erneute Implementation in Auth_OpenID_DiffieHellmanSHA256ServerSession.

Definiert in Zeile 461 der Datei Server.php.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
Copyright © 2003 - 2009 MyOOS [Shopsystem]. All rights reserved.
MyOOS [Shopsystem] is Free Software released under the GNU/GPL License.

Webmaster: info@r23.de (Impressum)
doxygen