File Coverage

lib/Crypt/Perl/X509/Extension/tlsFeature.pm
Criterion Covered Total %
statement 29 30 96.6
branch 1 2 50.0
condition n/a
subroutine 9 9 100.0
pod 0 1 0.0
total 39 42 92.8


line stmt bran cond sub pod time code
1             package Crypt::Perl::X509::Extension::tlsFeature;
2              
3 1     1   615 use strict;
  1         2  
  1         28  
4 1     1   5 use warnings;
  1         2  
  1         31  
5              
6             =encoding utf-8
7              
8             =head1 NAME
9              
10             Crypt::Perl::X509::Extension::tlsFeature
11              
12             =head1 SYNOPSIS
13              
14             my $usage_obj = Crypt::Perl::X509::Extension::tlsFeature->new( 5 );
15              
16             =head1 SEE ALSO
17              
18             L
19              
20             =cut
21              
22 1     1   4 use parent qw( Crypt::Perl::X509::Extension );
  1         3  
  1         5  
23              
24 1     1   58 use constant OID => '1.3.6.1.5.5.7.1.24';
  1         2  
  1         50  
25              
26 1     1   5 use constant CRITICAL => 0;
  1         2  
  1         53  
27              
28 1     1   11 use constant ASN1 => <
  1         7  
  1         46  
29             tlsFeature ::= SEQUENCE OF INTEGER
30             END
31              
32 1     1   9 use Crypt::Perl::X ();
  1         2  
  1         255  
33              
34             #OpenSSL crypto/x509v3/v3_tlsf.c
35             my %values = (
36             status_request => 5,
37             status_request_v2 => 17,
38             );
39              
40             sub new {
41 6     6 0 40 my ($class, @strs) = @_;
42              
43 6         17 my @ints;
44 6         35 for my $v (@strs) {
45 6 50       33 if (!$values{$v}) {
46 0         0 die Crypt::Perl::X::create('Generic', "Unknown TLS feature string: ā€œ$vā€");
47             }
48              
49 6         25 push @ints, $values{$v};
50             }
51              
52 6         29 return bless \@ints, $class;
53             }
54              
55             sub _encode_params {
56 6     6   19 my ($self) = @_;
57              
58 6         34 return [ @$self ];
59             }
60              
61             1;