| line |
true |
false |
branch |
|
11
|
0 |
2 |
if (!RETVAL) croak("FATAL: Newz failed"); |
|
15
|
0 |
2 |
if (RETVAL->pindex == -1) { |
|
21
|
0 |
2 |
if (rv != CRYPT_OK) { |
|
38
|
0 |
1 |
if (rv != CRYPT_OK) croak("FATAL: ed25519_make_key failed: %s", error_to_string(rv)); |
|
40
|
0 |
1 |
XPUSHs(ST(0)); /* return self */ |
|
54
|
0 |
0 |
if (rv != CRYPT_OK) croak("FATAL: ed25519_import failed: %s", error_to_string(rv)); |
|
56
|
0 |
0 |
XPUSHs(ST(0)); /* return self */ |
|
70
|
0 |
0 |
if (SvOK(passwd)) { |
|
76
|
0 |
0 |
if (rv != CRYPT_OK) croak("FATAL: ed25519_import_pkcs8 failed: %s", error_to_string(rv)); |
|
78
|
0 |
0 |
XPUSHs(ST(0)); /* return self */ |
|
93
|
0 |
0 |
if (SvOK(passwd)) { |
|
99
|
0 |
0 |
if (rv != CRYPT_OK) croak("FATAL: pem_decode_pkcs failed: %s", error_to_string(rv)); |
|
100
|
0 |
0 |
if (key_from_pem.id != LTC_PKA_ED25519) { |
|
106
|
0 |
0 |
XPUSHs(ST(0)); /* return self */ |
|
121
|
1 |
2 |
if (SvOK(passwd)) { |
|
127
|
0 |
3 |
if (rv != CRYPT_OK) croak("FATAL: pem_decode_openssh failed: %s", error_to_string(rv)); |
|
128
|
0 |
3 |
if (key_from_pem.id != LTC_PKA_ED25519) { |
|
134
|
0 |
3 |
XPUSHs(ST(0)); /* return self */ |
|
148
|
0 |
0 |
if (rv != CRYPT_OK) croak("FATAL: ed25519_import_x509 failed: %s", error_to_string(rv)); |
|
150
|
0 |
0 |
XPUSHs(ST(0)); /* return self */ |
|
161
|
3 |
0 |
if (SvOK(key)) { |
|
165
|
2 |
1 |
if (which == 0) { |
|
168
|
1 |
0 |
else if (which == 1) { |
|
174
|
0 |
3 |
if (rv != CRYPT_OK) croak("FATAL: ed25519_import_raw failed: %s", error_to_string(rv)); |
|
176
|
0 |
3 |
XPUSHs(ST(0)); /* return self */ |
|
182
|
0 |
6 |
if (self->initialized == 0) XSRETURN_UNDEF; |
|
183
|
4 |
2 |
RETVAL = (self->key.type == PK_PRIVATE) ? 1 : 0; |
|
196
|
0 |
9 |
if (self->initialized == 0) XSRETURN_UNDEF; |
|
199
|
5 |
4 |
if (self->key.type == PK_PRIVATE) { |
|
202
|
0 |
5 |
if (rv != CRYPT_OK) { zeromem(buf, sizeof(buf)); croak("FATAL: base16_encode failed: %s", error_to_string(rv)); } |
|
211
|
0 |
9 |
if (rv != CRYPT_OK) { zeromem(buf, sizeof(buf)); croak("FATAL: base16_encode failed: %s", error_to_string(rv)); } |
|
230
|
0 |
0 |
if (strEQ(type, "private")) { |
|
232
|
0 |
0 |
if (rv != CRYPT_OK) { zeromem(out, sizeof(out)); croak("FATAL: ed25519_export(PK_PRIVATE|PK_STD) failed: %s", error_to_string(rv)); } |
|
235
|
0 |
0 |
else if (strEQ(type, "public")) { |
|
237
|
0 |
0 |
if (rv != CRYPT_OK) { zeromem(out, sizeof(out)); croak("FATAL: ed25519_export(PK_PUBLIC|PK_STD) failed: %s", error_to_string(rv)); } |
|
257
|
0 |
0 |
if (strEQ(type, "private")) { |
|
259
|
0 |
0 |
if (rv != CRYPT_OK) { zeromem(out, sizeof(out)); croak("FATAL: ed25519_export(PK_PRIVATE) failed: %s", error_to_string(rv)); } |
|
262
|
0 |
0 |
else if (strEQ(type, "public")) { |
|
264
|
0 |
0 |
if (rv != CRYPT_OK) { zeromem(out, sizeof(out)); croak("FATAL: ed25519_export(PK_PUBLIC) failed: %s", error_to_string(rv)); } |
|
286
|
0 |
0 |
if (rv != CRYPT_OK) { zeromem(buffer, sizeof(buffer)); croak("FATAL: ed25519_sign failed: %s", error_to_string(rv)); } |
|
306
|
0 |
0 |
if (rv == CRYPT_OK && stat == 1) RETVAL = 1; |
|
|
0 |
0 |
if (rv == CRYPT_OK && stat == 1) RETVAL = 1; |
|
322
|
0 |
0 |
if (ctx_len > 255) croak("FATAL: context must be at most 255 bytes"); |
|
325
|
0 |
0 |
if (rv != CRYPT_OK) croak("FATAL: ed25519ctx_sign failed: %s", error_to_string(rv)); |
|
343
|
0 |
0 |
if (ctx_len > 255) croak("FATAL: context must be at most 255 bytes"); |
|
348
|
0 |
0 |
if (rv == CRYPT_OK && stat == 1) RETVAL = 1; |
|
|
0 |
0 |
if (rv == CRYPT_OK && stat == 1) RETVAL = 1; |
|
363
|
0 |
0 |
if (items > 2 && SvOK(ST(2))) { |
|
|
0 |
0 |
if (items > 2 && SvOK(ST(2))) { |
|
365
|
0 |
0 |
if (ctx_len > 255) croak("FATAL: context must be at most 255 bytes"); |
|
369
|
0 |
0 |
if (rv != CRYPT_OK) croak("FATAL: ed25519ph_sign failed: %s", error_to_string(rv)); |
|
386
|
0 |
0 |
if (items > 3 && SvOK(ST(3))) { |
|
|
0 |
0 |
if (items > 3 && SvOK(ST(3))) { |
|
388
|
0 |
0 |
if (ctx_len > 255) croak("FATAL: context must be at most 255 bytes"); |
|
394
|
0 |
0 |
if (rv == CRYPT_OK && stat == 1) RETVAL = 1; |
|
|
0 |
0 |
if (rv == CRYPT_OK && stat == 1) RETVAL = 1; |
|
402
|
2 |
0 |
if (self->pindex >= 0 && prng_is_valid(self->pindex) == CRYPT_OK && prng_descriptor[self->pindex].done) { |
|
|
2 |
0 |
if (self->pindex >= 0 && prng_is_valid(self->pindex) == CRYPT_OK && prng_descriptor[self->pindex].done) { |
|
|
2 |
0 |
if (self->pindex >= 0 && prng_is_valid(self->pindex) == CRYPT_OK && prng_descriptor[self->pindex].done) { |