SAML2\AssertionTest::testNameIdEncryption PHP Метод

testNameIdEncryption() публичный Метод

Test NameID Encryption and Decryption.
    public function testNameIdEncryption()
    {
        // Create an assertion
        $assertion = new Assertion();
        $assertion->setIssuer('testIssuer');
        $assertion->setValidAudiences(array('audience1', 'audience2'));
        $assertion->setAuthnContext('someAuthnContext');
        $assertion->setNameId(array("Value" => "just_a_basic_identifier", "Format" => "urn:oasis:names:tc:SAML:2.0:nameid-format:transient"));
        $this->assertFalse($assertion->isNameIdEncrypted());
        $publicKey = CertificatesMock::getPublicKey();
        $assertion->encryptNameId($publicKey);
        $this->assertTrue($assertion->isNameIdEncrypted());
        // Marshall it to a \DOMElement
        $assertionElement = $assertion->toXML()->ownerDocument->saveXML();
        $assertionToVerify = new Assertion(DOMDocumentFactory::fromString($assertionElement)->firstChild);
        $this->assertTrue($assertionToVerify->isNameIdEncrypted());
        $privateKey = CertificatesMock::getPrivateKey();
        $assertionToVerify->decryptNameId($privateKey);
        $this->assertFalse($assertionToVerify->isNameIdEncrypted());
        $nameID = $assertionToVerify->getNameID();
        $this->assertEquals('just_a_basic_identifier', $nameID['Value']);
        $this->assertEquals('urn:oasis:names:tc:SAML:2.0:nameid-format:transient', $nameID['Format']);
    }
AssertionTest