public function SecureSiteScriptDigestMD5UnitTest::testSecureSiteScriptDigestMD5AuthStored in Secure Site 7.2
Same name and namespace in other branches
- 6.2 securesite.test \SecureSiteScriptDigestMD5UnitTest::testSecureSiteScriptDigestMD5AuthStored()
Check response to stored password with auth quality of protection.
File
- ./
securesite.test, line 336 - Tests for Secure Site module.
Class
- SecureSiteScriptDigestMD5UnitTest
- Unit tests for digest_md5.php.
Code
public function testSecureSiteScriptDigestMD5AuthStored() {
$ha1 = md5($this->user->name . ':' . $this->challenge['realm'] . ':' . $this->user->pass_raw);
$cnonce = uniqid();
$response = md5($ha1 . ':' . $this->challenge['nonce'] . ":00000001:{$cnonce}:auth:" . md5('GET:/'));
$this->auth[] = 'nonce="' . $this->challenge['nonce'] . '"';
$this->auth[] = 'cnonce="' . $cnonce . '"';
$this->auth[] = 'nc=00000001';
$this->auth[] = 'response="' . $response . '"';
$command = $this->digest_md5 . ' data=' . escapeshellarg(implode(', ', $this->auth)) . ' method=GET';
module_load_include('inc', 'securesite');
$authentication = _securesite_parse_directives(exec($command, $output, $status));
$rspauth = md5($ha1 . ':' . $this->challenge['nonce'] . ":00000001:{$cnonce}:auth:" . md5(':/'));
$this
->assertTrue($status == 0 && isset($authentication['rspauth']) && $authentication['rspauth'] == $rspauth, t('Checking response to stored password with %qop quality of protection.', array(
'%qop' => 'auth',
)));
}