… | |
… | |
194 | # auth |
194 | # auth |
195 | require Digest::MD6; |
195 | require Digest::MD6; |
196 | require Digest::HMAC_MD6; |
196 | require Digest::HMAC_MD6; |
197 | |
197 | |
198 | my $key = Digest::MD6::md6_hex ($secret); |
198 | my $key = Digest::MD6::md6_hex ($secret); |
199 | my $lauth = Digest::HMAC_MD6::hmac_md6_base64 ($key, "$lgreeting$rgreeting", 64, 256); |
199 | my $lauth = Digest::HMAC_MD6::hmac_md6_base64 ($key, "$lgreeting\012$rgreeting", 64, 256); |
200 | my $rauth = Digest::HMAC_MD6::hmac_md6_base64 ($key, "$rgreeting$lgreeting", 64, 256); |
200 | my $rauth = Digest::HMAC_MD6::hmac_md6_base64 ($key, "$rgreeting\012$lgreeting", 64, 256); |
201 | |
201 | |
202 | $lauth ne $rauth # echo attack? |
202 | $lauth ne $rauth # echo attack? |
203 | or return $self->error ("authentication error"); |
203 | or return $self->error ("authentication error"); |
204 | |
204 | |
205 | $self->{hdl}->push_write ("$auth;$lauth;$framing\012"); |
205 | $self->{hdl}->push_write ("$auth;$lauth;$framing\012"); |