Ö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' |
Definiert in Zeile 455 der Datei Server.php.
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 | |||
) |
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 }
$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.
Copyright © 2003 - 2009 MyOOS [Shopsystem]. All rights reserved. MyOOS [Shopsystem] is Free Software released under the GNU/GPL License. Webmaster: info@r23.de (Impressum) |
|