line |
true |
false |
branch |
78
|
0 |
9 |
if ($@) |
83
|
0 |
9 |
unless ($client_data->{'type'} eq "webauthn.create") |
89
|
0 |
9 |
unless ($challenge_b64) |
93
|
1 |
8 |
unless ($challenge_b64 eq $client_data->{'challenge'}) |
102
|
0 |
8 |
unless ($client_data->{'origin'}) |
106
|
1 |
7 |
unless ($client_data->{'origin'} eq $self->origin) |
133
|
0 |
7 |
unless ($authenticator_data) |
137
|
0 |
7 |
unless ($authenticator_data->{'attestedCredentialData'}) |
144
|
1 |
6 |
unless ($authenticator_data->{'rpIdHash'} eq $hash_rp_id) |
153
|
0 |
6 |
unless ($authenticator_data->{'flags'}{'userPresent'} == 1) |
160
|
1 |
5 |
if ($requested_uv eq "required" and $authenticator_data->{'flags'}{'userVerified'} != 1) |
182
|
0 |
5 |
unless (ref $attestation_function eq "CODE") |
198
|
0 |
5 |
if $@ |
200
|
0 |
5 |
unless ($attestation_result->{'success'} == 1) |
256
|
0 |
17 |
if $@ |
270
|
1 |
16 |
if ($@) |
275
|
0 |
16 |
unless ($client_data->{'type'} eq "webauthn.get") |
281
|
0 |
16 |
unless ($challenge_b64) |
285
|
1 |
15 |
unless ($challenge_b64 eq $client_data->{'challenge'}) |
293
|
0 |
15 |
unless ($client_data->{'origin'}) |
297
|
1 |
14 |
unless ($client_data->{'origin'} eq $self->origin) |
319
|
0 |
12 |
if ($extension_results->{'appid'}) { } |
326
|
1 |
11 |
unless ($authenticator_data->{'rpIdHash'} eq $hash_rp_id) |
335
|
0 |
11 |
unless ($authenticator_data->{'flags'}{'userPresent'} == 1) |
342
|
1 |
10 |
if ($requested_uv eq "required" and $authenticator_data->{'flags'}{'userVerified'} != 1) |
361
|
2 |
8 |
unless (&$credential_verifier($signature, $to_sign)) |
370
|
5 |
3 |
if ($signature_count > 0 or $stored_sign_count > 0) |
371
|
2 |
3 |
if ($signature_count <= $stored_sign_count) |
384
|
0 |
21 |
unless ($key->{'curve_name'} eq "secp256r1") |
428
|
18 |
3 |
if (ref $client_data_token_binding ne "HASH") |
434
|
3 |
0 |
if ($token_binding_status eq 'present') { } |
439
|
3 |
0 |
if ($client_data_cbid_b64) { } |
440
|
1 |
2 |
if ($client_data_cbid_b64 eq $connection_tbid_b64) { } |
472
|
0 |
1 |
unless $$COSE_ALG{$cose_key->{'3'}}{'name'} eq "ES256" |
488
|
0 |
17 |
unless ($curve_name) |
554
|
0 |
18 |
unless ($alg_config) |
560
|
0 |
18 |
unless ($key_type_config) |
566
|
0 |
18 |
unless (ref $key_function eq "CODE") |
572
|
0 |
18 |
unless ($public_key) |
607
|
7 |
0 |
if ($alg) { } |
618
|
7 |
0 |
if (length $aaguid == 16) { } |
659
|
0 |
31 |
if ($len < $expected_len) |
675
|
7 |
17 |
if ($res->{'flags'}{'atIncluded'}) |
684
|
0 |
24 |
if ($res->{'flags'}{'edIncluded'}) { } |
687
|
0 |
0 |
if ($ext) |
693
|
0 |
24 |
if length $ad > 37 + $attestedCredentialDataLength |
746
|
0 |
1 |
unless $attestation_statement->{'alg'} |
749
|
0 |
1 |
unless $attestation_statement->{'sig'} |
754
|
1 |
0 |
if ($attestation_statement->{'x5c'}) { } |
780
|
0 |
1 |
if $@ |
786
|
0 |
1 |
if $@ |
802
|
1 |
0 |
if (&$attestation_verifier($sig, $signed_value)) { } |
827
|
0 |
0 |
unless $sign_alg |
830
|
0 |
0 |
unless ($sign_alg eq $cose_alg) |
839
|
0 |
0 |
if $@ |
843
|
0 |
0 |
if (&$credential_verifier($sig, $signed_value)) { } |
865
|
0 |
1 |
unless $attestation_statement->{'sig'} |
874
|
0 |
1 |
unless ($attestation_statement->{'x5c'} and ref $attestation_statement->{'x5c'} eq "ARRAY" and $attestation_statement->{'x5c'}[0]) |
889
|
0 |
1 |
if $@ |
891
|
0 |
1 |
if ($attestation_key->key2hash->{'curve_name'} ne "secp256r1") |
908
|
0 |
1 |
if $@ |
918
|
1 |
0 |
if ($attestation_key->verify_message($sig, $verification_data, 'SHA256')) { } |