Codebase list libcryptx-perl / d2bf44b
avoid messing with key.type (it causes compiler warnings signed/unsigned mismatch) Karel Miko 4 years ago
2 changed file(s) with 8 addition(s) and 10 deletion(s). Raw diff Collapse all Expand all
1010 if (!RETVAL) croak("FATAL: Newz failed");
1111 RETVAL->initialized = 0;
1212 RETVAL->pindex = find_prng("chacha20");
13 RETVAL->key.type = -1;
1413 if (RETVAL->pindex == -1) {
1514 Safefree(RETVAL);
1615 croak("FATAL: find_prng('chacha20') failed");
4544 STRLEN data_len=0;
4645
4746 data = (unsigned char *)SvPVbyte(key_data, data_len);
48 self->key.type = -1;
47 self->initialized = 0;
4948 rv = ed25519_import(data, (unsigned long)data_len, &self->key);
5049 if (rv != CRYPT_OK) croak("FATAL: ed25519_import failed: %s", error_to_string(rv));
5150 self->initialized = 1;
6463 if (SvOK(passwd)) {
6564 pwd = (unsigned char *)SvPVbyte(passwd, pwd_len);
6665 }
67 self->key.type = -1;
66 self->initialized = 0;
6867 rv = ed25519_import_pkcs8(data, (unsigned long)data_len, pwd, (unsigned long)pwd_len, &self->key);
6968 if (rv != CRYPT_OK) croak("FATAL: ed25519_import_pkcs8 failed: %s", error_to_string(rv));
7069 self->initialized = 1;
8079 STRLEN data_len=0;
8180
8281 data = (unsigned char *)SvPVbyte(key_data, data_len);
83 self->key.type = -1;
82 self->initialized = 0;
8483 rv = ed25519_import_x509(data, (unsigned long)data_len, &self->key);
8584 if (rv != CRYPT_OK) croak("FATAL: ed25519_import_x509 failed: %s", error_to_string(rv));
8685 self->initialized = 1;
115114 int
116115 is_private(Crypt::PK::Ed25519 self)
117116 CODE:
118 if (self->initialized == 0 || self->key.type == -1) XSRETURN_UNDEF;
117 if (self->initialized == 0) XSRETURN_UNDEF;
119118 RETVAL = (self->key.type == PK_PRIVATE) ? 1 : 0;
120119 OUTPUT:
121120 RETVAL
1010 if (!RETVAL) croak("FATAL: Newz failed");
1111 RETVAL->initialized = 0;
1212 RETVAL->pindex = find_prng("chacha20");
13 RETVAL->key.type = -1;
1413 if (RETVAL->pindex == -1) {
1514 Safefree(RETVAL);
1615 croak("FATAL: find_prng('chacha20') failed");
4544 STRLEN data_len=0;
4645
4746 data = (unsigned char *)SvPVbyte(key_data, data_len);
48 self->key.type = -1;
47 self->initialized = 0;
4948 rv = x25519_import(data, (unsigned long)data_len, &self->key);
5049 if (rv != CRYPT_OK) croak("FATAL: x25519_import failed: %s", error_to_string(rv));
5150 self->initialized = 1;
6463 if (SvOK(passwd)) {
6564 pwd = (unsigned char *)SvPVbyte(passwd, pwd_len);
6665 }
67 self->key.type = -1;
66 self->initialized = 0;
6867 rv = x25519_import_pkcs8(data, (unsigned long)data_len, pwd, (unsigned long)pwd_len, &self->key);
6968 if (rv != CRYPT_OK) croak("FATAL: x25519_import_pkcs8 failed: %s", error_to_string(rv));
7069 self->initialized = 1;
8079 STRLEN data_len=0;
8180
8281 data = (unsigned char *)SvPVbyte(key_data, data_len);
83 self->key.type = -1;
82 self->initialized = 0;
8483 rv = x25519_import_x509(data, (unsigned long)data_len, &self->key);
8584 if (rv != CRYPT_OK) croak("FATAL: x25519_import_x509 failed: %s", error_to_string(rv));
8685 self->initialized = 1;
115114 int
116115 is_private(Crypt::PK::X25519 self)
117116 CODE:
118 if (self->initialized == 0 || self->key.type == -1) XSRETURN_UNDEF;
117 if (self->initialized == 0) XSRETURN_UNDEF;
119118 RETVAL = (self->key.type == PK_PRIVATE) ? 1 : 0;
120119 OUTPUT:
121120 RETVAL