line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Zonemaster::LDNS::RR::RRSIG; |
2
|
|
|
|
|
|
|
|
3
|
13
|
|
|
13
|
|
69
|
use parent 'Zonemaster::LDNS::RR'; |
|
13
|
|
|
|
|
24
|
|
|
13
|
|
|
|
|
51
|
|
4
|
|
|
|
|
|
|
|
5
|
|
|
|
|
|
|
sub verify { |
6
|
2
|
|
|
2
|
1
|
690
|
my ( $self, $rrset, $keys ) = @_; |
7
|
2
|
|
|
|
|
3
|
my $msg = ''; |
8
|
|
|
|
|
|
|
|
9
|
2
|
|
|
|
|
240
|
return $self->verify_time( $rrset, $keys, time(), $msg ); |
10
|
|
|
|
|
|
|
} |
11
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
sub verify_str { |
13
|
2
|
|
|
2
|
1
|
7
|
my ( $self, $rrset, $keys ) = @_; |
14
|
2
|
|
|
|
|
4
|
my $msg = ''; |
15
|
|
|
|
|
|
|
|
16
|
2
|
|
|
|
|
156
|
$self->verify_time( $rrset, $keys, time(), $msg ); |
17
|
|
|
|
|
|
|
|
18
|
2
|
|
|
|
|
13
|
return $msg; |
19
|
|
|
|
|
|
|
} |
20
|
|
|
|
|
|
|
|
21
|
|
|
|
|
|
|
1; |
22
|
|
|
|
|
|
|
|
23
|
|
|
|
|
|
|
=head1 NAME |
24
|
|
|
|
|
|
|
|
25
|
|
|
|
|
|
|
Zonemaster::LDNS::RR::RRSIG - Type RRSIG record |
26
|
|
|
|
|
|
|
|
27
|
|
|
|
|
|
|
=head1 DESCRIPTION |
28
|
|
|
|
|
|
|
|
29
|
|
|
|
|
|
|
A subclass of L, so it has all the methods of that class available in addition to the ones documented here. |
30
|
|
|
|
|
|
|
|
31
|
|
|
|
|
|
|
=head1 METHODS |
32
|
|
|
|
|
|
|
|
33
|
|
|
|
|
|
|
=over |
34
|
|
|
|
|
|
|
|
35
|
|
|
|
|
|
|
=item typecovered() |
36
|
|
|
|
|
|
|
|
37
|
|
|
|
|
|
|
Returns a string with the name of the RR type this signature covers. |
38
|
|
|
|
|
|
|
|
39
|
|
|
|
|
|
|
=item algorithm() |
40
|
|
|
|
|
|
|
|
41
|
|
|
|
|
|
|
Returns the algorithm number. |
42
|
|
|
|
|
|
|
|
43
|
|
|
|
|
|
|
=item labels() |
44
|
|
|
|
|
|
|
|
45
|
|
|
|
|
|
|
Returns the number of labels that was used to calculate the signature. |
46
|
|
|
|
|
|
|
|
47
|
|
|
|
|
|
|
=item origttl() |
48
|
|
|
|
|
|
|
|
49
|
|
|
|
|
|
|
Returns the original TTL value. |
50
|
|
|
|
|
|
|
|
51
|
|
|
|
|
|
|
=item expiration() |
52
|
|
|
|
|
|
|
|
53
|
|
|
|
|
|
|
Returns the expiration time, as a time_t. |
54
|
|
|
|
|
|
|
|
55
|
|
|
|
|
|
|
=item inception() |
56
|
|
|
|
|
|
|
|
57
|
|
|
|
|
|
|
Returns the inception time, as a time_t. |
58
|
|
|
|
|
|
|
|
59
|
|
|
|
|
|
|
=item keytag() |
60
|
|
|
|
|
|
|
|
61
|
|
|
|
|
|
|
Returns the keytag. |
62
|
|
|
|
|
|
|
|
63
|
|
|
|
|
|
|
=item signer() |
64
|
|
|
|
|
|
|
|
65
|
|
|
|
|
|
|
Returns the signer name. |
66
|
|
|
|
|
|
|
|
67
|
|
|
|
|
|
|
=item signature() |
68
|
|
|
|
|
|
|
|
69
|
|
|
|
|
|
|
Returns the cryptographic signture in binary form. |
70
|
|
|
|
|
|
|
|
71
|
|
|
|
|
|
|
=item verify($rrset_ref, $key_ref) |
72
|
|
|
|
|
|
|
|
73
|
|
|
|
|
|
|
Cryptographically verifies that the signature in this object matches the given RRset and at least one of the given keys. C<$rrset_ref> should be a |
74
|
|
|
|
|
|
|
reference to an array of RR objects, and C<$key_ref> a reference to an array of L objects. This method simply returns a true |
75
|
|
|
|
|
|
|
or false value, depending on the result och the check. |
76
|
|
|
|
|
|
|
|
77
|
|
|
|
|
|
|
=item verify_str($rrset_ref, $key_ref) |
78
|
|
|
|
|
|
|
|
79
|
|
|
|
|
|
|
Takes exactly the same arguments as L and performs the same action, but instead of true/false it returns a string describing the result. |
80
|
|
|
|
|
|
|
In the case of a successful result the message will be "All OK". For negative results, the string will describe the reason the verification failed. |
81
|
|
|
|
|
|
|
|
82
|
|
|
|
|
|
|
=item verify_time($rrset_ref, $key_ref, $time, $msg) |
83
|
|
|
|
|
|
|
|
84
|
|
|
|
|
|
|
This is the XS method doing the work for the previous two methods. C<$rrset_ref> and C<$key_ref> are the same as for the other methods. C<$time> is |
85
|
|
|
|
|
|
|
the C value for which the validation should be made (for the previous two methods it is set to the current computer time). C<$msg> should be |
86
|
|
|
|
|
|
|
a writable scalar, and the string message describing the result will be but in it. The return value from the method is true/false. |
87
|
|
|
|
|
|
|
|
88
|
|
|
|
|
|
|
=back |