File Coverage

lib/Crypt/Perl/X509/Extension/basicConstraints.pm
Criterion Covered Total %
statement 23 23 100.0
branch 2 4 50.0
condition n/a
subroutine 8 8 100.0
pod 0 1 0.0
total 33 36 91.6


line stmt bran cond sub pod time code
1             package Crypt::Perl::X509::Extension::basicConstraints;
2              
3 1     1   882 use strict;
  1         2  
  1         37  
4 1     1   5 use warnings;
  1         3  
  1         49  
5              
6             =encoding utf-8
7              
8             =head1 NAME
9              
10             Crypt::Perl::X509::Extension::basicConstraints
11              
12             =cut
13              
14 1     1   7 use parent qw( Crypt::Perl::X509::Extension );
  1         2  
  1         9  
15              
16 1     1   42 use Crypt::Perl::X ();
  1         2  
  1         31  
17              
18 1     1   5 use constant OID => '2.5.29.19';
  1         3  
  1         104  
19              
20 1     1   7 use constant ASN1 => <
  1         2  
  1         201  
21             basicConstraints ::= SEQUENCE {
22             cA BOOLEAN,
23             pathLenConstraint INTEGER OPTIONAL
24             }
25             END
26              
27             sub new {
28 6     6 0 24 my ($class, $ca_yn, $pl_constraint) = @_;
29              
30 6         64 return bless { _ca => $ca_yn, _pl_constraint => $pl_constraint }, $class;
31             }
32              
33             sub _encode_params {
34 6     6   22 my ($self) = @_;
35              
36             my $data = {
37             cA => $self->{'_ca'} ? 1 : 0,
38              
39             ( defined $self->{'_pl_constraint'}
40 6 50       44 ? ( pathLenConstraint => $self->{'_pl_constraint'} )
    50          
41             : ()
42             ),
43             };
44              
45 6         28 return $data;
46             }
47              
48             1;