GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Branch php72 (a7f01e)
by Joni
04:53
created

PolicyMapping   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 71
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 5
eloc 12
dl 0
loc 71
ccs 15
cts 15
cp 1
rs 10
c 0
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A toASN1() 0 4 1
A __construct() 0 4 1
A fromASN1() 0 5 1
A subjectDomainPolicy() 0 3 1
A issuerDomainPolicy() 0 3 1
1
<?php
2
3
declare(strict_types = 1);
4
5
namespace Sop\X509\Certificate\Extension\PolicyMappings;
6
7
use Sop\ASN1\Type\Constructed\Sequence;
8
use Sop\ASN1\Type\Primitive\ObjectIdentifier;
9
10
/**
11
 * Implements ASN.1 type containing policy mapping values to be used
12
 * in 'Policy Mappings' certificate extension.
13
 *
14
 * @see https://tools.ietf.org/html/rfc5280#section-4.2.1.5
15
 */
16
class PolicyMapping
17
{
18
    /**
19
     * OID of the issuer policy.
20
     *
21
     * @var string
22
     */
23
    protected $_issuerDomainPolicy;
24
25
    /**
26
     * OID of the subject policy.
27
     *
28
     * @var string
29
     */
30
    protected $_subjectDomainPolicy;
31
32
    /**
33
     * Constructor.
34
     *
35
     * @param string $issuer_policy  OID of the issuer policy
36
     * @param string $subject_policy OID of the subject policy
37
     */
38 6
    public function __construct(string $issuer_policy, string $subject_policy)
39
    {
40 6
        $this->_issuerDomainPolicy = $issuer_policy;
41 6
        $this->_subjectDomainPolicy = $subject_policy;
42 6
    }
43
44
    /**
45
     * Initialize from ASN.1.
46
     *
47
     * @param Sequence $seq
48
     *
49
     * @return self
50
     */
51 2
    public static function fromASN1(Sequence $seq): self
52
    {
53 2
        $issuer_policy = $seq->at(0)->asObjectIdentifier()->oid();
54 2
        $subject_policy = $seq->at(1)->asObjectIdentifier()->oid();
55 2
        return new self($issuer_policy, $subject_policy);
56
    }
57
58
    /**
59
     * Get issuer domain policy.
60
     *
61
     * @return string OID in dotted format
62
     */
63 10
    public function issuerDomainPolicy(): string
64
    {
65 10
        return $this->_issuerDomainPolicy;
66
    }
67
68
    /**
69
     * Get subject domain policy.
70
     *
71
     * @return string OID in dotted format
72
     */
73 9
    public function subjectDomainPolicy(): string
74
    {
75 9
        return $this->_subjectDomainPolicy;
76
    }
77
78
    /**
79
     * Generate ASN.1 structure.
80
     *
81
     * @return Sequence
82
     */
83 6
    public function toASN1(): Sequence
84
    {
85 6
        return new Sequence(new ObjectIdentifier($this->_issuerDomainPolicy),
86 6
            new ObjectIdentifier($this->_subjectDomainPolicy));
87
    }
88
}
89