EncryptedAttribute   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 16
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 7
dl 0
loc 16
rs 10
c 0
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A decrypt() 0 4 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace SimpleSAML\SAML2\XML\saml;
6
7
use SimpleSAML\SAML2\XML\EncryptedElementTrait;
8
use SimpleSAML\XML\DOMDocumentFactory;
9
use SimpleSAML\XML\SchemaValidatableElementInterface;
10
use SimpleSAML\XML\SchemaValidatableElementTrait;
11
use SimpleSAML\XMLSecurity\Alg\Encryption\EncryptionAlgorithmInterface;
12
use SimpleSAML\XMLSecurity\XML\EncryptedElementInterface;
13
14
/**
15
 * Class handling encrypted attributes.
16
 *
17
 * @package simplesamlphp/saml2
18
 */
19
class EncryptedAttribute extends AbstractSamlElement implements
20
    EncryptedElementInterface,
21
    SchemaValidatableElementInterface
22
{
23
    use EncryptedElementTrait;
0 ignored issues
show
introduced by
The trait SimpleSAML\SAML2\XML\EncryptedElementTrait requires some properties which are not provided by SimpleSAML\SAML2\XML\saml\EncryptedAttribute: $localName, $namespaceURI
Loading history...
24
    use SchemaValidatableElementTrait;
25
26
    /**
27
     * @inheritDoc
28
     *
29
     * @return \SimpleSAML\SAML2\XML\saml\Attribute
30
     */
31
    public function decrypt(EncryptionAlgorithmInterface $decryptor): Attribute
32
    {
33
        return Attribute::fromXML(
34
            DOMDocumentFactory::fromString($this->decryptData($decryptor))->documentElement,
35
        );
36
    }
37
}
38