File Coverage

blib/lib/SBOM/CycloneDX/Enum/CommonExtensionName.pm
Criterion Covered Total %
statement 20 20 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod 0 1 0.0
total 27 28 96.4


line stmt bran cond sub pod time code
1             package SBOM::CycloneDX::Enum::CommonExtensionName;
2              
3 16     16   302 use 5.010001;
  16         65  
4 16     16   98 use strict;
  16         47  
  16         681  
5 16     16   163 use warnings;
  16         45  
  16         1058  
6 16     16   181 use utf8;
  16         37  
  16         92  
7              
8 16     16   823 use Exporter 'import';
  16         34  
  16         3476  
9             our (@EXPORT_OK, %EXPORT_TAGS, %ENUM);
10              
11             BEGIN {
12              
13 16     16   208 %ENUM = (
14             BASIC_CONSTRAINTS => 'basicConstraints',
15             KEY_USAGE => 'keyUsage',
16             EXTENDED_KEY_USAGE => 'extendedKeyUsage',
17             SUBJECT_ALTERNATIVE_NAME => 'subjectAlternativeName',
18             AUTHORITY_KEY_IDENTIFIER => 'authorityKeyIdentifier',
19             SUBJECT_KEY_IDENTIFIER => 'subjectKeyIdentifier',
20             AUTHORITY_INFORMATION_ACCESS => 'authorityInformationAccess',
21             CERTIFICATE_POLICIES => 'certificatePolicies',
22             CRL_DISTRIBUTION_POINTS => 'crlDistributionPoints',
23             SIGNED_CERTIFICATE_TIMESTAMP => 'signedCertificateTimestamp',
24             );
25              
26 16         111 require constant;
27 16         2567 constant->import(\%ENUM);
28              
29 16         173 @EXPORT_OK = sort keys %ENUM;
30 16         1806 %EXPORT_TAGS = (all => \@EXPORT_OK);
31              
32             }
33              
34 2     2 0 20 sub values { sort values %ENUM }
35              
36             1;
37              
38             =encoding utf-8
39              
40             =head1 NAME
41              
42             SBOM::CycloneDX::Enum::CommonExtensionName - The name of the certificate extension
43              
44             =head1 SYNOPSIS
45              
46             use SBOM::CycloneDX::Enum qw(COMMON_EXTENSION_NAME);
47              
48             say COMMON_EXTENSION_NAME->KEY_USAGE;
49              
50              
51             use SBOM::CycloneDX::Enum::CommonExtensionName;
52              
53             say SBOM::CycloneDX::Enum::CommonExtensionName->EXTENDED_KEY_USAGE;
54              
55              
56             use SBOM::CycloneDX::Enum::CommonExtensionName qw(:all);
57              
58             say CRL_DISTRIBUTION_POINTS;
59              
60              
61             =head1 DESCRIPTION
62              
63             L is ENUM package used by L.
64              
65             A certificate extension is a field that provides additional information about the
66             certificate or its use. Extensions are used to convey additional information beyond
67             the standard fields.
68              
69              
70             =head1 CONSTANTS
71              
72             =over
73              
74             =item * C, Specifies whether a certificate can be used as a
75             CA certificate or not.
76              
77             =item * C, Specifies the allowed uses of the public key in the certificate.
78              
79             =item * C, Specifies additional purposes for which the public
80             key can be used.
81              
82             =item * C, Allows inclusion of additional names to
83             identify the entity associated with the certificate.
84              
85             =item * C, Identifies the public key of the CA that
86             issued the certificate.
87              
88             =item * C, Identifies the public key associated with the
89             entity the certificate was issued to.
90              
91             =item * C, Contains CA issuers and OCSP information.
92              
93             =item * C, Defines the policies under which the certificate
94             was issued and can be used.
95              
96             =item * C, Contains one or more URLs where a Certificate
97             Revocation List (CRL) can be obtained.
98              
99             =item * C, Shows that the certificate has been
100             publicly logged, which helps prevent the issuance of rogue certificates by a CA.
101             Log ID, timestamp and signature as proof.
102              
103             =back
104              
105             =head1 SUPPORT
106              
107             =head2 Bugs / Feature Requests
108              
109             Please report any bugs or feature requests through the issue tracker
110             at L.
111             You will be notified automatically of any progress on your issue.
112              
113             =head2 Source Code
114              
115             This is open source software. The code repository is available for
116             public review and contribution under the terms of the license.
117              
118             L
119              
120             git clone https://github.com/giterlizzi/perl-SBOM-CycloneDX.git
121              
122              
123             =head1 AUTHOR
124              
125             =over 4
126              
127             =item * Giuseppe Di Terlizzi
128              
129             =back
130              
131              
132             =head1 LICENSE AND COPYRIGHT
133              
134             This software is copyright (c) 2025-2026 by Giuseppe Di Terlizzi.
135              
136             This is free software; you can redistribute it and/or modify it under
137             the same terms as the Perl 5 programming language system itself.
138              
139             =cut